1. 程式人生 > >C#連線Oracle資料庫字串(引入DLL)

C#連線Oracle資料庫字串(引入DLL)

需求:從一臺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