標籤:
以前用Oracle的時候,必須得裝他臃腫的用戶端,網上雖然也有提供直連Oracle的驅動,但也是要收費的,最近Oracle終於開竅了,提供了官方的全託管驅動。
這次是隨Oracle ODAC 12c 發布包中包含的oracle全託管驅動,之前Oracle已經發布了兩個Beta版本的全託管驅動,但在測試中確實也發現了一些問題,這次發布的12.1.0.1.0 貌似已經是Release正式版了,經過簡單的測試,上一個版本我所碰到的Bug已經被修複,目前未發現有什麼新的問題,推薦大家使用。
:http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html
方法一:
| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
using System;using System.Collections.Generic;using System.Linq;using System.Text;using Oracle.ManagedDataAccess.Client;using Oracle.ManagedDataAccess.Types; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { string strConn = "User Id=test;password=test;" + "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.120.1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));" + "Pooling=false;"; using (OracleConnection con = new OracleConnection(strConn)) { con.Open(); string strSQL = "select * from USERS order by ID"; OracleCommand cmd = new OracleCommand(strSQL, con); OracleDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { string line = ""; for (int i = 0; i < reader.FieldCount; i++) { line += reader.GetName(i).ToString() + "=" + reader.GetValue(i).ToString() + " "; } Console.WriteLine(line); } } Console.ReadLine(); } }} |
方法二:
修改連接字串為
| 123 |
string strConn = "User Id=test;password=test;" + "Data Source=192.168.120.1:1521/orcl;" + "Pooling=false;"; |
這種寫法比較簡單,但如果有多個地址就不適用了。
方法三:
在下載的Oracle.ManagedDataAccess壓縮包中,\network\admin\sample目錄下有一個tnsnames.ora的檔案,修改此檔案設定資料庫的監聽資訊,將該檔案拷貝到應用程式根目錄下。
| 123 |
string strConn = "User Id=test;password=test;" + "Data Source=test;" + "Pooling=false;"; |
ORACLE官方全託管驅動 Oracle.ManagedDataAccess 12.1.0.1.0