詳細介紹Oracle 存儲過程說明
隨著時代的進步科技的發展Oracle 存儲過程 版本也快速的提升與升級,下面我就對升級前和升級后的Oracle 存儲過程,做一下自己的解析。希望能夠對大家有幫助,下面就進行分析研究。
一、概述
訪問Oracle的兩種數據提供者lMicrosoft .NET Framework Data Provider for Oracle
Oracle .NET 數據提供程序隨 .NET 框架 1.1 一起提供。如果您使用的是 .NET 框架 1.0,您將需要下載 .NET Managed Provider for Oracle。無論是哪個版本,數據提供程序類都位于 System.Data.OracleClient 命名空間中。 lOLEDB l “Provider=OraOLEDB.1; Data Source=ds; User ID=system; Password=manager” #t#
Microsoft .NET Framework Data Provider for Oracle lMicrosoft .NET Framework Data Provider for Oracle是一個.NET Framework的組件。 Oracle 存儲過程為我們使用.NET訪問Oracle數據庫提供了極大的方便。 l這個組件的設計非常類似.NET中內置的Microsoft .NET Framework Data Provider for SQL Server l添加System.Data.OracleClient.dll引用
二、核心類介紹
l.NET for Oracle組件中用于組織類和其他類型的名字空間是System.Data.OracleClient。在此名字空間中,主要包含四個核心類,它們分別是:OracleConnection、OracleCommand、OracleDataReader、OracleDataAdapter。 l可使用 System.Data.OracleClient 命名空間中類的子集來執行 Oracle 存儲過程和函數。其具體使用方法幾乎和SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter是一模一樣的。 l添加using System.Data.OracleClient 名稱空間
OracleConnection對象
三、執行Oracle存儲過程
l執行 Oracle 存儲過程與執行 SQL Server 存儲過程類似。 lOracle 存儲過程不能將值作為 RETURN 語句的一部分返回,而只能將其作為 OUT 參數返回。 l除了通過 REF CURSOR 輸出參數以外,您不能返回結果集。 l您只能使用 RETURN 參數檢索 Oracle 函數的返回值 l下面的步驟說明了如何執行 Oracle 存儲過程和檢索它返回的結果。
1.在 HR 架構中創建一個名為 COUNT_JOB_HISTORY 的存儲過程,以計算 JOB_HISTORY 表中的記錄數。
2.將 System.Data.OracleClient.dll(用于 Oracle 的 Microsoft .NET 框架數據提供程序)的引用添加到項目中。
3.使用 using 指令導入 OracleClient 類中的類型。 using System.Data.OracleClient;
4.創建一個 OracleConnection 對象。 OracleConnection conn = new OracleConnection("Data Source=oracledb; User Id=UserID;Password=Password;");用您的值替換 Oracle 數據庫的名稱、用戶名和密碼。
5.創建一個 OracleCommand 對象。將其 Oracle 存儲過程設置為第 4 步中創建的連接。將其 CommandText 設置為存儲過程的名稱,并將其 CommandText 屬性設置為 CommandType.StoredProcedure。當您調用第 8 步中介紹的一個 Execute() 方法時,該命令對象將執行指定的存儲過程。
OracleCommand cmd = new OracleCommand(); lcmd.Connection = conn; lcmd.CommandText = "COUNT_JOB_HISTORY"; lcmd.CommandType = CommandType.StoredProcedure;