我试图通过添加一个简单的错误记录子例程来更新一些遗留的VB6代码,该子例程使用ADO将一行插入到SQL Server表中,其中包含错误的基本详细信息。子例程接收标识错误类型的整数参数值(errorCode
)。解析XML文件时将发生错误。XML文件名(通过objFile.Name
获得)将与日期、用户名和errorCode
参数值一起记录。
下面的代码显示了我到目前为止所处的位置。我试图插入的表如下所示:
[dbo].[tblXMLerrorLog](
[errorLogID] [int] IDENTITY(1,1) NOT NULL,
[runDate] [datetime2](0) NULL,
[runBy] [nvarchar](255) NULL,
[xmlFileWithError] [nvarchar](255) NULL,
[errorCode] [int] NULL)
Sub writeErrorLog(errorCode As Integer)
strSQL = "INSERT INTO dbo.tblXMLerrorLog (runDate, runBy, xmlFileWithError, errorCode)
VALUES(GetDate(), Current_User,?,?);"
With cmd
.CommandType = adCmdText
.CommandText = strSQL
Set par1 = .CreateParameter("@xmlFileWithError", adChar, adParamInput, 50, objFile.Name)
.Parameters.Append par1
Set par2 = .CreateParameter("@errorCode", adInteger, adParamInput, , errorCode)
.Parameters.Append par2
.ActiveConnection = Cnxn
.Execute ' update error log
.Parameters.Delete ("@xmlFileWithError")
.Parameters.Delete ("@errorCode")
End With
End Sub
当我运行代码时,.Execute
语句抛出这个错误:
“多步OLE DB操作生成错误。请检查每个OLE DB状态值(如果可用)。未完成任何工作。”
我对该错误消息的研究表明字段大小不匹配,但我不理解这一点。如果有任何指示我会很感激。
https://stackoverflow.com/questions/56980158
复制相似问题