zoukankan      html  css  js  c++  java
  • 需要访问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分钟的时间。

       

  • 相关阅读:
    第48天-shell(2013.09.25)
    嵌入式Linux gdb core dump快速定位程序crash问题
    va_arg va_start va_end 获取函数参数内容
    Ubunut apache2 服务器 搭建 文件下载
    CRC16 串口校验
    Linux 处理中文字符串 :/区分中文和英文的方法
    LINUX 工具移植:scp 快速拷贝文件到开发板
    打印内存变量定位 程序出现内存方面的问题
    Linux C 调用 ping命令 检测网络状态
    Ubuntu Gitlab 备份代码服务器
  • 原文地址:https://www.cnblogs.com/zhaobl/p/1428360.html
Copyright © 2011-2022 走看看