Enterprise Library 40中文文檔-數(shù)據(jù)訪問_第1頁
Enterprise Library 40中文文檔-數(shù)據(jù)訪問_第2頁
Enterprise Library 40中文文檔-數(shù)據(jù)訪問_第3頁
Enterprise Library 40中文文檔-數(shù)據(jù)訪問_第4頁
Enterprise Library 40中文文檔-數(shù)據(jù)訪問_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、本文由 nczhyou 貢獻doc文檔可能在 WAP 端瀏覽體驗不佳。建議您優(yōu)先選擇 TXT ,或下載源文件到本機查看。 中文文檔 -數(shù)據(jù)訪問應用程序塊【 Enterprise Library 4.0 中文文檔 -數(shù)據(jù)訪問應用程 序塊 【 0】 簡介 企業(yè)庫數(shù)據(jù)訪問應用程序塊簡化了開發(fā)任務, 實現(xiàn)一般的數(shù)據(jù)存取功 能。 應 用程序可以使用這個應用程序塊在各種情況下, 如讀數(shù)據(jù)顯示, 通過應用層傳遞數(shù)據(jù),并 提交修改數(shù)據(jù)備份到數(shù)據(jù)庫系統(tǒng)。該應用程 序塊同時支持存儲過程和 SQL 語句。一般的事 務, 如連接管理, 創(chuàng) 建和緩存參數(shù), 封裝在應用程序塊的方法。 換句話說, 數(shù)據(jù)訪問應用 程 序塊提

2、供了最常用的 , 基于 ADO.NET 的簡單易用的類功能,這提 高開發(fā)人員的工作效率。 ADO.NET 2.0 提 供 了 一 些 類 諸 如 DbCommand 類 和 DbConnection 類 ; 這些類有助于 抽象出數(shù)據(jù)提供來自任何特定的數(shù) 據(jù)庫執(zhí)行。 數(shù)據(jù)訪問應用程序塊可以利用這些類和提供了 一個模式, 進一步支持封裝的數(shù)據(jù)庫類型的特定功能, 如參數(shù)發(fā)現(xiàn)和類型轉(zhuǎn)換。 因此, 應 用程序也可以從一個數(shù)據(jù)庫移植到另一個類型而不需要修改 客戶端代碼。 數(shù)據(jù)訪問應用程序 塊包括一個抽象基類,它定義一個統(tǒng) 一的接口,并提供了 ADO.NET 2.0 中所需要的數(shù)據(jù)訪 問方法。 該 應 用

3、程 序 塊 還 包 括 特 有 的 類 如 Microsoft SQL Server , Microsoft SQL Server CE 和 Oracle 。這些類提供操作的特殊的 數(shù)據(jù)庫類型。應用程序塊 編寫的一種類型的數(shù)據(jù)庫的訪問代碼,如 SQL Server ,看起來大致相同與另一種類型的數(shù) 據(jù)庫的訪問代碼, 如 Oracle。 數(shù) 據(jù) 訪 問應 用程序 塊 的 另一 個特點 是 應 用程 序 代碼 可 能 由一 個 ADO.NET 連接串名字提到特殊數(shù)據(jù)庫,如“客戶”或“庫存” 。應 用 程 序 代 碼 可 以 指 定 命 名 數(shù) 據(jù) 庫 的 實 例 , 并 傳 遞 此 參 數(shù) 給 D

4、atabaseFactory.CreateDatabase 方法。每一個被命名數(shù)據(jù)庫, 其連接字符串存儲在一個 配置文件里。 通過設置配置文件, 開發(fā)人員 可以使用自己的應用程序運行于不同的數(shù)據(jù)庫之 上。 數(shù)據(jù)訪問應用程序塊提供了以下優(yōu)點:它提供的功能基于 ADO.NET 2.0 ,您可以單獨 使用 ADO.NET 的 功能與應用程序塊的功能。 它減少了執(zhí)行通用數(shù)據(jù)訪問的任務所需要的代 碼。 它有助于在一個應用程序和整個企業(yè)中保持數(shù)據(jù)訪問的一致性。 它降低了更換數(shù)據(jù)庫 的成本。 它可以減輕開發(fā)人員學習對于不同類型的數(shù)據(jù)庫的開發(fā)成本。 它減少了大量的代 碼, 開發(fā)人員在編寫應用程序時, 不需要為

5、不同類 型的數(shù)據(jù)庫編寫單獨代碼。 = Library 中文文檔 -數(shù)據(jù)訪問應用程序塊【 Enterprise Library 4.0 中文文檔 -數(shù)據(jù)訪問應 用程序塊 【 1】 數(shù)據(jù)訪 問應用程序塊簡介 本主題包括一系列簡短的部分提供了幫助您確定如 何使用數(shù)據(jù)訪問 應用程序塊以適合您的要求。 本主題包含以下部分:常見情況 示例代碼 新 版本特點,版本 3.1 和后來的 何時該使用數(shù)據(jù)訪問應用程序塊何時該直接使用 ADO.NET 除本介紹材料,該文檔還包含了以下主題:使用數(shù)據(jù)訪問應 用程序塊開發(fā)應用程序。 此介紹如何配置應用程序 塊, 如何準備您的應用程序使用數(shù)據(jù)訪問 應用程序塊,應用程序塊如

6、何與一個數(shù)據(jù)庫建立連接,以及處理參數(shù)和異常處理。 關鍵情 景。 本節(jié)演示如何使用應用程序塊以執(zhí)行最典型的數(shù)據(jù)訪問任 務。 設計數(shù)據(jù)訪問應用程序 塊。 本節(jié)介紹進入設計和應用程序塊的理由和 基礎理論。 擴展和修改數(shù)據(jù)訪問應用程序塊。 本節(jié)介紹如何擴展應用程序塊,加 入你自己的數(shù)據(jù)庫,并建議修改源代碼。 部署和操作。 本節(jié)介紹如何部署和更新應用程序塊組件。它還包含有 關配置和 SQL Server 安全。 數(shù)據(jù) 存快速上手。 本節(jié)介紹如何安裝和配置的快速應用, 包含了一系 列的演練, 演示如何使用數(shù) 據(jù)訪問塊。 常見情況 開發(fā)者在編寫應用程序的時候經(jīng)常使用不同的數(shù)據(jù)庫。 因為這是共同 的, 開發(fā)者

7、會發(fā)現(xiàn)自己為每個應用程序反復編寫相同的代碼。 此外, 這些應用程序可能需要 與不同類型的數(shù)據(jù)庫。 雖然任務是相同的, 該 代碼必須加以調(diào)整, 以適應不同類型的數(shù)據(jù)庫。 數(shù)據(jù)訪問應用程序塊 解決這些問題提供了邏輯來執(zhí)行最常見的數(shù)據(jù)訪問任務。 開發(fā)者只需 要做到以下幾點:創(chuàng)建數(shù)據(jù)庫對象。 提供命令的參數(shù),如果這是必要的。 調(diào)用適當?shù)姆椒?。這些方法的效果能得到優(yōu)化。 他們是可移植的。 數(shù)據(jù)訪問應用程序塊可移植到 SQL Server , SQL Server CE , 和 Oracle 數(shù)據(jù)庫。 它的目的是為解決開發(fā)者面對不同數(shù)據(jù)庫時編寫最 常見的任務。 這 些任務是根據(jù)情景安排。 每個情景給出了一

8、個例子, 模擬一個真實的應用環(huán)境, 如檢索信息 的目錄或執(zhí)行金融交易,介紹 了數(shù)據(jù)庫功能的情況,并給出了代碼來完成這項任務。 安排 這些任務的目標, 根據(jù)設想是使代碼在一個部分中。 展示一個孤 立的方法沒有任何意義, 而 把它放在許多開發(fā)者都熟悉的應用環(huán)境 中,提供了一個情 景設置的代碼,在這里他們可以 被最好地利用。 幾種設想如下:使用 DataReader 中檢索多行數(shù)據(jù) 使用一個 DataSet 檢 索多行數(shù)據(jù) 執(zhí)行命令和檢索輸出參數(shù) 執(zhí)行命令和檢索一個單值項目 表演多個業(yè)務交易 從 SQL Server 檢索 XML 數(shù)據(jù) 使用 DataSet 對象更新的數(shù)據(jù)庫 欲了解更多有關所有這些

9、情 景,看到關鍵情景。 示例代碼下 列 代 碼 演 示 了 如 果 調(diào) 用 存 儲 過 程 返 回 一 個 DataSet view plaincopy to clipboardprint? Database db = DatabaseFactory.CreateDatabase(; DbCommand dbCommand =db.GetStoredProcCommand("GetProductsByCategory" / Retrieve products from category 7. db.AddInParameter(dbCommand, DbType.Int32

10、, 7; DataSet productDataSet = db.ExecuteDataSet(dbCommand; Database db = DatabaseFactory.CreateDatabase(; DbCommand dbCommand = "CategoryID",db.GetStoredProcCommand("GetProductsByCategory" / Retrieve products from category 7. db.AddInParameter(dbCommand, DbType.Int32, 7; DataSet

11、productDataSet = db.ExecuteDataSet(dbCommand; view plaincopy to clipboardprint? Dim db As Database = DatabaseFactory.CreateDatabase( Dim dbCommand As DbCommand = "CategoryID", db.GetStoredProcCommand("GetProductsByCategory" ' Retrieve products from the category 7. db.AddInPar

12、ameter(dbCommand, "CategoryID",DbType.Int32, 7 Dim productDataSet As DataSet = =db.ExecuteDataSet(dbCommand Dim db As Database = DatabaseFactory.CreateDatabase( Dim dbCommand As DbCommand =db.GetStoredProcCommand("GetProductsByCategory" ' Retrieve products from the category 7

13、. db.AddInParameter(dbCommand, DbType.Int32, 7 Dim productDataSet As DataSet = = "CategoryID",db.ExecuteDataSet(dbCommand 新版本特點, 版本 3.1 和后來的 一般來說, 應用程序 可以使用較早版本的數(shù)據(jù)訪問應用程序塊, 而不 需要任何代碼更改。 它可能只需要更新新的 程序集,并更新配置文件 以引用正確版本 的組件。 然而, 新版本數(shù)據(jù)訪問應用程序塊相 對于 3.1 版 (May 2007 有了一些改變 , 如果您升級到最新版本的企業(yè)庫 , 這可能會影響

14、到 舊 版本應用程序。 以下各節(jié)描述了這些變化。 .NET Framework 2.0 的 TransactionScope 類 要充分利用的 .NET Framework 2.0 的 TransactionScope 類, 從 Enterprise Library 3.1 版開始已經(jīng)改變了一些數(shù)據(jù)庫類的方法。 這些 方 法 , 如 ExecuteNonQuery , 修 改 一 個 TransactionScope 實 例 使 用 GetOpenConnection 方法替代 GetConnection 方法。 如果 您寫了一個繼承于數(shù)據(jù)庫的類, 則需要注意這些變化重寫你的代碼。 如果您繼續(xù)

15、使用 GetConnection 方法,您將收到一個 編譯警告。此 外,如果您的應用程序使用 ExecuteXmlReader 方法,您可能需要 重寫你的 代碼進行測試,以查看 TransactionScope 事例是否在關 閉連接之前是活躍的。 欲了解更 多信息, 請參閱使用 TransactionScope 類。 對于一個例 子, 如何使用 ExecuteXMLReader 的 方法,見檢索多條記錄為 XML 。 SQL Server Compact Edition Enterprise Library 3.1 May 2007,以及后來的版本都支持 SQL Server Compact

16、Edition (CE 。 SQL Server CE 提供了用 于臺式電腦和移動應用程序的關系數(shù)據(jù)庫的基本功能, 它需要有一個 本地數(shù)據(jù)存 儲,但不需要全功能的 SQL Server 。欲了解更多信息, 請參閱“使用的 SQL Server CE ” 建立一個數(shù)據(jù)庫對象。 何時該使用數(shù)據(jù)訪問應用程序塊 數(shù)據(jù)訪問應用程序塊包含了少量的 方法, 簡化了最常用的方法來訪問 數(shù)據(jù)庫。每種方法概括了邏輯檢索需要的數(shù)據(jù)和管理連 接到數(shù)據(jù)庫。 如果您的應用程序使用標準的數(shù)據(jù)訪問技術 , 您應該考慮使用應用程 序塊。 該 應用程序塊作為 ADO.NET 的補充,使您可以為不同的數(shù)據(jù)庫類型使用相同的代碼。它包

17、括為 SQL Server 和 Oracle 數(shù)據(jù)庫的類。 這些類包含代碼, 提供數(shù)據(jù)庫的具體實現(xiàn)的功能, 如參數(shù)處理和游標。 此外, GenericDatabase 類允許您使 用的應用程序塊的任何配置 ADO.NET DbProviderFactory 對象。 您可以擴展應用程序塊, 增 加了新的數(shù)據(jù)庫類型, 其中包括數(shù)據(jù)庫的特定功能, 或提供自定義的 執(zhí) 行 現(xiàn) 有 的 數(shù) 據(jù) 庫 。 唯 一 的 要 求 是 , 一 個 ADO.NET DbProviderFactory 類存在的目標數(shù)據(jù)庫。 何 時該直接使用 ADO.NET 數(shù)據(jù)訪問應用程序塊是 ADO.NET 的一個補充而不是一個替

18、代。 其 提 供了簡單和方便,同時幫助開發(fā)者使用 ADO.NET 的最佳做法。 如果您的應用程序需要檢索 數(shù)據(jù)的方式在一個專門的, 或者如果您的代碼需要定制, 以充分利用 特有的功能特定的數(shù)據(jù) 庫, 使用 ADO.NET 可能更適合您。 中文文檔 -數(shù)據(jù)訪問應用程序塊 【 Enterprise Library 4.0 中文文檔 -數(shù)據(jù)訪問應用程序塊【 2】數(shù)據(jù)訪 問應用程序塊簡介 接下來的部分是如何配置數(shù) 據(jù)訪問應用程序塊。 你可以使用配置控制 臺或者在 visual studio 的編輯窗口里配置數(shù)據(jù) 訪問應用程序塊的節(jié) 點。按照便是的 schema 配置數(shù)據(jù)訪問應用程序塊,請參照數(shù)據(jù)訪 問

19、 應用程序塊里的源 Schema。 添加數(shù)據(jù)訪問應用程序塊 1、打開配置文件,需要更多信息, 請參考配置企業(yè)庫。 2、右鍵點擊 Application Configuration,點擊 New,然后點擊 Data Access Application Block。 下面的部分是如何添加一個默認的數(shù)據(jù)庫實例。這 個實例是在調(diào)用 DatabaseFactory 時被使用。 CreateDatabase 方法沒有實例名。 配置默認 數(shù)據(jù)庫: 1、在右面板,使用 DefaultDatabase 屬性。 2、鍵入默認數(shù)據(jù)庫的連接字符串名 或者在下拉列表中選擇。 默認的 鏈接字符串名字叫 Connecti

20、onString。 3 、 設 置 Name 屬 性 中 鍵 入 新 的 名 字 。 默 認 的 名 字 叫 ConnectionString。 4、 在 ProviderName 屬性區(qū)域, 指定改變的提供者名字。 鍵入提供 者名字或者在下拉列表中選擇。 默認的提供者 名字是 System.Data.SqlClient 。 ProviderName DBProviderFactory 類中提供一個提供者 名字。 下面的部分是如何讓創(chuàng)建一個數(shù)據(jù)庫實例的連接字符串。 當配置工具 保存了連接字 符串,總體上鏈接字符串和鏈接信息是一系列名字 -值 的關系。比如,如果你使用配置工具 傳 教 一 個 新

21、 的 默 認 值 , 應 該 如 下 的 字 符 串 : Database=Database;Server=(localSQLEXPRESS;Integrated Security=SSPI; 配置一個連 接字符串 1、點擊 ConnectionString 節(jié)點。 2、設置 Name 屬性并鍵入一個新名字。只是 ConnectionString 節(jié) 屬 性 必 須 在點的名字。 默認的名字是 ConnectionString。 3、 在 ProviderName 屬性塊, 改變提供 者的名字。 鍵入名字或者在 下拉列表中選擇。 默認的提供者名字是 System.Data.SqlClient。

22、 ProviderName 屬性必須在 DBProviderFactory 類中提供一個提供 者名字。 4、必須更新 ConnectionString 屬性。例如,這個連接字符串指定 了本地 SQL Server Express 作為數(shù) 據(jù) 庫 實 例 , 使 用 itegrated Windows 安 全 策 略 。 Database=Database;Server=(localSQLEXPRESS;Integrated Security=SSPI 下面的部分 是 如何配置 SQL Server CE 數(shù)據(jù)庫。如果名字在配置 里并且你的應用程序一直使用一個單 一文件這個步驟才適用。 跟多關 于 SQL Server CE 的信息,請參考創(chuàng)建一個數(shù)據(jù)庫對象。 配置 SQL Server CE:1、右鍵點擊 Custom Provider Mappings, 點

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論