在.NET Core開發中,如何連接Oracle數據庫是一個需要解決的問題。Oracle數據庫是一種功能強大的數據庫系統,特別是在企業級應用中被廣泛使用。本文將為大家介紹.NET Core與Oracle之間的連接方式,同時提供代碼示例,以便更好地理解。
首先我們需要準備Oracle數據庫、ODP.NET和.NET Core項目。ODP.NET(Oracle Data Provider for .NET)是一個Oracle官方支持的數據提供程序,用于.NET平臺和Oracle數據庫之間的通信。我們需要安裝ODP.NET NuGet包,以便能夠在.NET Core項目中使用ODP.NET。
連接Oracle的代碼示例:
using Oracle.ManagedDataAccess.Client; using System; namespace OracleCoreSample { class Program { static void Main(string[] args) { try { string connString = "Data Source=ORACLEHOST:1521/ORACLEDB;User Id=USERNAME;Password=PASSWORD;"; OracleConnection conn = new OracleConnection(connString); conn.Open(); Console.WriteLine("Oracle Version: " + conn.ServerVersion); conn.Close(); } catch (Exception e) { Console.WriteLine(e.Message); } } } }上面的代碼示例演示了如何連接Oracle數據庫。其中的“Data Source”指定了Oracle數據庫的主機名和端口號,“User Id”和“Password”指定了數據庫的用戶名和密碼,通過OracleConnection類的Open方法連接數據庫。連接成功后,可以通過ServerVersion屬性獲取數據庫的版本信息。 在.NET Core中,使用ODP.NET提供的OracleDataReader類可以讀取查詢結果:
try { string connString = "Data Source=ORACLEHOST:1521/ORACLEDB;User Id=USERNAME;Password=PASSWORD;"; OracleConnection conn = new OracleConnection(connString); conn.Open(); string sql = "SELECT ID, NAME, AGE FROM EMPLOYEE"; OracleCommand cmd = new OracleCommand(sql, conn); OracleDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine("ID:{0}, NAME:{1}, AGE:{2}", reader["ID"], reader["NAME"], reader["AGE"]); } conn.Close(); } catch (Exception e) { Console.WriteLine(e.Message); }以上示例代碼使用了OracleCommand對象執行一個SQL查詢,并用OracleDataReader對象讀取查詢結果。在while循環中,逐行輸出查詢結果。 另一個關鍵點是Oracle數據庫中的存儲過程和函數。Oracle的存儲過程和函數在應用程序中發揮了重要的作用。如果我們需要在.NET Core應用程序中調用Oracle存儲過程和函數,可以使用以下代碼示例:
try { string connString = "Data Source=ORACLEHOST:1521/ORACLEDB;User Id=USERNAME;Password=PASSWORD;"; OracleConnection conn = new OracleConnection(connString); conn.Open(); OracleCommand cmd = new OracleCommand(); cmd.Connection = conn; cmd.CommandText = "EMPLOYEE_PKG.GET_AGE_BY_ID"; cmd.CommandType = System.Data.CommandType.StoredProcedure; OracleParameter inputParameter = new OracleParameter("EMPLOYEE_ID", OracleDbType.Int32); inputParameter.Value = 1; cmd.Parameters.Add(inputParameter); OracleParameter outputParameter = new OracleParameter(); outputParameter.ParameterName = "EMPLOYEE_AGE"; outputParameter.DbType = System.Data.DbType.Int32; outputParameter.Direction = System.Data.ParameterDirection.Output; cmd.Parameters.Add(outputParameter); cmd.ExecuteNonQuery(); Console.WriteLine("Employee age: " + outputParameter.Value); conn.Close(); } catch (Exception e) { Console.WriteLine(e.Message); }以上示例代碼演示了如何從.NET Core應用程序中調用Oracle存儲過程。在命令對象中設置CommandType屬性,將其設置為StoredProcedure。可以看到,在此代碼示例中,我們在OracleCommand對象中不僅設置了輸入參數,并且還設置了輸出參數。執行ExecuteNonQuery方法可以執行存儲過程并返回結果。 總之,在.NET Core應用程序中連接Oracle數據庫是一個非常重要的話題。在本文中,我們通過示例代碼演示了如何使用ODP.NET連接Oracle數據庫,并在應用程序中執行SQL查詢和存儲過程。我們相信本文可以幫助開發者更好地理解.NET Core與Oracle之間的連接方式。
上一篇css代碼里注釋符號