连接string连接到远程Oracle 11g

我需要从VBA连接到远程Oracle服务器。 我不想安装任何额外的驱动程序或软件连接,因为我需要将Excel分发给团队。

我尝试了几个连接string,如SQL_HANDLE_ENV failed 。 或者Oracle client and networking components not found. 或者在使用OraOLEDB.Oracle我没有findProvider。

连接string到目前为止:

  "Driver={Microsoft ODBC for Oracle}; CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=servicename))); uid=username; pwd=Password;" "PROVIDER=MSDAORA.Oracle;DATA SOURCE=hostname;USER ID=username;PASSWORD=Password" "PROVIDER=MSDAORA;DATA SOURCE=hostname;USER ID=username;PASSWORD=Password" "Driver={Oracle in OraClient11g_home1};Dbq=servicename;Uid=username;Pwd=Password;" "Provider=OraOLEDB.Oracle;Data Source=hostname;User Id=username;Password=Password;" 

有一些预先定义的驱动程序在Windows中我想。 但是,它不适用于甲骨文? 我使用Windows 8的任何帮助极大赞赏..

我做了更多的研究,并且遇到了ODP.net。 所以我认为的结论是使用Oracle即时客户端或ODP.net。 但我不知道如果任何.NET应用程序如ODP.net将工作,没有.NET框架。 请让我知道是否有人遇到这个。

几乎每个提供者都需要安装一个Oracle客户端。 JDBC例外是Java,在VBA / Excel和ODP.NET Mananged Driver中不起作用。 但是,ODP.NET Mananged Driver是一个.NET程序集,它们不适用于在VBA / Excel中使用的COM。 你将不得不为自己编写包装器。

.NET框架是每个Windows安装的一部分,不应该担心。

顺便说一句,你是否添加参考Microsoft ActiveX Data Objects ...到您的VBA项目?

在这里输入图像说明

看起来你不能通过Oracle即时客户端。

尝试这个:

 Provider=MSDAORA.1;Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = SERVER0123)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = PRODDB)));User Id=USER_ID;Password=USER_ID_PASSWORD 

显然你需要更换服务器,用户名和密码。