Sql “0x7c910a19”处的指令引用了“OxFFFFFF”处的内存。无法“读取”内存
0x7c910a19处的指令引用了OxFFFFFF处的内存。内存无法读取 我有一个小问题,我在.vbs终止之前收到了上面的错误。我不知道为什么会抛出这个错误。下面是.vbs文件的处理过程:Sql “0x7c910a19”处的指令引用了“OxFFFFFF”处的内存。无法“读取”内存,sql,oracle,vbscript,scheduled-tasks,Sql,Oracle,Vbscript,Scheduled Tasks,0x7c910a19处的指令引用了OxFFFFFF处的内存。内存无法读取 我有一个小问题,我在.vbs终止之前收到了上面的错误。我不知道为什么会抛出这个错误。下面是.vbs文件的处理过程: Call ImportTransactions() Call UpdateTransactions() Function ImportTransactions() Dim objConnection, objCommand, objRecordset, strOracle Dim strSQL,
Call ImportTransactions()
Call UpdateTransactions()
Function ImportTransactions()
Dim objConnection, objCommand, objRecordset, strOracle
Dim strSQL, objRecordsetInsert
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "DSN=*****;UID=*****;PWD==*****;"
Set objCommand = CreateObject("ADODB.Command")
Set objRecordset = CreateObject("ADODB.Recordset")
strOracle = "SELECT query here from Oracle database"
objCommand.CommandText = strOracle
objCommand.CommandType = 1
objCommand.CommandTimeout = 0
Set objCommand.ActiveConnection = objConnection
objRecordset.cursorType = 0
objRecordset.cursorlocation = 3
objRecordset.Open objCommand, , 1, 3
If objRecordset.EOF = False Then
Do Until objRecordset.EOF = True
strSQL = "INSERT query here into SQL database"
strSQL = Query(strSQL)
Call RunSQL(strSQL, objRecordsetInsert, False, conTimeOut, conServer, conDatabase, conUsername, conPassword)
objRecordset.MoveNext
Loop
End If
objRecordset.Close()
Set objRecordset = Nothing
Set objRecordsetInsert = Nothing
End Function
Function UpdateTransactions()
Dim strSQLUpdateVAT, strSQLUpdateCodes
Dim objRecordsetVAT, objRecordsetUpdateCodes
strSQLUpdateVAT = "UPDATE query here SET [value:costing output] = ([value:costing output] * -1)"
Call RunSQL(strSQLUpdateVAT, objRecordsetVAT, False, conTimeOut, conServer, conDatabase, conUsername, conPassword)
strSQLUpdateCodes = "UPDATE query here SET [value:costing output] = ([value:costing output] * -1) different WHERE clause"
Call RunSQL(strSQLUpdateCodes, objRecordsetUpdateCodes, False, conTimeOut, conServer, conDatabase, conUsername, conPassword)
Set objRecordsetVAT = Nothing
Set objRecordsetUpdateCodes = Nothing
End Function
UDPATE:如果我在打开连接后退出函数,请参见下文,它仍然会导致相同的错误
Function ImportTransactions()
Dim objConnection, objCommand, objRecordset, strOracle
Dim strSQL, objRecordsetInsert
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "DSN=*****;UID=*****;PWD==*****;"
Set objCommand = CreateObject("ADODB.Command")
Set objRecordset = CreateObject("ADODB.Recordset")
Exit Function
End Function
它同时进行导入和更新,并且似乎会在之后抛出此错误
提前感谢您的帮助
Clare以下修复对我有效:我创建了一个.bat文件并添加了以下行cscript vbsFile.vbs您应该缩小到有问题的行…Mitch Wheat:错误似乎在ImportTransactions中,但是,我为另一个vbs文件生成了类似的代码,这不会引发任何错误。您可以附加一个调试器并查看调用堆栈或在0x7c910a19加载的任何模块吗?错误是否在VBScript或ADO COM对象或Oracle驱动程序中?我不确定这是否真的有帮助,但某处有人反对你给出的参数,知道是什么可能会有用。您可以在其他东西(例如sqlplus)中运行相同的SQL吗?您可以在ImportTransactions中运行更简单的SQL,或者对另一个数据库运行相同的SQL吗?刚刚发现了scheduled tasks标记:这只是作为计划作业失败,还是从命令行运行时也失败?如果只是计划的作业,那么可能会有一些额外的错误,但是没有一个看起来那么可能。当从cmd运行时,它会抛出相同的错误