程序的代码如下:
1、在”StdAfx.h”文件中导入库:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
2、在类里添加成员变量:
_ConnectionPtr m_pCnn;
3、连接数据库:
m_pCnn.CreateInstance(__uuidof(Connection)); try{ m_pCnn->ConnectionTimeout = 5; //设置连接时间 m_pCnn->Open(_bstr_t(sConn),strUserID,strPwd,adModeUnknown); return true; } catch(_com_error e){ AfxMessageBox(e.Description()); return false; }
在调试时如果出现以下错误:
1、”未找到oracle 客户端和网络组件”
这可能是由于运程程序的电脑上没有Oracle的客户端,需要安装上
2、”发生了一个Oracle错误,但无法从Oracle中检索错误“
这个可能是由于你的电脑是X64位的,程序无法在注册表中找到
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1]
ORACLE_HOME的值
因为安装时,该值被写入到了:
[HKEY_LOCAL_MACHINE\SOFTWARE\[color=#FF0000]Wow6432Node[/color]\ORACLE\KEY_OraDb11g_home1]
手动加上,重启电脑即可,如下图:
ORACLE_HOME的值是你安装Oracle的目录
3、“Error while trying to retrieve text for error ORA-01019″
给ORACLE_HOME的值所指定的目录添加Net service用户的”读取和运行”权限