我在使用VBScript中的ADODB对象尝试连接我的oracle数据库时遇到问题,代码正在Win7机器上运行但在WinXP上没有,我试图搜索错误代码,下载sdk与帮助文件寻找的东西,但我没有发现任何有用的东西。
以下是代码示例:
ConnectionString = "DSN=(Oracle in OraClient11g_home1);UID=username ;PWD=password ;DBQ=myDatabase"
Set objCon = CreateObject("ADODB.Connection")
objCon.Open ConnectionString 'the error occurs in this line
我不知道winXP机器的连接字符串是否必须不同......我真的不知道如何解决这个问题,有人可以帮助我吗?
错误跟踪信息:
"Error #-2147024770:
Error reported by: ADODB.Connection
Help File:
Topic ID: 1240640"
答案 0 :(得分:1)
-2147024770 = FFFFFFFF8007007E
解码0x8007nnnn错误
设施代码为7的HResults表示HResult包含Windows的错误代码。你必须查找Windows的错误代码而不是HResult。
解码0x8007007e。 0x表示它是十六进制数字,8表示错误,前7表示窗口错误,其余数字7e表示实际Windows错误。
要查找错误,我们需要十进制格式。启动计算器(开始 - 所有程序 - 附件 - 计算器)并选择查看菜单 - 科学,然后选择查看菜单 - 十六进制。输入7e。然后查看菜单 - 十进制。它会说126。
启动命令提示符(开始 - 所有程序 - 附件 - 命令提示符)并键入
net helpmsg 126
它会说
The specified module could not be found.
或在winerror.h中查找。
//
// MessageId: ERROR_MOD_NOT_FOUND
//
// MessageText:
//
// The specified module could not be found.
//
#define ERROR_MOD_NOT_FOUND 126L
要查看正在发生的事情,请在ntsd中启动您的程序。
启动命令提示符。
类型
md c:\symbols
set _NT_SYMBOL_PATH=srv*C:\tmp*http://msdl.microsoft.com/download/symbols;c:\symbols
然后(从记事本更改为您的程序)
ntsd -g -o c:\windows\notepad.exe
所以
ntsd -g -o wscript "c:\folder\script.vbs"
并等待错误。