使用通用數據連接文件(*.UDL,以下簡稱文件)來創建ADO連接,可以和ODBC一樣可視化地定義要連接的數據源,從而實現數據訪問的透明性。
1.使用UDL文件來創建ADO連接
創建ADO的連接,首先要設置ADO連接對象的ConnectionString屬性,該屬性提供所要連接的數據庫類型、數據所處服務器、要訪問的數據庫和數據庫訪問的安全認證信息。比較專業的方法是在ConnectionString中直接提供以上信息,下面是訪問不同類型數據源設置ConnectionString的標准:
訪問ODBC數據
"Provider=MSDASQL;DSN=dsnName;UID=userName;PWD=userPassWord;"
訪問Oracle數據庫
"Provider=MSDAORA;Data Source=serverName;User ID=userName; Password=userPassword;"
訪問MS SQL數據庫
"Provider=SQLOLEDB;Data Source=serverName;Initial Catalog=databaseName; User ID=userName;Password=userPassword;"
訪問Access 數據庫
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=userName;Password=userPassword;"
上述的連接屬性設置標准隨著數據源的類型不同而變化,軟件用戶經常不習慣這種設置方式,都希望有可視化的數據源設置方法。為此Microsoft提供了通用數據連接文件(.UDL)來建立和測試ADO連接屬性。ADO連接對象可以很方便地使用UDL文件來連接數據源,下面例子使用my_data1.udl來創建ADO連接。
_ConnectionPtr m_pDBConn;
m_pDBConn.CreateInstance(__uuidof(Connection));
m_pDBConn->ConnectionString ="File Name=c:mydirmy_data1.udl";
m_pDBConn->Open("","","",NULL);
這樣一來無論數據源如何變化,在軟件中都可以用統一的方法編程。當數據源改變時,只要雙擊相應的udl文件即可可視化地設置數據源,無需更改軟件。
因為ADO是COM接口,為了軟件的可靠性,打開ADO連接時,可以加入異常處理代碼。
try{
m_pDBConn->Open("","","",NULL);
}catch(_com_error &e){
//處理異常的代碼
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
m_pDBConn=NULL;
}
因為_ConnectionPtr m_pDBConn是智能指針,應在處理異常代碼時將智能指針設為NULL後將自動將引用計數降為0。
假如不出現異常,只要在使用完m_pDBConn,只要引用Close方法即可。
2.創建你所需的UDL文件
在你所想創建UDL文件的目錄中單擊右鍵,選擇從菜單 新建Microsoft 數據連接,然後將新創建的UDL文件更改為你所希望的文件名(.UDL擴展名不能改變)。
注:假如操作系統是Window 2000,先創建一個文本文件,再將該文本文件的擴展名改為 "udl"。
然後雙擊所創建的UDL文件,即可視化地完成數據源的設定。
使用UDL文件必須在系統中先安裝Microsoft MDAC,Win 98第二版,Win 2000中都自動包含了該組件,需要該組件最新版本時可以到Microsoft網站去下載。