测试环境:在本地局域网内远程连接服务器端的oracle数据库,VS2013、ADO方式。
2、本地安装oracle数据库客户端,具体是安装32位还是64位的数据库客户端,取决于我们编译的程序是32位的还是64位的(和计算机的系统位数没有关系),也就是32位的程序要安装32位的oracle数据库客户端,64位的程序要安装64位的数据库客户端,程序的位数如下面:主要看平台那里是X64(64位)还是win32(32位)。
我这里将程序编译成64位,所以要安装64位的oracle客户端,下载地址:https://www.oracle.com/database/technologies/instant-client/downloads.html
客户端安装完成后,需要配置监听和本地服务:
(1)、监听使用如下程序:
(2)、本地服务使用如下程序配置:
配置数据源,因为前面安装的是64位的数据库,这里我们应该64位的数据源管理器进行配置,这里要注意system32中是64位的数据源管理器,syswow64中的是32位的数据源管理器:
获取ADO连接oracle数据库的字符串:
(1)、新建一个:连接.txt 文件,并改为:连接.udl,双击:
(2)将:连接.udl 改回:连接的.txt,打开:连接.txt文件,查看连接字符串:
编写代码进行连接测试:
void CoraTestDlg::OnBnClickedButton1()
{
CADODatabase* m_pDatabase = new CADODatabase();
char szConnect[MAX_PATH] = { 0 };
sprintf(szConnect, "Provider=MSDASQL.1;Password=***;Persist Security Info=True;User ID=****;Data Source=test");
if (m_pDatabase->Open(szConnect))
{
AfxMessageBox("数据库连接成功");
return ;
}
else
{
AfxMessageBox("数据库连接失败.");
}
}
上面使用的是Carlos Antollini的ADO封装类2.09版本,下载地址:https://www.codeproject.com/Articles/1075/A-set-of-ADO-classes-version-2-20#Sample07