odp.net连接方式,部署问题总结
2014-11-05 13:36
309 查看
一. 摘要
在C#开发的过程中,经常需要操作Oracle数据库,而实际在部署程序的时候,经常要根据系统环境(32、64bit)、不安装Oracle客户端等等需求,而Odp.net 也没有完美兼容的类库,应用可以调用, 所以部署起来总是碰到各种问题,挺头疼的,在这里,我对工作中碰到的问题进行总结一下。
二. 本文提纲
连接方式
32位系统
64位系统
免安装Oracle客户端
小结
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位环境
将ODAC121012Xcopy_x64.zip解压到磁盘中的某个目录,如:“D:\ODAC121012Xcopy_x64.zip”,然后在命令行进入这个目录,输入如下命令:“install.bat all C:\odp.net myhome(install all components)”。
运行上述命令后,将自动将所有的文件拷贝到C:\odp.net目录下,接下来,在命令行进入C:\odp.net目录,运行一下命令:“configure.bat all myhome(configure all component) ”。上述命令将自动想GAC注册ODP.NET相关的dll,同时在vs2010中添加引用的时候能看到想要版本的Oracle.DataAccess.dll。
最后需要添加系统环境变量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。
相关文章推荐
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- ODP.NET开发和部署的相关问题
- asp.net使用ODP即oracle连接方式的的防注入登录验证程序
- asp.net mvc 项目IIS 部署未加载程序集问题原因总结
- 关于部署完asp.net程序后不能访问页面也不能连接数据库的问题
- asp.net使用ODP即oracle连接方式的的防注入登录验证程序
- 通过odp.net方式连接Oracle数据库
- Asp.net Mvc 使用EF6 code first 方式连接MySQL总结
- 总结一下ASP.NET MVC 网站的部署问题
- asp.net连接oracle的问题及方法总结
- ODP.NET开发和部署的相关问题
- asp.net连接oracle的问题及方法总结
- windows2003下asp.Net站点无法使用用户名+密码的方式连接SQLSERVER的问题
- 部署ASP.net Oracle连接错误的问题
- ASP.NET中对Exception的统一集中处理常见的有两种方式的一些问题总结
- 就自己使用ASP.NET写的小系统中出现的问题总结与解决方式
- Asp.net Mvc 使用EF6 code first 方式连接MySQL总结
- asp.net使用ODP即oracle连接方式的的防注入登录验证程序
- IIS部署ASP.NET网站后,使用浏览器打开连接不上的问题
- ASP.NET安装部署问题总结