odp.net连接方式,部署问题总结

 

一. 摘要

在C#开发的过程中,经常需要操作Oracle数据库,而实际在部署程序的时候,经常要根据系统环境(32、64bit)、不安装Oracle客户端等等需求,而Odp.net 也没有完美兼容的类库,应用可以调用, 所以部署起来总是碰到各种问题,挺头疼的,在这里,我对工作中碰到的问题进行总结一下。

二. 本文提纲

连接方式

32位系统

64位系统

免安装Oracle客户端

小结

三. 主要内容

 

连接方式

C#连接Oracle的方式,我一般都是通过odp.net 进行连接

 

<configuration>
    <connectionStrings>
      <add name="OracleDB" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=数据库IP地址)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=实例名)));User Id=账号;Password=密码;Min Pool Size=10;Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5; Decr Pool Size=2" providerName="Oracle.DataAccess.Client"/>
    </connectionStrings>
</configuration>

32位系统

1. 安装Oracle客户端:  ODTwithODAC1120320_32bit 

2. 直接调用即可,没什么好说的,如果要免安装客户端,下面会说到

 

64位环境

 

  1. 将ODAC121012Xcopy_x64.zip解压到磁盘中的某个目录,如:“D:\ODAC121012Xcopy_x64.zip”,然后在命令行进入这个目录,输入如下命令:“install.bat all C:\odp.net myhome(install all components)”。
  2. 运行上述命令后,将自动将所有的文件拷贝到C:\odp.net目录下,接下来,在命令行进入C:\odp.net目录,运行一下命令:“configure.bat all myhome(configure all component) ”。上述命令将自动想GAC注册ODP.NET相关的dll,同时在vs2010中添加引用的时候能看到想要版本的Oracle.DataAccess.dll。
  3. 最后需要添加系统环境变量Path, c:\odp.net;c:\odp.net\bin;

 

 

配置文件中添加

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.121.1.0" newVersion="4.121.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

 

 

免安装Oracle客户端:

将5个Oracle客户端的类库文件提取出来,放到程序根目录下,分别是oci.dll、Oracle.DataAccess.dll、orannzsbb11.dll、oraociei11.dll、OraOps11w.dll

 

 <system.data>
    <DbProviderFactories>
      <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
    </DbProviderFactories>
  </system.data>

关于64位系统下,暂时还未测试,Oracle客户端的类库也必须是64位的

 

四. 小结

在部署程序的时候,如果遇到一些捕捉不到的异常,底层跑出来的, 这个时候可以安装一下 C++ 的运行库 ,比如:vc2008redist 或 vc2010redist。

时间: 2024-10-02 09:10:16

odp.net连接方式,部署问题总结的相关文章

基于php-fpm方式部署LAMP

前言 CentOS 7: httpd-2.4:rpm包默认编译支持了fcgi模块: php-fpm包:专用于将php运行于fpm模式: 当我们使用php-fpm方式部署LAMP时,需要使用三台服务器,一台服务器作为http服务器,一台当作php-fpm服务器,一台作为数据库服务器.当http服务器接收到客户端的请求时,会通过本地磁盘IO返回出请求中的静态请求资源,当http服务器匹配到请求数据中的动态资源后,通过fastcgi将动态资源请求转发给php-fpm服务器的9000端口,php-fpm

gitlab两种连接方式:ssh和http配置介绍

gitlab环境部署好后,创建project工程,在本地或远程下载gitlab代码,有两种方式:ssh和http (1)ssh方式:这是一种相对安全的方式 这要求将本地的公钥上传到gitlab中,如下图: window客户机设置ssh方式连接gitlab,请见:http://www.cnblogs.com/kevingrace/p/5651402.html(文章底部有介绍) (2)http连接方式 这种方式要求project在创建的时候选择"Public"或"Internal

Centos7.5安装mysql5.7.24二进制包方式部署(主从复制)

一.环境准备: 操作系统:CentOS Linux release 7.5.1804 (Core) mysql版本:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz主库:172.16.8.247从库:172.16.8.249主机名:172.16.8.247 qas-zabbix-node01172.16.8.249 qas-zabbix-node02 二.mysql5.7安装 主库:172.16.8.247从库:172.16.8.249数据安装参考:一.Cen

Oracle Table连接方式分析

Oracle Table连接方式分析 表连接基本知识: 1.哪张表将驱动查询(即访问的第一张表)?按照指定的路径查询,何时将访问到没一张表?可选的驱动路径有哪些? 2.可能出现哪些Oracle连接?记住:在Oracle中,连接顺序.可选的索引.用于排序和建立散列表的可用内存的不同都会导致不同的结果. 3.哪些索引是可用的?哪些索引是可选的?索引的选择不仅仅将导致优化器使用或者限制一个索引,还将改变驱动查询的方式,并可能决定使用或者限制查询中其他的索引. 4.哪些提示提供了可选的路径?哪些提示限制

(转)Altium Designer PCB网络连接方式Port和Net Label详解

1.图纸结构      图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系:另一种是扁平式图纸,该连接关系是横向的,任何两张图纸之间都可以建立信号连接. 2.网络连接方式      Altium Designer提供了6类网络标识:Net Label(网络标号),Port(端口),Sheet Entry(图纸入口),Power Port(电源端口),Hidden Pin(隐匿引脚).Off-sheet Connector(图纸外连接符)

关联操作方式(表连接方式)

NESTED LOOPS(嵌套循环连接) 在嵌套循环连接中,oracle从第一个行源中读取第一行,然后和第二个行源中的数据进行对比. 所有匹配的记录放在结果集中,然后Oracle将读取第一个行源中的下一行.按这种方式直至第一个数据源中的所在行都经过处理. 第一个记录源通常称为外部表,或者驱动表,相应的第二个行源称为内部表.使用嵌套循环连接是一种从连接结果中提取第一批记录的最快速的方法. 在驱动行源表(就是您正在查找的记录)较小.或者内部行源表已连接的列有惟一的索引或高度可选的非惟一索引时, 嵌套

Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比

比较的指标: 1.cpu 2.流量 3.电量 4.内存占用 5.联网时间 功能点: 1.重试机制 2.提供的扩展功能 3.易用性 4.是否https 5.是否支持reflect api,OkHttp有配套方法 6.缓存.重试 7.cookie支持session  id会话支持 8.弱网性能和稳定性 9.超时时间,几种超时时间   连接超时,响应超时 10.适配各种机型.4.4和之前版本  2.3  4.1 5.0 4种网络连接方式提供的功能对比表格: 缓存 重试 Https/Http 稳定性 C

Java数据库连接——jdbc-odbc桥连接方式

jdbc-odbc桥连接方式操作数据库SU(Course) 步骤: 1.配置数据源 控制面板下搜索管理工具->ODBC数据源(32位)->添加->选择sql server(填写名称mytest,服务器local或者.)->下一步->更改默认的数据库为SU->下一步->测试数据源至成功 用户数据源会多一条mytest,至此配置数据源成功. 2.在程序中连接数据源 打开eclipse,编写程序. 1 public class Demo_1 { 2 3 public s

Apache+Django++mod_wsgi(ubuntu下虚拟机方式部署过程)

前几天以源码的方式部署了Apache+mod_wsgi+django的项目,见我的另一个篇博客 这几天也用apt-get方式安装Apache的方式,安装了部署了一次,其中有一致的地方,也有差别的地方,再此记录一下 环境ubuntu 16.04 +apache2.4.25 +django1.8+mod_wsgi-4.5.15+python2.7 Apache.Python2.7都是以apt-get install的方式安装的 django1.8 是pip install django==1.8的方