zoukankan      html  css  js  c++  java
  • C#远程连接Oracle数据库(不安装客户端)

    前言
    由于工作需要,现需要从远程Oracle数据库获取数据。本人开始以为可以直接远程,试了下竟然不行,提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。”。公司的要求就是不装客户端,没法子只好找找看有没有其他方案。

    Instant Oracle
    运气不错,还真找到一可用方案,就是Instant Oracle。
    关于Instant Oracle的介绍请看http://www.oracle.com/technetwork/database/features/oci/index.html

    下载Instant Oracle
    Instant Oracle的下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
    请根据操作系统和服务端Oracle版本选择下载,下载需要帐号,注册一下就行了。
    本人系统是Windows Server 2003,选择Windows(32位)版本。由于远程服务器装的是Oracle 10g,我选择了Version 10.2.0.5的Basic包,33.2M。至于其他的Basic Lite、JDBC Supplement、SQL*Plus、SDK和ODBC包,有兴趣的朋友可以自行研究。


    安装Instant Oracle
    其实不需要安装,解压就可以了,要不要重命名看个人了。这里说这些是想等下装个PLSQL测试下。本人将解压后的instantclient_10_2重命名为OracleInstantClient_10_2,拷贝到F盘根目录。

    PLSQL Developer
    如果需要安装PLSQL Developer,请按步骤设置。
    1.在刚才的F:\OracleInstantClient_10_2目录新建两个目录,层级为NETWORK\ADMIN。然后在新建一记事本,重命名为tnsnames.ora,打开后输入配置内容。将HOST、PORT、SERVICE_NAME改为自己的内容,至于第一行的orcl是与登录的时候有关,写成abc什么的都可以,不过登录时的Database也得填abc。

    orcl =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.60)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = orcl)
    )
    )

    2.设置环境变量(我的电脑->右键“属性”->高级->环境变量->用户变量),新建一个用户变量,变量名NLS_LANG,变量值SIMPLIFIED CHINESE_CHINA.ZHS16GBK。

    3.配置PLSQL Developer。Tools->Preferences->Oracle->Connection,设置Oracle Home为F:\OracleInstantClient_10_2,OCI library为F:\OracleInstantClient_10_2\oci.dll。
    4.重启PLSQL Developer,登录。

    远程连接Oracle
    说明:以上的环境变量、配置都是为PLSQL Developer服务的,单纯的远程Oracle就没必要做那些操作了,只需要拷贝4个dll到项目中就可以了。

    • OCI Instant Client Data Shared Library
      • oraociei10.dll (Basic version)
    • Client Code Library
      • oci.dll
    • Security Library
      • orannzsbb10.dll
    • OCCI Library
      • oraocci10.dll

    1.新建Windows窗体应用程序,新建窗体,命名为Form1。
    2.引用System.Data.OracleClient。
    3.拷贝oci.dll、orannzsbb10.dll、oraocci10.dll、oraociei10.dll到项目中,跟Form同级。然后设置这4个dll文件属性“复制到输出目录”为“如果较新则复制”。
    4.远程连接字符串,请改为自己的:Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.60)(PORT=1521))(CONNECT_DATA=(SID=orcl)));User Id=yourUID;Password=yourPWD;
    5.剩下的OracleConnection什么的就自己解决吧。

    附录
    Instant Oracle Using C# by Paul Groetzner http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

  • 相关阅读:
    【转】你可能不知道的Shell
    【转】28个Unix/Linux的命令行神器
    ubuntu创建桌面快捷方式
    linux解压zip乱码解决方案
    全能系统监控工具dstat
    【转】linux sar命令详解
    等级保护测评策略建议整改措施
    oracle dataguard详解和环境搭建
    Oracle RMAN备份和异机恢复
    Oracle异机恢复处理
  • 原文地址:https://www.cnblogs.com/ainijiutian/p/2290441.html
Copyright © 2011-2022 走看看