程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2和Visual Studio 2008應用技巧

DB2和Visual Studio 2008應用技巧

編輯:DB2教程

開始學習Visual Studio 2008和DB2所要做的事

在你開始使用Visual Studio 2008建立你的應用程序之前,你需要有正確的客戶端連接軟件連接到目標數據服務器,以及為你的DB2服務器提供了豐富集成的組件(被看做是插件)。

對於DB2 9.5,如果你想連接你的.NET 應用程序到一個DB2 for Linux, UNIX, or Windows數據服務器,你需要最小化地部署這個新IBM Data Server Driver for ODBC, CLI, and .NET。這個新的驅動只占10MB空間,而使你可以用最小的力氣來進行.NET連接。這個驅動支持.Net 2.0、3.0和3.5框架,就像Visual Studio 2008一樣。在DB2 9.5之前,你需要安裝DB2運行時客戶端(大約120MB)來使用這個連接。

當你能夠使用.NET連接到DB2服務器時,你需要安裝IBM Database Add-Ins for Visual Studio來獲取DB2和Visual Studio 2008之間提供的豐富集成。有了DB2 9.5,這個插件被用於所有的IBM數據服務器連接;無論你是將一個.Net應用運行於DB2 for Linux, UNIX, or Windows、DB2 for z/OS、DB2 for IBM i(之前被人們所熟知的DB2 for i5/OS),或IBM Informix Dynamic Server(IBM IDS),你使用的是相同插件。這個異構環境的部署得到了改進,因為IBM Database Add-Ins for Visual Studio只占30MB的空間。在DB2 9中,這個插件被叫做IBM DB2 Add-In for Visual Studio 2005。正如你所看到的,它的名字被改了(版本信息被刪除了,以及DB2這個名字)來反映這個插件現在不只可以用在Visual Studio 2005或Visual Studio 2008集成開發環境(IDE),還可以用於任何IBM數據服務器。

在DB2 9中獲得這個插件的唯一方法是安裝一個基於Windows 的DB2客戶端或一個服務器映像;這意味著要占據很大空間(超過150MB)。而在DB2 9.5中卻很簡單,它通過安裝IBM Data Server Driver for ODBC, CLI, and .NET和IBM Database Server Add-Ins for Visual Studio,使得用於.Net開發所需的超過250MB的空間降低為僅僅40MB的空間。記住,如果你想連接這個開發環境到DB2 for z/OS或DB2 for i,那麼你需要添加一個DB2連接許可證到這個連接流中去(直接或通過一個DB2連接網關);但是這不會影響這個連接所需的空間大小。

-

當你使用這個輕量級開發選擇來配置你的開發桌面時,你應該記住,IBM Database Add-Ins for Visual Studio和IBM Data Server Driver for ODBC, CLI, and .Net必須是在同一個代碼級別。例如,如果你計劃要支持Visual Studio 2008 IDE,那麼你必須在Fix Pack 1級別安裝這些組件。如果Fix Pack 2將對這些組件中的某些帶來功能改變,而你想利用它們,那麼你需要確保這些組件都是在Fix Pack 2下安裝的。

假設你配置了你的.Net開發環境(當你在一個已安裝了Visual Studio的工作站上安裝這些插件時,DB2將自動地進行這步),當你啟動Visual Studio 2008時你應該能夠看到IBM Database Add-Ins for Visual Studio已經成功地注冊了:

DB2和Visual Studio 2008應用技巧

圖1

添加一個DB2數據源

在你能夠創建一個與DB2數據服務器一起工作或使用Visual Studio 2008與你的DB2數據服務器一起工作的.Net應用程序之前,你需要在Visual Studio Server Explorer中建立一個數據庫連接。

為了添加一個DB2數據庫連接到你的Server Explorer,執行下面的步驟:

1. 右鍵單擊Server Explorer 中的Database Connections文件夾並選擇Add Connection:

DB2和Visual Studio 2008應用技巧

圖2

2. Add Connection對話框將被打開。

3. 確保Data Source字段被設置為了IBM DB2, IDS, and U2 Servers (IBM DB2, IDS, and U2 Data Providers),如下所示:

DB2和Visual Studio 2008應用技巧

圖3

如果不是,那麼點擊Change,選擇Data source選擇框中的IBM DB2, IDS and U2 Servers以及Data Provider選擇框中的合適提供者。

DB2和Visual Studio 2008應用技巧

圖4

你可以看到有一個叫做IBM IDS Server的數據源。你將使用這個選項來連接到11.10之前的IBM IDS版本。如果你可以的話,那麼我強烈推薦使用IBM DB2, IDS and U2 Servers驅動器。

4. 在Select or enter server name字段中輸入服務器名稱。你可以點擊Refresh來返回一列在你的子網中發現的DB2服務器。

DB2和Visual Studio 2008應用技巧

圖5

5. 在Enter information to log on to the server字段中,輸入一個用戶帳戶,它是使用它的User ID和PassWord字段來驗證訪問這個數據庫的:

DB2和Visual Studio 2008應用技巧

圖6

如果你選擇Save my passWord復選框,這些憑證將被保持,所以你不需要每次在Solution Explorer中連接到你的數據服務器時都輸入密碼。例如:

DB2和Visual Studio 2008應用技巧

圖7

6. 在Select or enter a database name字段中輸入你想要連接的目標數據庫別名。

DB2和Visual Studio 2008應用技巧

圖8

你可以使用這個字段的下拉列表( )來查看你本地實例目錄中的所有數據庫。

7. 點開Specify connection options並選擇Automatic refresh of connection when IDE loads和Run procedures to discover results sets選項:

DB2和Visual Studio 2008應用技巧

圖9

Automatic refresh of connection when IDE loads復選框使Visual Studio 2008在Visual Studio 2008 IDE 每次啟動時刷新schema緩存。數據庫連接的異步schema緩存是IBM Database Add-Ins for Visual Studio豐富的特性集合中的一部分。這個特性使得你可以在一個與你的數據庫不連接的模式下工作,並仍然具有對它的schema對象的訪問,用於拖拉表單創建、設計時SQL幫助等等。一般情況下,我推薦選擇這個選項,因為有時對象可能在Visual Studio 2008會話間被創建,而它們可能直到對象緩存被用戶直接刷新或由Visual Studio本身非顯式地刷新時才能在Server Explorer中顯示出來,選擇這個選項會在IDE啟動時自動刷新schema緩存。

IBM Database Add-Ins for Visual Studio 2008還使得你可以為你的存儲過程定義新的結果集和視圖。結果集是一個存儲過程為一個SELECT 語句返回的一個記錄集合。你可以通過指定輸入參數的值來得到結果集定義,或者你也可以手動定義一個結果集和它的字段。Run procedures to discover results sets選項使Visual Studio 2008運行你的存儲過程並定義它們的結果集;如果你不選擇這個選項,那麼你需要手動進行這項工作。例如,下圖顯示了當你點擊一個存儲過程對一個沒有激活Run procedures to discover results sets特性的數據庫連接的Results Sets結點時會發生什麼:

DB2和Visual Studio 2008應用技巧

圖10

作為對比,如果你激活這個功能,那麼當你點擊Results sets 時它會看起來如下所示:

DB2和Visual Studio 2008應用技巧

圖11

8. 可選的:如果你的數據庫有非常多的對象,那麼你可以通過在Schema filter字段中輸入一個schema名字來進行過濾連接對象:

DB2和Visual Studio 2008應用技巧

圖12

例如,上一圖中的設置將使得只顯示Server Explorer中PAULZ schema 內的那些對象。你不能在這個窗口中指定多於一個的schema來進行過濾;如果你想在一個不同的schema 上進行過濾,你需要創建一個不同的數據庫連接對象。

你可以使用Exclude system schemas復選框作為最高級的schema限定,使得只有用戶schemas 會顯示於Server Explorer中。例如,你可能在你的數據庫中有一些用戶schemas(PAULZ、TEST、CHLOE);如果你將Schema filter設定為空,但選擇上了這個選項,那麼它將隱藏SYSWS、SYSVIEWS、SYSSTAT、SYSPROC、SYSIBMADM和SYSIBM schemas中的對象;這是一個很好的抑制那些作為每個DB2數據庫一部分而你一般不與其進行交互的管理schemas被看到。

你可以使用Select Table Type Filter窗口來選擇你想在Server Explorer中數據服務器連接對象下面看到的表類型。要過濾表類型,點擊表過濾按鈕( ):

DB2和Visual Studio 2008應用技巧

圖13

使用Select Table Type Filter窗口,你可以選擇用於一個數據服務器的默認表類型或為一個特定數據連接所顯示的數據類型。

如果對一個給定表類型的復選框被選中,那麼這個類型的表將被顯示於適當的數據服務器的一個數據連接之下。在Select Table Type Filter中的選項細節如下所示:

DB2 for Linux, UNIX, and Windows (LUW)

T – 表(非強類型)

H – 層次表

U – 類型表

S – 物化查詢表(Materialized Query Table,MQT)

N – 別名

DB2 for i

T – 表

L – 邏輯

S – 物理

DB2 for z/OS (zOS)

T – 表

G – 創建的全局臨時表

X – 輔助表

N – 別名

我一般不使用這些選項,因為我經常連接到DB2 for Linux, UNIX, and Windows和DB2 for z/OS數據服務器。但是,許多連接到DB2 for i數據服務器的開發人員想包含物理表/文件,這是不在DB2 for i平台上開發的我們這些人所不了解的一個概念。

9. 選擇你想在你的數據庫連接對象中顯示的對象。對於這篇文章,要確保所有的選項都被選上了。

DB2和Visual Studio 2008應用技巧

圖14

注意:Object Name Filter字段在這個窗口中不做任何事情。

你可以使用下面的Add Connection窗口部分來包含或排除某數據庫連接的對象。當你想建立多個連接時這是很有用的,甚至在數據庫連接之上提供了一個安全層。例如,也許你有一組應用程序需要數據庫管理員將表通過視圖暴露給應用程序開開發人員。當應用程序數據庫管理員需要訪問Solution Explorer中所暴露的底層數據庫的分面時,他們很可能要建立日常程序訪問一個視圖安全層,並不可以使用其它對象例如表、XML數據源等等來進行轉移。正如你在下面的圖片所看到的,在Server Explorer中有多個使用不同過濾的連接:

DB2和Visual Studio 2008應用技巧

圖15

此外,你可能想建立多個連接使用不同的用戶帳戶連接到相同的數據庫,以此來展示應用程序開發生命周期中的不同階段或分面。例如,也許你想測試一段代碼進行產品驗證,或者Q/A驗證,或者設計,等等:

DB2和Visual Studio 2008應用技巧

圖16

在這裡,你的Modify Connection窗口應該看起來如下所示:

DB2和Visual Studio 2008應用技巧

圖17

10. 點擊Test Connection來確保你正確地指定了目標數據服務器和驗證用來連接到目標數據服務器的用戶帳戶。如果這個測試成功了,那麼你將接收到確認這個事實的一個信息:

DB2和Visual Studio 2008應用技巧

圖18

這時,你就有了一個成功的數據服務器連接,並從此你可以執行Solution Explorer所支持的任何動作,開始建立應用程序,等等。

DB2和Visual Studio 2008應用技巧

圖19

准備,開始,開發。。。

本文展示了怎樣建立一個數據庫連接對象到一個目標IBM數據服務器。而且,我還展示了Visual Studio 2008中作為IBM數據服務器連接一部分的所有獨特並強大的特性。了解Visual Studio和IBM data servers可用的過濾功能;它們是非常獨特的,而且是其它競爭數據庫所沒有提供的。它們提供了一個豐富而粒度控制的框架,它最終導致更好的安全性和更快速的應用程序開發體驗。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved