1. 程式人生 > >oracle不需要安裝客戶端通過vs連結資料庫

oracle不需要安裝客戶端通過vs連結資料庫

今天來談下oracle的一個類庫

     相信很多朋友寫程式多少都要連結資料庫,oracle資料庫在連結的時候需要用到oracle客戶端的類庫才能連線,這樣寫出來的程式使用起來非常的不方便,首先需要安裝oracle的客戶端,還要配置tnsname.ora檔案,這樣你寫的程式才能連線oracle資料庫。下面我就來介紹一種不需要安裝oracle客戶端,vs寫出來的程式一樣可以連線oracle資料庫。下面是具體的步驟。     1.原來連結oracle的時候,使用的是system.data.oracleclient這個引用,這個引用是微軟自帶的oracle資料庫訪問類庫,現在已經不再更新了,這個類庫依賴oracle客戶端的一些東西,所以使用的時候需要安裝oracle的客戶端才能連線資料庫。下面我們使用oracle提供的訪問類庫,Oracle.ManagedDataAccess.dll這個訪問類庫,直接到網上下載就行了,網上的資源很多,使用的時候直接新增到引用,
2.引用後在檔案頭新增Oracle.ManagedAccess.client; 3.資料庫連線字串格式如下:Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IP地址)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)));Persist Security Info=True;User ID=帳號;Password=密碼; 4.程式碼片段如下
using System;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Oracle.ManagedDataAccess.Client;
namespace oracletest
{
    class Program
    {
        static void Main(string[] args)
        {
            string constr = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=orcl)));Persist Security Info=True;User ID=***;Password=***;";
            string sql = "select * from student_tb";
            using (OracleConnection conn = new OracleConnection())
            {
                conn.ConnectionString = constr;
                conn.Open();
                using (OracleCommand cmd = new OracleCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = sql;
                    using (OracleDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                           string str = reader[1].ToString();
                           Console.WriteLine(str);
                        }
                    }
                }
                
            }
            Console.ReadKey();
        }
    }
}

親測有效!