• 需要访问Oracle数据库应用程序的部署


    工作中一个项目需要从Oracle数据库中读取数据,部署时总是提示“需要 oracle 客户端软件 8.1.7 或更高版本” 从网上找资料也是说安装完Oracle 客户端之后需要设置权限之类的,但是一个几十兆的软件给客户附加一个几百兆的Oracle客户端上去,总感觉不爽吧,从网上查到 有 Oracle 9i 精简版客户端12.1M,于是想到访问Oracle无非就是使用了Oracle的一些Dll 和系统环境变量或者注册表里的某些键值,安装Oracle 9i 精简版客户端应该足够了。经过几个小时的 权限设置、连接串设置、配置文件设置 折磨后解决方法如下:

    1. 安装 Oracle 9i 精简版客户端,修改tnsnames.ora文件(默认路径C:\Oracle\ora90\network\ADMIN),修改内容如下:

       # TNSNAMES.ORA Network Configuration File: C:\oracle\ora90\network\admin\tnsnames.ora

    # Generated by Oracle configuration tools.


    #sample


    #DATABASENAME =

    #  (DESCRIPTION =

    #    (ADDRESS_LIST =

    #      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

    #    )

    #    (CONNECT_DATA =

    #      (SERVICE_NAME = servicename)

    #    )

    #  )


    ORACLE =  #这个名称在后面的连接字符串上用到了

      (DESCRIPTION =

        (ADDRESS_LIST =

          (ADDRESS = (PROTOCOL = TCP)(HOST = iii)(PORT = 1521))  #修改红色的 iii 为Oracle数据库服务器的名称或IP地址

        )

        (CONNECT_DATA =

          (SERVICE_NAME = oracle) #修改红色的oracle 为数据库名称

        )

      )


    ORACLEBCV =

      (DESCRIPTION =

        (ADDRESS_LIST =

          (ADDRESS = (PROTOCOL = TCP)(HOST = 130.81.100.136)(PORT = 1521))

        )

        (CONNECT_DATA =

          (SERVICE_NAME = scbus)

        )

      )

    REPORT =

      (DESCRIPTION =

        (ADDRESS_LIST =

          (ADDRESS = (PROTOCOL = TCP)(HOST = 9.83.70.14)(PORT = 1521))

        )

        (CONNECT_DATA =

          (SERVICE_NAME = report)

        )

      )

    修改注册表中 Oracle子键 NLS_LANG 的值和Oracle数据服务器上的一致,否则查询过来的内容是乱码。最后重启机器。


    2. 连接Oracle数据库的连接字符串写法

      <add name="DataAccessLibrary.Properties.Settings.ConnectionString"

          connectionString="Provider=MSDAORA;Data Source=oracle;Persist Security Info=True;Password=outpadm;User ID=outpadm" 

          providerName="System.Data.OleDb" />             #黄色的部分要和上面配置文件里黄色的部分一样


    这样问题解决,在xp下访问win2003下的 Oracle 10G 数据库 成功。

    虽然用了很长时间,但是感觉这样在客户那部署时会省下将近20-30分钟的时间。

       

  • 相关阅读:
    初试ASP.NET Web API/MVC API(附Demo)
    IP网络,光网络以及轨道交通的快速卸载随想
    解决Cocos2d-x3.0、3.1 &quot;_opendir$INODE64&quot;symbol(s) not found错误
    C strlen vs sizeof
    xUtils工具实现下载功能
    使用 PHPMailer 发送邮件
    自己定义TextView 调用ttf格式字体
    POJ
    C#实现麦克风採集与播放
    用程序来控制一个网页,实现自己主动输入等操作
  • 原文地址:https://www.cnblogs.com/zhaobl/p/1428360.html
Copyright © 2020-2023  润新知