用Visual C 訪問DB2資料庫

2021-04-17 21:10:09 字數 3182 閱讀 1546

在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驅動

設定資料庫連線

首先,我們需配置好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,我們可用伺服器資源管理器開啟上述連線及該資料表,可輸入數條中文記錄,確定中文字元能否正常顯示。

為專案增加資料庫連線

用伺服器資源管理器工具生成連線可避免錯寫各種引數,從而可快速地實現資料庫連線。

web form顯示資料庫資料

為web form新增乙個oledbdataadapter類的物件oledbdataadapter1,為其選擇資料連線時選上面建立的連線如:qcdb.qcdb.userid,選擇使用sql語句,生成sql語句如:selectfrom address,最後提示完成。再為web form新增乙個dataset並命名為dataset1用來放查詢得到的資料。新增乙個顯示資料用的datagrid命名為datagird1,最後在web form的程式段中的page_init部分中增加如下**:

oledbconnection1.open();

//開啟資料庫連線

oledbdataadapter1.fill(dataset1,"address");

//將得來的資料填入dataset

datagrid1.databind();

//繫結資料

oledbconnection1.close();

//關閉連線

編譯執行後,可見address表中內容被顯示於web form的databrid中。oledbconnection1等屬性設定都在生成的web form設計**中。

增加資料庫資料

在web form上新增對應字段數量個數的textbox,及乙個button,為該按鍵增加click響應事件**如下:

this.oledbinsertcommand1.commandtext = "insertsintosaddress(name,

email, age, address) values

('"+textbox1.text+"','"+textbox2.text+"','"+textbox3.text+"','"+textbox4.text+"')";

oledbinsertcommand1.connection.open();

//開啟連線

oledbinsertcommand1.executenonquery();

//執行該sql語句

oledbinsertcommand1.connection.close();

//關閉連線

實際程式設計中,我們需注意sql語句的單引號問題以及數字和字串處理問題。

刪除資料庫資料

在web form上新增乙個textbox5及乙個按鍵,要執行刪除時,在textbox5中填入要刪除記錄的name欄位的值,然後按該按鍵執行刪除。該按鍵**如下:

system.data.oledb.oledbcommand oledeletecommand1 = new

system.data.oledb.oledbcommand();

this.oledbdataadapter1.deletecommand = oledeletecommand1;

//宣告為oledb命令

oledeletecommand1.commandtext="delete from

addressswheresname='"+textbox5.text+"'";

oledeletecommand1.connection = this.oledbconnection1;

//指明連線

oledeletecommand1.connection.open();

//開啟連線

oledeletecommand1.executenonquery();

//執行sql語句

oledeletecommand1.connection.close();

//關閉連線

對於增加、更新和刪除操作後的datagrid重新整理,可執行類似的select sql語句即可。

上述**可供各種非sql server資料庫程式設計參考和使用,微軟為此提供了如ole db provider for oracle、as/400和vsam等眾多驅動,ole db方式確實提供了較odbc方式更為廣泛的資料訪問範圍,如可訪問access庫中的資料、郵件系統中的資料、web上的文字及圖形、目錄服務等等,符合odbc標準的資料來源就是符合ole db標準的資料儲存的子集,而且ole db的api是符合com標準和基於物件的api,這些都是較原odbc方式有大幅改進,從而為綜合的資料整合處理提供了更廣泛的支援。

上述程式在中文windows 2000 server、ibm db2和visual studio.net beta 2環境中編譯並正常執行。

用Visual C 訪問DB2資料庫

在visual studio.net beta 1版本中訪問ibm db2等非sql server資料庫通常是使用ado.net的odbc方法,而在beta 2中則改用ole db方式訪問資料庫。beta1中連線字串主要需宣告資料庫的odbc的dns名字,但beta 2中的ole db連線的字串就較...

關於DB2的使用(DB2資料命令)

公司所用的資料庫有金倉和db2 首先要用命令視窗直接開啟db2需要在cmd中輸入 db2cmd 1 啟動db2資料庫 db2start 2 連線資料庫 db2 connect to 資料庫名稱 3 建立資料庫 db2 create db 資料庫名稱 4 刪除資料庫 db2 drop db 資料庫名稱...

Db2資料遷移

db2資料遷移的方法大致有以下幾種 通過db2資料庫的備份和復原進行資料遷移 注意點 進行復原的時候要通過手動選擇備份,復原檔案時間設定要和備份的檔案上的時間戳一致 不能進行跨平台的遷移,如 從linux平台資料庫備份的檔案,不能復原到windows平台資料庫中 通過export to和import...