开发Oracle数据库直接访问程序

 作者:肖凤斌 E-mail:binsweet@gmail.com       转载请保留该信息

        随着越来越多的公司的数据库迁移到Oracle下,很多软件公司的系统面临一个开发的问题。

        当你选择B/S方式时,意味着要牺牲很多效率和功能;选择C/S方式,又要面临系统安装Oracle客户端和发布的问题。

        那么我们有哪些可行方案呢?

        1、.net remoting--------开发较复杂

        2、仍然为C/S方式,数据库访问通过web service----增加服务器web压力,效率低

        3、asp.net -------潮流,但功能有限。但省去了客户端安装,现在流行AJAX,很多成熟系统都在转

 

 

        如果你多C/S模式的开发效率高、实现功能强大的优点仍然念念不忘,那么,你也可以采用如下方法:

        利用Oracle 的Instant Client来免去Oracle客户端的安装

        利用VS2005的在线发布免去安装之苦

       

        如何实现:

        其实很简单:

        在oracle网站上下载:Instant Client http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

        当前版本:Version 11.1.0.6.0

        /******************************

        2008-09-08 后记

        有人在pb6.5+oracle8.17下按本文使用时提示“oracore11.dll没有找到”,可升级到11.1.0.7 解决问题。

        原文如下:

        There's a known issue that ociw32.dll has a dependency on oracoreX.dll. It's fixed in 10204 if you want to revert to using the 10.2 instant client, and will also be fixed in 11g when 11.1.0.7 comes out.

If you need/want to continue using the 11g client (note that Microsoft doesnt support their driver/provider with anything past 8i) you'll need to use the full 11g client install instead of the instant client that comes with ODAC.

Or use Oracle's oledb provider instead.
       抱歉,该情况我没有遇到过,所以猜测11.1.0.7 应该没问题吧。

       ******************************/

        注意下载instantclient-basic-win32,而不是instantclient-basiclite-win32,因为basiclite只支持英文和西欧字符集

        下载后解压缩,只用到四个文件

        

  • OCI Instant Client Data Shared Library
    • oraociei11.dll (Basic version)
  • Client Code Library
    • oci.dll
  • Security Library
    • orannzsbb11.dll
  • OCCI Library
    • oraocci11.dll

同时创建一个tsanames.ora 文件并配置(不要告诉我你不知道tsanames.ora怎么配置),把这五个放到你的可执行程序目录下即可。

发布的时候也一同发布即可。

这样就不用安装Oracle客户端了。

 

至于VS2005的在线发布,你可以用 项目---属性---发布选项来发布。发布后第一次访问要通过网页,并进行安装(自动安装的),以后就不用安装了,况且如果版本不一致,还会自动下载更新本地程序。

 

这样,两个问题都解决了。

 

8月21日补充

如果是asp.net程序

需要在系统环境变量path中加上Instant Client所在的目录,如果Instant Client放在D:/InstantClient

第二步:

在注册表中

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment]
"LD_LIBRARY_PATH"="D:/InstantClient"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
"TNS_ADMIN"="D:/InstantClient"

重启计算机,就可以了

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

binsweet

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值