C#連線Oracle資料庫字串(引入DLL)
阿新 • • 發佈:2019-08-09
需求:從一臺Oracle資料庫獲取資料,本以為是很簡單的事情,直接將原來的SqlClient換成OracleClient呼叫,結果遠沒自己想的簡單。要麼安裝Oracle客戶端,要麼安裝PLSQL。網上這方面搜尋後,太多的文章,還要不停的去測試。最後找個引入外部類庫的方式。這個DLL其實是Oracle為C#專門提供的,在它的官方也可以下載到(不過找起來很麻煩)。
這裡我就把這個方案和dll分享給大家。
連結:https://pan.baidu.com/s/17saKNnBVyDvMbt1L8lSf6A
提取碼:sr97
DEMO示例
using Oracle.ManagedDataAccess.Client; //引入名稱空間 private void button1_Click(object sender, EventArgs e) { string strSql = "select * from s_user"; DataTable dt = QueryDt(strSql); } //Oracle連線字串 private static string strconn = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.0.37)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=EMES)));Persist Security Info=True;User ID=EMES_DEV;Password=EMES_DEV;"; private DataTable QueryDt(string sql) { using (OracleConnection conn = new OracleConnection(strconn)) { try { if (conn.State != ConnectionState.Open) { conn.Open(); } OracleDataAdapter adap = new OracleDataAdapter(sql, conn); DataTable dt = new DataTable(); adap.Fill(dt); return dt; } catch (Exception ex) { return null; } finally { conn.Close(); } } }
連線字串格式:
1 格式: 2 string strconn = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.0.37)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=EMES)));Persist Security Info=True;User ID=EMES_DEV;Password=EMES_DEV;"; 3 4 格式: 5 string strconn = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=遠端伺服器IP地址)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=遠端伺服器資料庫服務名稱)));Persist Security Info=True;User ID=資料庫使用者名稱;Password=資料庫密碼;";
遠端伺服器資料庫服務名稱如下:
效果:
&n