當前位置:編程學習大全網 - 編程語言 - hy 011 ASP.NET連接db2 ODBC時出現錯誤。

hy 011 ASP.NET連接db2 ODBC時出現錯誤。

在visual Studio.NET beta 1版本中,對非SQL Server數據庫(如IBM DB2)的訪問通常由ADO完成。NET的ODBC方法,而在Beta 2中是通過OLE DB方法訪問的。

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環境下編譯並正常運行。

  • 上一篇:三星堆、馬王堆之外的世紀墓——南昌海昏侯墓為什麽沒有那麽出名?
  • 下一篇:集群服務器如何通信
  • copyright 2024編程學習大全網