使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解【转】
http://www.cnblogs.com/qinpengming/archive/2013/06/08/3127346.html
1,什么是ODF .NE,?就是Oracle 为 .NET (ODP.NET) 专门编写了 Oracle Data Provider,一个用于 Microsoft .NET 环境下的 Oracle 数据访问 API 。
详细解说 http://www.oracle.com/technetwork/cn/testcontent/o23odp-084525-zhs.html 对于官方的代码,已不存在了!
ODP.NET你不需要安装Oracle,不需要配置oracle.key文件,不需要配置TnsNames.Ora文件 不需要配置环境变量;完全的傻瓜式的在没有安装oracle数据库或者
客户端等任何oracle的产品的机器去访问Oracle数据库!
下面详细解说ODP.NET如何对Oracle的数据操作【可以完成建表,CURD( 增删查改)】
步骤一:获取支持数据库连接的类库文件:Oracle.DataAccess.dll 如何获取呢?
到官网去相应的版本http://www.oracle.com/technetwork/cn/topics/dotnet/index-088718-zhs.html
下载后安装后会在你的安装目录\DP.NET\BIN\2.X(图1)下出现这个Oracle.DataAccess.dll,把它复制到你的解决方案下 引用一下
图1
顺便点击一下Oraprovcfg.exe 自动配置了环境变量(图2)
图2
成功获取所要的dll文件,有些人还要去一个文件的去解压,去配置,我看不需要,如需要的话这个是详细的配置步骤
http://blog.csdn.net/Sunlihgt_love/article/details/5423926
步骤二:在正式使用之前,需要在项目中添加引用:
Oracle.DataAccess.Client 设置数据库的连接等等通用功能,
Oracle.DataAccess.Types 设置 oracle自定义的一些数据类型
步骤三:实例解说
如提供以下数据库的信息
数据库服务器地址:192.168.10.20
库名:44410g242
账号:44bikll
密码:487gf,.q
连接oracle的字符串就是这样的(提供我测试的2种方式)
//string conString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.20)(PORT=1521))" +
//"(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = 44410g242)));User Id=44bikll;Password=487gf,.q;";
string conString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.20)(PORT=1521))" +
"(CONNECT_DATA=(SID=44410g242)));User Id=44bikll;Password=487gf,.q;";
//写连接串以上2方法连接都可以,也可以放到Web.Config中。
以上的连接协议TCP和端口1521都是默认的 ,无需修改,如端口被占用了就需要改下。
本案例中涉及2个表TBLOCKLOG和TBACCOUNT

显示结果:
以下是: 1. 建立数据库
建立一个名为OracleTypesTable的表
"create table OracleTypesTable (MyVarchar2 varchar2(3000),MyNumber
number(28,4) Primary key ,MyDate date,MyRaw RAW(255))";
插入一行数据
"insert into OracleTypesTable values ('test',4,to_date('2000-01-11
12:54:01','yyyy-mm-dd hh24:mi:ss'),'0001020304')";
其他操作的说明:(使用说明:http://www.oracle.com/technetwork/cn/testcontent/o23odp-084525-zhs.html)
注意:
1,案例中的sql语句还是和mssql有一点区别的;
2,统计的话如果获取不到统计的数据的会报错,这就是我为什么加上if (rdr.GetOracleValue(0).ToString() == "null")//防止为空
3,WebSERVICE的时候不知道为什么他对用户名的大小写也有区分。
步骤四:部署说明
在部署到真实服务器的时候,你也同样按照步骤一中的步骤安装客户端ODP.NET文件,点击执行EXE文件自动配置环境变量,查看一下是否安装成功。
注意版本是否一致,这个是运行你的程序的关键,打开cmd,执行:C:\Documents and Settings\Administrator>sqlplus /nolog 就可以知道版本
我的结果:
以下找了很多与版本相关的文章---版本的问题 ODP.NET开发和部署的相关问题
http://www.cnblogs.com/yjmyzz/archive/2011/04/19/2020793.html
http://www.cnblogs.com/codingsilence/archive/2011/07/14/2146497.html
http://blog.chinaunix.net/uid-20049824-id-1980177.html
补充 其中11.2.0.3.50 Beta的将更合适快速操作Oracle,但是需要win7和.NET Framework 4的支持,一般企业估计还没有把win7当服务器的吧!
http://www.oracle.com/technetwork/database/windows/downloads/odpmbetainstall-1696475.html
网上的这个http://www.bitscn.com/pdb/oracle/200904/160401.html Instant client批量安装Oracle客户端-
安装配置还需要从安装过Oracle的机器上拷贝oracle.key文件还要配置环境变量。
就这么多吧,希望对你有所帮助。,下面是ODP.NET的dll
端午节快乐!
业精于勤荒于嬉 行成于思毁于随
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2015-06-01 终于会用c#中的delegate(委托)和event(事件)了 [转]