資源描述:
《2012年軟考程序員輔導(dǎo)vc中用ado連接oracle的方法.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、2012年軟考程序員輔導(dǎo):vc中用ado連接oracle的方法在利用ado連接數(shù)據(jù)庫之前,需要做一些準(zhǔn)備 1.用#import指令引入ADO類型庫 我們在stdafx.h中加入如下語句: #import“c:programfilescommonfilessystemadomsado15.dll”no_namespacerename(“EOF”,“adoEOF”). 這一語句有何作用呢?其最終作用同我們熟悉的#include類似,編譯的時候系統(tǒng)會為我們生成msado15.tlh,ado15.tli兩個C++頭文件來定義ADO庫?! c說明: ?。?)您的環(huán)境中msado15.dll
2、不一定在這個目錄下,請按實際情況修改 ?。?)在編譯的時候肯能會出現(xiàn)如下警告,對此微軟在MSDN中作了說明,并建議我們不要理會這個警告。msado15.tlh(405):warningC4146:unaryminusoperatorappliedtounsignedtype,resultstillunsigned 2、初始化OLE/COM庫環(huán)境 必須注意的是,ADO庫是一組COM動態(tài)庫,這意味應(yīng)用程序在調(diào)用ADO前,必須初始化OLE/COM庫環(huán)境。在MFC應(yīng)用程序里,一個比較好的方法是在應(yīng)用程序主類的InitInstance成員函數(shù)里初始化OLE/COM庫環(huán)境?! OOLCMyAdo
3、TestApp::InitInstance() { if(!AfxOleInit())//這就是初始化COM庫 { AfxMessageBox(“OLE初始化出錯!”); returnFALSE; } } 3.ADO庫包含三個基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。與數(shù)據(jù)庫的連接就是用_ConnectionPtr接口,它的連接字符串可以是自己直接寫,也可以指向一個ODBCDSN.以下的例子都測試通過,順便寫了SQLServer的例子。 BOOLCTestconDlg::ConnectDatabase() {
4、 CStringm_server,m_data,m_uid,m_pwd; m_server=“192.168.0.24”;//服務(wù)器ip或名稱 m_data=“crmdb”;//ODBC數(shù)據(jù)源 m_uid=“njcrm”;//用戶名 m_pwd=“crmdbo”;//密碼 BOOLretFt=false; HRESULThr; try { hr=m_pConnection.CreateInstance(“ADODB.Connection”);///創(chuàng)建Connection對象 if(SUCCEEDED(hr)) { _bstr_tconnStr; m_pConn
5、ection->CursorLocation=adUseClient; //begin---------------OracleODBC配置數(shù)據(jù)源 //控制面板->管理工具->數(shù)據(jù)源(ODBC)->系統(tǒng)DNS->添加->MicrosoftODBCforOracle->完成->配置…… //connStr=“DSN=”+m_data; //m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified); //end---------------OracleODBC配置數(shù)
6、據(jù)源 //begin---------------Oracle標(biāo)準(zhǔn)安全級別 //connStr=“Provider=OraOLEDB.Oracle;UserID=njcrm;Password=crmdbo;DataSource=192.168.0.24;”; //m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified); //end---------------Oracle標(biāo)準(zhǔn)安全級別 //begin---------------Oracle微軟格式 //
7、connStr=“Provider=MSDAORA.1;UserID=njcrm;Password=crmdbo;DataSource=192.168.0.24;PersistSecurity Info=False”; //m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(“”),(_bstr_t)_T(“”),adConnectUnspecified); //end