如何配置 OraOLEDB 连接字符串

How to configure OraOLEDB connection string

我需要一些帮助来建立与 Oracle 数据库的连接。

我有一个 Excel VBA 应用程序使用以下工作连接字符串设置与现有 Oracle 数据库的正确连接:

Provider = OraOLEDB.Oracle; 
Data Source = XXXXSSA5; 
User Id = [USERNAME]; Password = [PASSWORD];

最近数据库被移动到新的本地化,以下连接字符串在 sqlplus 上工作正常,但是我不知道如何将它正确地表示为 OraOLEDB 连接字符串:

[USERNAME]/[PASSWORD]@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=symbol.server.company.net)(Port=1731))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DDDB1044_APP)))

我尝试用新数据填充最近的模板:

Provider = OraOLEDB.Oracle; 
Data Source = DDDB1044_APP; 
User Id = [USERNAME]; Password = [PASSWORD];

但是我想我需要以某种方式将主机名传递给连接字符串,可能还有端口,因为我收到消息:ORA-12154:TNS:could 未解析指定的连接标识符

通常您在 tnsnames.ora 文件中定义一个别名,如下所示:

DDDB1044_APP = (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=symbol.server.company.net)(Port=1731))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DDDB1044_APP)))

然后使用这个别名Data Source = DDDB1044_APP;

如果您不喜欢使用别名,那么只需将整个连接放到它上面即可:

Data Source = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=symbol.server.company.net)(Port=1731))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DDDB1044_APP)))"