資源描述:
《2012年軟考程序員輔導(dǎo)vc中用ado連接oracle的方法.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、2012年軟考程序員輔導(dǎo):vc中用ado連接oracle的方法在利用ado連接數(shù)據(jù)庫(kù)之前,需要做一些準(zhǔn)備 1.用#import指令引入ADO類型庫(kù) 我們?cè)趕tdafx.h中加入如下語(yǔ)句: #import“c:programfilescommonfilessystemadomsado15.dll”no_namespacerename(“EOF”,“adoEOF”). 這一語(yǔ)句有何作用呢?其最終作用同我們熟悉的#include類似,編譯的時(shí)候系統(tǒng)會(huì)為我們生成msado15.tlh,ado15.tli兩個(gè)C++頭文件來(lái)定義ADO庫(kù)。 幾點(diǎn)說(shuō)明: ?。?)您的環(huán)境中msado15.dll
2、不一定在這個(gè)目錄下,請(qǐng)按實(shí)際情況修改 ?。?)在編譯的時(shí)候肯能會(huì)出現(xiàn)如下警告,對(duì)此微軟在MSDN中作了說(shuō)明,并建議我們不要理會(huì)這個(gè)警告。msado15.tlh(405):warningC4146:unaryminusoperatorappliedtounsignedtype,resultstillunsigned 2、初始化OLE/COM庫(kù)環(huán)境 必須注意的是,ADO庫(kù)是一組COM動(dòng)態(tài)庫(kù),這意味應(yīng)用程序在調(diào)用ADO前,必須初始化OLE/COM庫(kù)環(huán)境。在MFC應(yīng)用程序里,一個(gè)比較好的方法是在應(yīng)用程序主類的InitInstance成員函數(shù)里初始化OLE/COM庫(kù)環(huán)境?! OOLCMyAdo
3、TestApp::InitInstance() { if(!AfxOleInit())//這就是初始化COM庫(kù) { AfxMessageBox(“OLE初始化出錯(cuò)!”); returnFALSE; } } 3.ADO庫(kù)包含三個(gè)基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。與數(shù)據(jù)庫(kù)的連接就是用_ConnectionPtr接口,它的連接字符串可以是自己直接寫,也可以指向一個(gè)ODBCDSN.以下的例子都測(cè)試通過(guò),順便寫了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對(duì)象 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)安全級(jí)別 //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)安全級(jí)別 //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