我的机器上没有安装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
答案 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位终端中使用该驱动程序及其对应的连接字符串。如果您弄错了组合,您将遇到各种错误。
长答案:我遇到了同样的问题,花了几天时间试图使其正常工作。在这里,我发布了详细的逐步答案,说明如何使其正常工作。