VS2008 ADO方式连接ORACLE数据库
1.ADO对象的导入
导入方式如下所述
1.#import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","adoEOF")rename("BOF","adoBOF")
2.#import"C:\ProgramFiles\CommonFiles\System\ADO\msado60.tlb"named_guidsrename("EOF","adoEOF"),rename("BOF","adoBOF")
using namespace ADODB;//此处应指明ADODB
3.#import "c:\\program files\\commonfiles\\system\\ado\\msado20.tlb"no_namespace
rename("EOF","adoEOF")
2.初始化COM组件
ADO库是一个COM动态库,所以应初始化组件:
::CoInitialize(NULL);//初始化COM环境
::CoUninitialize(); //在程序最后还要释放COM环境
3.连接数据库
m_pConnection.CreateInstance(__uuidof(Connection));
ASSERT(m_pConnection!= NULL);
CString strConnect="Provider=OraOLEDB.Oracle.1;Data Source=Server; Persist Security Info=True; User ID=用户;Password=密码";
try
{
return (m_pConnection->Open(_bstr_t(LPCTSTR(strConnect)), "", "", adModeUnknown)== S_OK);
}
catch(_com_error e)
{
TRACE(_T("Error: 连接数据库发生异常. 错误信息: %s; 文件: %s; 行: %d\n"), e.ErrorMessage(),__FILE__, __LINE__);
returnFALSE;
}
catch (...)
{
TRACE(_T("Error:连接数据库时发生未知错误:"));
}
4.操作数据库
使用智能指针操作,自能指针包括连接对象指针(_ConnectionPtr)、记录集对象指针(_RecordsetPtr)和命令对象指针(_CommandPtr)。通过这些指针可以很容易的创建和删除ADO对象。
智能指针声明:
_RecordsetPtr m_pRecordset;
然后通过CreateInstance函数创建对象实例,代码如下:
//方法一
m_pRecordset.CreateInstance(__uuidof(Recordset));
//方法二
<pre name="code"class="cpp">m_pRecordset.CreateInstance("ADODB.Connection");