最近業務需要讀取遠程Oracle數據庫的數據,這里簡單記錄一下。
這里采用的是Oracle.ManagedDataAccess方式連接Oracle數據庫,這種方式有幾個優點:①不用安裝Oracle客戶端;②不用區分32bit還是64bit;③使用簡單方便,可通過Nuget直接引入;④對EF和.Net Core提供了支持。
下邊簡單的使用一下,我們首先在Oracle數據庫存入兩條簡單的測試數據,如下:
通過Nuget獲取資源,現在顯示下載量為2.03M,應該是.Net平台下連接Oracle很火的工具了
引入這個包后,不需要其他的配置,也不用安裝Oracle客戶端,我們就可以直接連接Oracle數據庫進行操作了,使用方式ADO.NET一模一樣,下邊是讀取測試數據的代碼:
class Program { static void Main(string[] args) { //連接字符串 string connString =@"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.10.66)(PORT=9876))(CONNECT_DATA=(SERVICE_NAME=orcl)));
Persist Security Info=True;User ID=monitor;Password=monitor"; try { //測試:通過DataReader簡單查詢 using (DbConnection con = new OracleConnection(connString)) { con.Open(); using (DbCommand com = con.CreateCommand()) { com.CommandText = "select * from t_stu"; using (DbDataReader reader = com.ExecuteReader()) { while (reader.Read()) { Console.Write($"{reader["stuid"].ToString()}---" + $"{reader["stuname"].ToString()}---" + $"{reader["stusex"].ToString()}"); Console.WriteLine(); } } } Console.WriteLine("查詢完畢!"); ; } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } Console.ReadKey(); } }
運行程序如下: