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

要跑64位的.Net程序,就必须用64位的odp.net,要跑32位的.Net程序,就必须用32位的odp.net,
最后给出odp.net32位与64位的下载地址:
64位下载地址
32位下载地址

下载后安装后会在你的安装目录\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

端午节快乐

业精于勤荒于嬉 行成于思毁于随

使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解【转】的更多相关文章

  1. CAS (6) —— Nginx代理模式下浏览器访问CAS服务器网络顺序图详解

    CAS (6) -- Nginx代理模式下浏览器访问CAS服务器网络顺序图详解 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 nginx版本: nginx-1. ...

  2. Oracle 查询优化的基本准则详解

      注:报文来源:想跌破记忆寻找你 < Oracle 查询优化的基本准则详解 > Oracle 查询优化的基本准则详解 1:在进行多表关联时,多用 Where 语句把单个表的结果集最小化, ...

  3. oracle中的dual表详解

    oracle中的dual表详解 1.DUAL表的用途 Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户 SQL> s ...

  4. oracle数据库exp/imp命令详解

    转自http://wenku.baidu.com/link?url=uD_egkkh7JtUYJaRV8YM6K8CLBT6gPJS4UlSy5WKhz46D9bnychTPdgJGd7y6UxYtB ...

  5. oracle正则表达式regexp_like的用法详解

    oracle正则表达式regexp_like的用法详解 /*ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与IN ...

  6. Oracle中的substr()函数 详解及应用

    注:本文来源于<Oracle中的substr()函数 详解及应用> 1)substr函数格式   (俗称:字符截取函数) 格式1: substr(string string, int a, ...

  7. 【转载】MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解

    [原文链接]:MyBatis JdbcType 与Oracle.MySql数据类型对应关系详解 1. Mybatis JdbcType与Oracle.MySql数据类型对应列表 2. Mybatis ...

  8. Oracle排名函数(Rank)实例详解

    这篇文章主要介绍了Oracle排名函数(Rank)实例详解,需要的朋友可以参考下     --已知:两种排名方式(分区和不分区):使用和不使用partition --两种计算方式(连续,不连续),对应 ...

  9. oracle数据库的完整性约束规则详解

    CSDN日报20170303--<百亿互金平台救火故事> 程序员2月书讯 社区有奖问答--一起舞动酷炫的iOS动画 基于Spark的分布式深度学习和认知计算 oracle数据库的完 ...

  10. oracle数据库tns配置方法详解

    TNS简要介绍与应用 Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器. TNS ...

随机推荐

  1. appium环境搭建(python+windows)

    1.搭建Android开发环境 参见:http://blog.sina.com.cn/s/blog_44d19b500102voa7.html   2.安装Node.js 下载地址:https://n ...

  2. python学习-- settings 设置sqlserver连接

    PyCharm 开发工具 先打开项目 1.  ctrl+alt+s 2. project:项目名称  选中Project Interpreter,点右面+号 :搜索  django-pyodbc-az ...

  3. Codeforces 1139D(期望dp)

    题意是模拟一个循环,一开始有一个空序列,之后每次循环: 1.从1到m中随机选出一个数字添加进去,每个数字被选的概率相同. 2.检查这个序列的gcd是否为1,如果为1则停止,若否则重复1操作直至gcd为 ...

  4. 【转】Unity3D 射线Ray实现点击拾取

    游戏中经常会有鼠标移动到某个对象上来拾取它的功能,我们可以用Unity3D中的射线Ray实现这一效果.原理是在我们鼠标的位置,从屏幕射出一条射向世界空间的射线,当这条射线碰撞到我们需要拾取的对象时,我 ...

  5. 201621123034 《Java程序设计》第3周学习总结

    1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系.步骤如下: 1.1 写出你 ...

  6. dockerfile 镜像构建

    1.镜像的构建有手动与自动方式,这里我们介绍自动化的构建方式 ,dockerfile常用指令如下 2.构建指令build Usage: docker image build [OPTIONS] PAT ...

  7. jmeter作接口测试入门的简单使用说明

    一.添加接口信息 1.添加线程组 (1)路径如下图: (2)部分内容解释 a.  Number of Threads(users):线程数 b.  Ramp-Up Period(in seconds) ...

  8. Repeater的使用及其鼠标特效,行链接的使用

    原文发布时间为:2009-04-22 -- 来源于本人的百度文章 [由搬家工具导入] <asp:Repeater ID="rpt" runat="server&qu ...

  9. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---55

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  10. msm8917 GPIO Voh(min)

    有些 pin 可以當成多種 function, 此例以 GPIO function P3 voltage 為例 Voh(min) = 1.67 - 0.45 = 1.22 V