无法使用VBS连接到Oracle DB

时间:2016-03-09 09:56:29

标签: oracle vbscript oracle11g adodb

我的机器上没有安装oracle DB。 DB位置在UNIX计算机上。我想在位于其他VM上的DB中运行插入查询。我编写了一个使用VB脚本的代码,但在运行时却抛出了一个错误。请帮我。以下是我的代码:

'Save the file with <filename>.vbs

Set dbMyDBConnection = CreateObject(“ADODB.Connection”)
ConnectionString = “(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.16.31)(PORT=1521)))(CONNECT_DATA=(SID=PUNDEV11)))”

strConnection = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & ConnectionString & “;Jet OLEDB:Database Password=” & strPassword & “;User ID=” & strUsername & “;Password=” & strPassword & “;”

dbMyDBConnection.Open strConnection

另外,我检查了将提供程序替换为Microsoft.Jet.OLEDB.12.0和OraOLEDB.Oracle。

我正在使用Windows 7 64位平台。

错误:

  

无法找到提供商。它可能没有正确安装。代码:800A0E7A来源:ADODB.Connection

2 个答案:

答案 0 :(得分:1)

提供商Microsoft.Jet.OLEDB.x用于连接MS Access数据库。

您必须使用&#34; Oracle Provider for OLE DB&#34;供应商。会是这样的:

ConnectionString = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.16.31)(PORT=1521)))(CONNECT_DATA=(SID=PUNDEV11)))"

Set dbMyDBConnection = CreateObject("ADODB.Connection")
dbMyDBConnection.provider = "OraOLEDB.Oracle"    
dbMyDBConnection.Open "Data Source=" & ConnectionString , strUsername , strPassword 

用于Oracle的&#34; Microsoft OLE DB提供程序&#34;也应该是可能的。但是,它已经deprecated多年,并且仅适用于32位。

dbMyDBConnection.provider = "MSDAORA"

答案 1 :(得分:0)

简短的回答:您需要安装32位驱动程序,并需要从此处在32位终端中使用该驱动程序及其对应的连接字符串。如果您弄错了组合,您将遇到各种错误。

长答案:我遇到了同样的问题,花了几天时间试图使其正常工作。在这里,我发布了详细的逐步答案,说明如何使其正常工作。

How to connect to oracle database using VBScript and UFT?