首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

C# 透過 OLE DB 存取 DB2 資料庫完整指南

     編輯:關於C#

在 Visual Studio.NET 早期版本中,開發人員若要連接非 SQL Server 的資料庫(如 IBM DB2),通常採用 ADO.NET 的 ODBC 方式。然而隨著 Beta 2 版本的釋出,微軟轉而推薦使用 OLE DB 技術進行資料存取。這項變更雖然增加了連接字串的複雜度,但也帶來了更廣泛的資料來源支援與更優異的效能表現。鑑於 DB2 在大型主機環境中的普及度,.NET Framework 自然提供了完整的開發支援。本文將詳細說明如何在 Visual Studio.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」。安裝時務必選擇「Data Integration」元件,完成後即可在專案中使用該驅動程式。

設定資料庫連接

首先確認 DB2 用戶端已正確配置。在 Visual Studio 的「伺服器總管」中新增資料連接,提供者選擇 Microsoft OLE DB Provider for DB2,接著填入以下關鍵參數:

  • Data Source:資料庫別名(範例為 QCDB)
  • Network:TCP/IP
  • IP Address:DB2 伺服器 IP 位址
  • Network Port:DB2 服務埠號(預設 4444)
  • Username / Password:具備存取權限的帳號密碼
  • Initial Catalog:資料庫目錄名稱
  • Package Collection:套件集合名稱
  • Default Schema:預設結構描述(通常為使用者 ID)

進階選項中需依語言環境設定對應的 Code Page 與 CCSID(例如繁體中文環境常用 Code Page 950、CCSID 37)。完成設定後,可在伺服器總管中展開資料表並輸入測試資料,驗證中文字元是否正常顯示。

將連接套用至 ASP.NET 專案

建立新的 ASP.NET Web 專案後,直接從伺服器總管將上述連接拖曳至 Web Form 設計介面,Visual Studio 會自動產生完整的連接字串程式碼,避免手動輸入錯誤。產生的連接字串範例如下:

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 中加入 OleDbDataAdapter、DataSet 與 DataGrid 控制項。設定 DataAdapter 的 SelectCommand 為 SELECT * FROM address,並在 Page_Init 事件中撰寫以下程式碼:

oleDbConnection1.Open();
oleDbDataAdapter1.Fill(dataSet1, "Address");
DataGrid1.DataBind();
oleDbConnection1.Close();

執行專案即可在 DataGrid 中瀏覽 address 資料表內容。

新增、刪除資料操作

新增資料:在表單放置對應欄位的 TextBox 與 Button,Button 的 Click 事件中建構 INSERT 陳述式並執行:

oleDbInsertCommand1.CommandText = "INSERT INTO ADDRESS(NAME, EMAIL, AGE, ADDRESS) VALUES ('" 
    + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "')";
oleDbInsertCommand1.Connection.Open();
oleDbInsertCommand1.ExecuteNonQuery();
oleDbInsertCommand1.Connection.Close();

刪除資料:同理建立 DELETE 陳述式,透過 OleDbCommand 物件執行:

OleDbCommand oleDeleteCommand1 = new OleDbCommand();
oleDeleteCommand1.CommandText = "DELETE FROM ADDRESS WHERE NAME='" + TextBox5.Text + "'";
oleDeleteCommand1.Connection = this.oleDbConnection1;
oleDeleteCommand1.Connection.Open();
oleDeleteCommand1.ExecuteNonQuery();
oleDeleteCommand1.Connection.Close();

執行增刪操作後,重新呼叫 Select 查詢並繫結 DataGrid 即可更新畫面。

總結與延伸

OLE DB 架構不僅支援 DB2,微軟亦提供 Oracle、AS/400、VSAM 等多種提供者。相較於 ODBC,OLE DB 提供更廣泛的資料存取範圍(如 Access、郵件系統、目錄服務等),其基於 COM 的物件導向 API 為企業級資料整合奠定了堅實基礎。本文示範的開發流程在中文 Windows 2000 Server、IBM DB2 與 Visual Studio.NET Beta 2 環境下經測試可正常運作,讀者可舉一反三,應用於自有系統開發中。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved