连接Oracle时发生Vb脚本错误

连接Oracle时发生Vb脚本错误,oracle,vbscript,Oracle,Vbscript,我正在尝试通过vbscipt(.vbs文件)连接到oracle数据库。但是,我面临以下错误,即使我尝试了所有可能的提供商组合,但在很长一段时间内都无法解决。这是我的密码: Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") strConnect = "Provider=MSDAORA.1; CONNECTSTRING=(DESCRIPTION= (CONNECT_DATA=(SERV

我正在尝试通过vbscipt(.vbs文件)连接到oracle数据库。但是,我面临以下错误,即使我尝试了所有可能的提供商组合,但在很长一段时间内都无法解决。这是我的密码:

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
strConnect = "Provider=MSDAORA.1; CONNECTSTRING=(DESCRIPTION=
(CONNECT_DATA=(SERVICE_NAME=SIH_PROD)) (CONNECT_DATA=(SERVICE_NAME=SIH_PROD))
(HOST=&host id &)(PORT= &port no&))) ;User ID=Vinod;Password=Vinodhp123" 
cn.open strConnect
我使用tnsping获得了连接字符串值。我收到错误“未找到提供程序”,有时“提供程序不可加载”

请帮我找出问题所在

问候,, 根据连接字符串,Vinod应如下所示:

strConnect = "SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" & _
             "(HOST=" & host & ")(PORT=" & port & "))" & _
             "(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));" & _
             "uid=myUsername;pwd=myPassword;"
SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID));
uid=我的用户名;pwd=我的密码;
如果主机名和端口号是VBScript变量,则需要将它们连接到连接字符串的其余部分,如下所示:

strConnect = "SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)" & _
             "(HOST=" & host & ")(PORT=" & port & "))" & _
             "(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));" & _
             "uid=myUsername;pwd=myPassword;"

因为VBScript不会在字符串中展开变量。

您好,谢谢您的评论。现在我试着用你的方式。但它仍然显示出同样的错误。这是我的代码:strConnect=“Provider=MSDAORA.1;SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)&”(HOST=44.139.1.134)(PORT=1237));“&”(CONNECT_DATA=(SERVICE_NAME=SIH_PROD));”&“uid=vinod;pwd=vinodhp123;”没有
Provider=MSDAORA.1在示例中。如果我在没有提供程序的情况下使用代码,则会显示未找到的数据:无Deafolt驱动程序听起来好像提供程序/驱动程序未安装(正确)。如果您有64位系统(例如64位驱动程序和32位脚本解释器,反之亦然),也可能是一个架构问题。您好..有没有找到正确的提供程序的想法???…仍然..当我在vba中使用此提供程序时,它正在连接,但问题只出现在vb脚本中