C#应用程序开发免安装Oracle户端的问题ppt课件.ppt
《C#应用程序开发免安装Oracle户端的问题ppt课件.ppt》由会员分享,可在线阅读,更多相关《C#应用程序开发免安装Oracle户端的问题ppt课件.ppt(14页珍藏版)》请在三一办公上搜索。
1、C#应用程序开发(CS) 免安装Oracle户端的问题,当前,随着数字化和网络化的发展,应用开发程序能够简洁部署已成为重要的应用环节。由于信息化的发展,我公司先后实施了电极箔生产管理系统,电子铝箔生产管理系统,高纯铝生产管理系统,每个生产管理系统都存在着ORACLE客户端的使用安装。维护工作量相当大。如何解决C/S架构下不安装ORACLE客户端是一个非常重要的问题,在开发生产管理系统项目中使用.Net链接Oracle数据库,有两个驱动:一个是Microsoft Corporation公司.Net产品自带的,一个是Oracle公司开发的ODP.Net的驱动。Microsoft Corporati
2、on公司.Net产品自带的驱动,必须用TNS方式连接数据库必须用TNS方式连接数据库,而不能用这种:Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.34)(PORT = 1521)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORC);User ID=admin;Password=admin;,一 、项目研发背景,开发Oracle的.Net程序,标准流程是先安装Oracle客户端,然后使用.Net自带驱动或者ODP.Net。其实只要按照这个流程来
3、做,基本上不会有错误,要错也只是TNS错而已。由于Oracle客户端实在是无比庞大,尽管后来可以只安装Oracle客户端运行时,仍然很大。 在此方案中,我们希望能做到免安装,伴随着我们开发的主程序拷贝过去就能用。经过多次测试,Oracle客户端运行时的关键在于OCI,也就是说,不管用什么语言写的程序,只要能找到运行时的oci.dll,基本上就能链接Oracle数据库了。,综合比较:Microsoft Corporation公司.Net产品自带的驱动和Oracle公司开发的ODP.Net的驱动,二、项目技术方案,1、Oracle数据库连接,采用ORACLE ODP.NEToci.dll: 主要是
4、Client.OracleCommand事件。ociw32.dll:主要是oracle客户端及网络组件。orannzsbb11.dll、oraocci11.dll、oraociei11.dll:Oracle.DataAccess.Client.OracleException异常事务处理Oracle.DataAccess.dll:数据库连接处理。OraOps11w.dll: 主要是Client.OracleCommand事件。实际上,这是使用ODP.Net经常遇到的问题,在ODP.Net中,Oracle.DataAccess.dll=OraOps11w.dll=oci.dll,前面两者的版本必须
5、100%匹配。应用程序必须找到上述文件的路径。,2、客户端监听处理。oracle.key、classes12.jar、ojdbc14.jarclasses12.jar、ojdbc14.jar必须在注册表里注册文件路径或环境变量。3.配置d:oracleinstantclient的tnsnames.ora文件,在当前NETWORKADMIN下存放文件tnsnames.ora只需要修改其中的服务器地址、服务名称和端口。 tnsnames.ora文件内容orcl =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.
6、16.4.181)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = orcl),4、注册表加入下面键值 变量名: 1) ORACLE_HOME 变量值:D:Program Filesinstantclient_10_2 2) 变量名:TNS_ADMIN 变量值:D:Program Filesinstantclient_10_2 3) 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 4) 修改Path变量,在后面添加 D:Program Filesinstantclient_10_2,三、网络实施的项目技
7、术方案,在做过的项目中,经常有连接Oracle数据库的情况,但是由于种种原因,无法在部署程序的电脑上安装Oracle客户端。这里提供了一种简单的,无需安装和多余配置的方法。适用于.NET C#。 网上有一些解决办法,通常是要下载对应版本的Oracle instant client, 但是这个客户端是个压缩包,解压之后,还要进行一些配置。对于客户来说,有时候配置这些也是比较繁琐的,因此这里把相关的内容总结一下,得出一个较为合理的方法。,本方法优点:1、程序内集成Oracle客户端,无需用户自行进行配置本方法缺点:2、增加程序包的体积(Oracle instant client本身有几十兆大小)下
8、面说一下如何实现。0、首先,从Oracle网站上下载对应版本的Oracle instant client包,网址在这里http:/ 1、下载来的.zip压缩包,解压后应该有如下文件:(测试是11G版本,10可能略有不同)classes12.jaroci.dllocijdbc11.dllociw32.dllojdbc14.jarOracle.DataAccess.dllorannzsbb11.dlloraocci11.dlloraociei11.dllOraOps11.dll其中Oraociei11.dll体积最大,可能封装了一些资源文件。,2、在你的工程根目录下新建一个”Oracle”的文件夹
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 应用程序 开发 安装 Oracle 问题 ppt 课件

链接地址:https://www.31ppt.com/p-1375483.html