文章出處

“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             try
13             {
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             finally
29             {
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             try
48             {
49                 if (conn.State != ConnectionState.Closed)
50                 {
51                     conn.Close();
52                 }
53             }
54             catch (Exception e)
55             {
56                 Console.WriteLine(e.Message);
57             }
58             finally
59             {
60                 conn.Dispose();
61             }
62         }
63     }
64 }

最后附上dll下載:http://files.cnblogs.com/yjmyzz/Oracle.ManagedDataAccess.zip 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()