在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語句如:selectfrom 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...