在Visual Studio.NET Beta 1版本中訪問IBM DB2等非SQL Server數據庫通常是使用ADO.Net的ODBC方法,而在Beta 2中則改用OLE DB方式存取數據庫。
Beta1中連接字符串主要需聲明數據庫的ODBC的DNS名字,但Beta 2中的OLE DB連接的字符串就較復雜了,使用的類也不相同。由於DB2等數據庫在大型機等應用中使用非常廣泛,.Net自然會全力支持此類編程開發,為此,下文將逐步闡述OLE DB的DB2開發。
OLE DB for DB2驅動
首先,Visual Studio.Net和Windows 2000 Server中並未直接提供DB2的OLE DB驅動,因此需下載Microsoft Host Integration Server 2000軟件,該軟件包中含OLE DB Provider and ODBC driver for DB2,需下載Server端軟件包,並在安裝時選擇安裝Data Integration,安裝完成後就可使用其OLE DB的DB2驅動了。
設置數據庫連接
首先,我們需配置好DB2的客戶端設置,打開視圖選單項中的服務器資源管理器,在其數據連接中新增一個連接,指定程序選項時選擇Microsoft OLE DB Provider for DB2,下一步連接選項中,填寫如下信息:
Data Source: QCDB(請酌情修改)
Network:TCP/IP
IP Address:數據庫服務器地址
Network Port:DB2服務端口
Username:數據庫訪問權限的用戶名
PassWord:該用戶口令
Database initial Catalog:QCDB
Package collection:QCDB
default schema:Userid
下一步高級選項中選各自國家語言對應的code page及CCSID,最後按確認鍵完成創建連接。
假設QCDB這個DB2數據庫中有一名為address的新數據表,其包含四個字段:name、email、age和address,我們可用服務器資源管理器打開上述連接及該數據表,可輸入數條中文記錄,確定中文字符能否正常顯示。
為項目增加數據庫連接
用Visual Studio新建一個ASP.Net項目,激活服務器資源管理器的上述連接,用鼠標將該連接拖至新建的Web Form上,則OLE DB需要的連接字符參數全部自動寫入Web Form程序中,上述連接生成的語句如下:
this.oleDbConnection1.ConnectionString = @"Provider=DB2OLEDB;
Cache Authentication=False;
Integrated Security="""";
PassWord=freebsd9;
Persist Security Info=True;
User ID=userid;Initial Catalog=qcdb;
Data Source=qcdb;Mode=ReadWrite;
Extended PropertIEs="""";
APPC Remote LU Alias="""";
APPC Local LU Alias="""";
APPC Mode Name=QPCSUPP;
Network Transport Library=TCPIP;
Host CCSID=37;PC Code Page=1282;
Network Address=172.23.169.1;
Network Port=4444;Package Collection=qcdb;
Default Schema=userid;Alternate TP Name="""";
Process Binary as Character=False;
Units of Work=RUW"
用服務器資源管理器工具生成連接可避免錯寫各種參數,從而可快速地實現數據庫連接。
Web Form顯示數據庫數據
為Web Form新增一個OleDbDataAdapter類的對象oleDbDataAdapter1,為其選擇數據連接時選上面建立的連接如:qcdb.qcdb.userid,選擇使用SQL語句,生成SQL語句如:Select from address,最後提示完成。再為Web Form新增一個DataSet並命名為dataSet1用來放查詢得到的數據。