我在本地运行Oracle 11g数据库。我有一个小程序通过VC++的OLEDB在代码中连接到它(它只运行一些数据库测试,我确信在进入真实的事物之前我已经掌握了所有的基础知识)。代码中的连接信息仅包括提供者,实例名称,用户名和密码。所有这些方面工作正常。如何设置OLEDB连接到远程数据库?
//For example, both these ways of connecting work:
result = dataSource.Open(DATABASE_PROVIDER, DATABASE_NAME,
DATABASE_USER_NAME, DATABASE_USER_PASSWORD);
result = dataSource.OpenFromInitializationString(L"Provider=OraOLEDB.OracleDataSource=orcl;User ID=SYSTEM;Password=admin;");
我现在想这个程序发送到其他计算机在我的网络,并从那里运行它,连接到我的数据库我的本地机器上。
我该如何去将其他计算机连接到我的数据库,以便代码能够理解?
我一直在试图通过IP本地连接而不是“本地主机”,确定我可以简单地使用相同的代码和客户端。在这方面,我尝试了一些没有成功的事情:
- 我试图修改连接字符串以将“数据源”更改为我的IP,但它无法连接。
- 我曾尝试从其他连接字符串示例中添加一些参数,但它们不适用于Oracle并且被忽略。
- 我也尝试修改tnsnames.ora和listener.ora将本地主机更改为IP地址,但我知道这并不起作用,因为如果我输入垃圾它仍会连接。
任何人都有知识可以帮忙吗?
您正在安装代码的其他计算机是否安装了Oracle客户端?如果是这样,哪个版本(即时客户端,完整客户端等)?这些机器是否有tnsnames.ora条目,指向要连接的任何数据库? – 2012-01-13 22:42:51
他们没有在其他机器上安装过任何东西,但我确实希望安装它们。在这些客户端中修改我的tnsnames.ora会解决我的问题吗?如果是这样,为什么不在本地机器上调用tnsnames.ora在本地更改任何内容? – Paradoxyde 2012-01-14 06:19:28