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 System.Data; 3 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"],0)">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 void CloseConn(OracleConnection conn) 45 46 if (conn == null) { ; } 47 48 49 if (conn.State != ConnectionState.Closed) 50 51 conn.Close(); 52 53 54 (Exception e) 55 56 Console.WriteLine(e.Message); 57 58 59 60 conn.Dispose(); 61 62 63 } 64 } 最后附上dll下载:http://files.cnblogs.com/yjmyzz/Oracle.ManagedDataAccess.zip 作者: 菩提树下的杨过出处: http://yjmyzz.cnblogs.com 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 分类: 02.FrameWork/C#, 08.Database 标签: oracle,.net,odp.net 好文要顶 关注我 收藏该文 菩提树下的杨过 关注 - 6 粉丝 - 2381 荣誉: 推荐博客 +加关注 1 0 ? 上一篇: C#:Func的同步、异步调用 ? 下一篇: Mybatis.Net 整合 ODP.NET Managed posted @ 2013-11-01 10:00 菩提树下的杨过 阅读( 8446) 评论( 6) 编辑 收藏 评论列表 #1楼 2013-12-26 20:53 古秋 不知道楼主遇到我这个问题没有 http://q.cnblogs.com/q/58385/ 支持(0) 反对(0) #2楼 2014-01-04 10:51 古秋 Oracle.ManagedDataAccess 的OracleCommandBuilder 生成insert update delete 语句有问题 支持(0) 反对(0) #3楼 2014-03-19 16:51 JeffreyChen 请问是否需要装Oracle 12c,我使用ODP.NET_Managed121012+Oracle 11g R2测试时,报错:An unhandled exception of type 'Oracle.ManagedDataAccess.Client.OracleException' occurred in Oracle.ManagedDataAccess.dll Additional information: ORA-12154: TNS: 无法解析指定的连接标识符 支持(0) 反对(0) #4楼 2015-01-21 15:03 MR_ke 我win7下可以,xp不行。 有完整的安装包吗?发我一个谢谢。 4567146@qq.com 支持(0) 反对(0) http://pic.cnblogs.com/face/u88170.jpg #5楼 2016-02-23 15:17 eastday 多谢, 成功运行! 支持(0) 反对(0) #6楼 3418972 2016/4/27 21:14:29 2016-04-27 21:14 小熊小熊 XP系统支持吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |