专栏首页菩提树下的杨过Oracle:ODP.NET Managed 小试牛刀

Oracle:ODP.NET Managed 小试牛刀

“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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ORM访问器

        上一篇文章AgileEAS.NET之数据关系映射ORM简单介绍了一下AgileEAS.NET平台中ORM对象的组织机构体系,但并没有对其所执行的数据存取...

    魏琼东
  • Convert Access files to Pocket Access using Activesync 4.2 on windows mobile 5.0

        在06年的时候,我在Embedded Visual C++4.0的开发环境下,写了一个利用ADOCE来访问Pocket Access的程序,具体可以参考...

    ShiJiong
  • 修改Windows Mobile默认按键消息

    本文讲述了如何利用SHCMBM_OVERRIDEKEY来修改Windows Mobile默认按键消息的方法。 问题来源: 如何屏蔽talk键 (打电话的那个键)...

    ShiJiong
  • 反射类的构造函数

    <!-- 首先,通过Class获取类的字节码 Class clazz = Class.forName("com.marer.reflect.Person")...

    MonroeCode
  • ABP入门系列(17)——使用ABP集成的邮件系统发送邮件

    ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此。 #一、Abp集成的邮件模块是如何实现的 ?...

    圣杰
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 插件标记实现

          前面的文章AgileEAS.NET之插件接口IModule对插件的基本契约宝义也就是接口做了一个介绍,本文将提供另一种模块插件的定义,采用属性标记插...

    魏琼东
  • Windows Mobile上的小宇宙

      在codeproject上看到了一个非常有意思的应用,windows mobile上看星座图。试想下面一个场景,在北京寒冷冬天的一个晚上,西北风把城市上空的...

    ShiJiong
  • Windows Mobile上的蓝牙点对点通信

    实验室做短距离通信,蓝牙是其中主要技术之一。研究生入学复试的时候,大老板跟我们说,蓝牙的起源和一位弹钢琴的人有关,因为蓝牙用到了跳频,这个和手指在各个琴键之间跳...

    ShiJiong
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 统一数据访问

          统一数据访问(Uniform Data Access,简写为UDA)用于隔离系统和数据平台,使系统可以在各种数据库平台上自由移植。该数据库访问接口要...

    魏琼东
  • Endnote for Windows Mobile

      想必园子里有好多朋友都写过paper吧,在阅读文献的时候,是不是觉得管理文献这个事情很麻烦。我正处于刚刚起步的阶段,英语写译老师Greatlion给我们推荐...

    ShiJiong

扫码关注云+社区

领取腾讯云代金券