VBS - 使用ADODB打开连接时出错

时间:2014-04-17 18:53:09

标签: vbscript adodb

我在使用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"

1 个答案:

答案 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"

并等待错误。