標籤:
From:http://www.cnblogs.com/yjmyzz/archive/2013/11/01/3400999.html
“ODP.NET Managed”發布已經有一段時間了,近期正好有一個新項目,想嘗試用一下,參考園子裡的文章:《.NET Oracle Developer的福音——ODP.NET Managed正式推出》 到Oracle官網 下載 ODP.NET_Managed121010.zip 大約1.9M,解壓後目錄結構如下:
核心的dll,就是common目錄下的Oracle.ManagedDataAccess.dll,不象ODP.NET以前的版本,這次終於不用區分x86/x64版本了,不管是32位還是64位,都是同一個dll。
至於manged/x64、managed/x86這二個目錄,是用來向.NET x86或.NET x64的GAC註冊程式集的,運行相關的configure.bat後,會自動將common中的Oracle.ManagedDataAccess.dll放入GAC,這樣在vs中添加引用時,能自動找到GAC中的相關命名空間
運行了configure.bat的機器上,應用程式的bin目錄下不必包括Oracle.ManagedDataAccess.dll,就能正常運行了。
註:configure.bat這一步是可選的,添加引用時,完全也可以通過直接瀏覽Oracle.ManagedDataAccess.dll所在位置,將該dll複製到bin目錄下.
下面是最基本的使用代碼:
1 using System; 2 using System.Data; 3 using Oracle.ManagedDataAccess.Client; 4 5 namespace ODP.NET 6 { 7 class Program 8 { 9 static void Main(string[] args)10 {11 OracleConnection conn = null;12 try13 {14 conn = OpenConn();15 var cmd = conn.CreateCommand();16 cmd.CommandText = "select * from s_awb_master where rownum=1";17 cmd.CommandType = CommandType.Text;18 var reader = cmd.ExecuteReader();19 while (reader.Read())20 {21 Console.WriteLine(string.Format("AwbPre:{0},AwbNo:{1}", reader["AwbPre"], reader["AwbNo"]));22 }23 }24 catch (Exception ex)25 {26 Console.WriteLine(ex.Message);27 }28 finally29 {30 CloseConn(conn);31 }32 Console.Read();33 }34 35 36 static OracleConnection OpenConn()37 {38 OracleConnection conn = new OracleConnection();39 conn.ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=***.***.***.***)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=***)));Persist Security Info=True;User ID=***;Password=***;";40 conn.Open();41 return conn;42 }43 44 static void CloseConn(OracleConnection conn)45 {46 if (conn == null) { return; }47 try48 {49 if (conn.State != ConnectionState.Closed)50 {51 conn.Close();52 }53 }54 catch (Exception e)55 {56 Console.WriteLine(e.Message);57 }58 finally59 {60 conn.Dispose();61 }62 }63 }64 }
最後附上dll下載:http://files.cnblogs.com/yjmyzz/Oracle.ManagedDataAccess.zip
Oracle:ODP.NET Managed 小試牛刀