Beta1中的連接字符串主要需要聲明數據庫的ODBC的DNS名稱,但是Beta 2中的OLE DB連接字符串更復雜,使用不同的類。因為DB2等數據庫廣泛用於大型機和其他應用程序中。NET自然會全力支持這種編程開發。出於這個原因,OLE DB的DB2開發將在下面壹步壹步地闡述。
用於DB2驅動程序的OLE DB
首先,Visual Studio.NET和Windows 2000 Server中沒有直接提供DB2的OLE DB驅動程序,所以需要下載微軟Host Integration Server 2000軟件。這個軟件包包含OLE DB Provider和用於DB2的ODBC驅動程序。需要下載服務器端軟件包,安裝時選擇安裝數據集成。安裝後,您可以使用它的OLE DB DB2驅動程序。
設置數據庫連接
首先,我們需要配置DB2的客戶端設置,在view菜單項中打開server explorer,向其數據連接添加壹個連接,在指定程序選項時選擇Microsoft OLE DB Provider for DB2,並在下壹個連接選項中填寫以下信息:
數據來源:QCDB(請酌情修改)
網絡:TCP/IP
IP地址:數據庫服務器地址。
網絡端口:DB2服務端口。
用戶名:數據庫訪問權限的用戶名。
密碼:該用戶密碼。
數據庫初始目錄:QCDB
包集合:QCDB
默認架構:Userid
在下壹個高級選項中選擇各自國家語言對應的代碼頁和CCSID,最後按確認鍵完成連接創建。
假設在QCDB DB2數據庫中有壹個名為address的新數據表,它包含四個字段:姓名、電子郵件、年齡和地址。我們可以用服務器資源管理器打開上面的連接和數據表,我們可以輸入幾條中文記錄來確定漢字是否可以正常顯示。
將數據庫連接添加到項目中
用Visual Studio創建壹個新的ASP.NET項目,激活上面的服務器資源管理器的連接,用鼠標拖動連接到新的Web窗體上,那麽OLE DB需要的所有連接字符參數都自動寫入Web窗體程序中。上述連接生成的語句如下:
this.oleDbConnection1。ConnectionString = @ " Provider = db 2 oledb;
緩存驗證=假;
集成安全性= " " " ";
Password = freebsd9
Persist安全信息= True
用戶ID = userid初始目錄= qcdb
數據源= qcdb模式=讀寫;
擴展屬性= " " " ";
遠程盧別名= " " " ";
當地的陸別名= " " " ";
APPC模式名稱= QPCSUPP
網絡傳輸庫= TCPIP
主機CCSID = 37PC代碼頁= 1282;
網絡地址= 172 . 23 . 169 . 1;
網絡端口= 4444;包集合= qcdb
默認架構= userid備選TP名稱= " " " ";
將二進制作為字符處理= False
工作單位=RUW "
使用服務器資源管理器工具生成連接可以避免誤讀各種參數,從而快速實現數據庫連接。
Web窗體顯示數據庫數據。
將OledDataAdapter類OledDataAdapter 1的對象添加到Web窗體。選擇數據連接時,選擇上面建立的連接,如qcdb.qcdb.userid,選擇使用SQL語句生成SQL語句,如select?從地址,最後的提示是完整的。向Web表單添加壹個數據集,並將其命名為dataSet1,以存放從查詢中獲得的數據。添加壹個用於顯示數據的數據網格,並將其命名為DataGrid 1。最後,在Web窗體的程序部分的Page_Init部分添加以下代碼:
oleDbConnection1。open();
//打開數據庫連接
oleDbDataAdapter1。Fill(dataSet1,“地址”);
//將獲得的數據填充到數據集中。
DataGrid1DataBind();
//綁定數據
oleDbConnection1。close();
//關閉連接
編譯運行後,可以看到地址表中的內容顯示在Web上。
在表單的數據綁定中。OleDbConnection1等屬性設置都在生成的Web表單設計代碼中。
增加數據庫數據
在Web窗體上添加壹個對應於字段數量的文本框和壹個按鈕,並為該按鈕添加Click response事件代碼,如下所示:
this.oleDbInsertCommand1。CommandText = " INSERTsintosADDRESS(NAME,
電子郵件、年齡、地址)值
(' "+TextBox1。Text+" ',' "+TextBox2。Text+" ',' "+TextBox3。Text+" ',' "+TextBox4。text+" ')";
oleDbInsertCommand1。connection . Open();
//打開連接
oleDbInsertCommand1。ExecuteNonQuery();
//執行SQL語句。
oleDbInsertCommand1。connection . Close();
//關閉連接
在實際編程中,需要註意SQL語句的單引號以及數字和字符串的處理。
刪除數據庫數據
在Web窗體上添加壹個TextBox5和壹個按鈕。刪除時,在文本框5中填寫要刪除的記錄的名稱字段的值,然後按此按鈕刪除。關鍵代碼如下:
系統。data . oledb . oledb command oledeletecommand 1 = new
系統。data . oledb . oledb command();
this.oleDbDataAdapter1。delete command = oledeletecommand 1;
//聲明為oleDb命令
oleDeleteCommand1。CommandText= "刪除自
addresss where name = ' "+textbox 5。text+" ' ";
oleDeleteCommand1。connection = this . oledbconnection 1;
//指示連接。
oleDeleteCommand1。connection . Open();
//打開連接
oleDeleteCommand1。ExecuteNonQuery();
//執行SQL語句
oleDeleteCommand1。connection . Close();
//關閉連接
對於添加、更新和刪除操作後的數據網格刷新,可以執行類似的Select SQL語句。
上述代碼可用於各種非SQL Server數據庫的參考和編程,微軟為此提供了如OLE DB Provider。
有了Oracle、AS/400和VSAM等許多驅動程序,OLE DB確實提供了比ODBC更廣泛的數據訪問,如訪問Access庫中的數據、郵件系統中的數據、Web上的文本和圖形、目錄服務等。符合ODBC標準的數據源是符合OLE DB標準的數據存儲的子集。而且OLE DB的API符合COM標準和基於對象的API,比原來的ODBC模式有了很大的提高,從而為全面的數據集成處理提供了更廣泛的支持。
通過以上的講解,筆者希望讀者能夠初步了解Visual Studio.NET中以DB2為後臺數據庫的應用系統的開發步驟,也希望讀者能夠舉壹反三,了解其中的思路和方法,以便更好地應用到自己的系統開發中。
上述程序在中文Windows 2000 Server、IBM DB2和Visual Studio.NET Beta 2環境下編譯並正常運行。