• 杂记1:不安装Oracle客户端远程连接Oracle的方法


    方案是使用Oracle Instant Client:

    http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

    步骤一:

    到Oracle官方网站下载对应的Instant Client版本,下载basic版本即可,比如我下载的是:

    instantclient-basic-win32-10.2.0.4.zip

    建议再下载sqlplus,以便配置结束后进行测试:

    instantclient-sqlplus-win32-10.2.0.4.zip

    步骤二:

    新建一个文件夹,用于解压缩下载的文件,比如:

    C:Oracle

    然后把步骤一下载的压缩包解压至该目录下。

    步骤三:

    在环境变量中增加:

    NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    TNS_ADMIN=C:Oracleinstantclient_10_2

    ORACLE_HOME=C:Oracleinstantclient_10_2

    修改Path环境变量,在最前面增加:

    C:Oracleinstantclient_10_2;

    注意:红色部分路径要换成你自己的实际路径

    步骤四:

    在C:Oracleinstantclient_10_2路径下创建tnsnames.ora文件。

    添加如下Oracle服务信息:

    cywms =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.80)(PORT = 1521))
        )
      (CONNECT_DATA =
        (SERVICE_NAME = cywms)
      )
    )

    注意:红色部分要换成你的Oracle连接信息

    步骤五:

    至此,InstantClient已经安装完成。我们打开cmd命令行测试一下:

    sqlplus /nolog

    应该可以看到sqlplus的版本信息,使用以下命令连接到Oracle实例:

    connect sa/system@cywms

    如果出现“已连接”就说明我们连接成功啦:-)

    注意:请使用你自己的用户名、密码和数据库服务名

    步骤六:

    在C#代码中连接Oracle数据库:

    using System.Data.OracleClient;

    OracleConnection conn = new OracleConnection("Data Source=cywms;user=sa;password=system;"); try { conn.Open(); string sqlString = "select * from table1"; OracleDataAdapter myAdapter = new OracleDataAdapter(sqlString, conn); DataTable myDataTable = new DataTable(); myAdapter.Fill(myDataTable); return myDataTable; } catch (Exception e) { return null; } finally { conn.Close(); }

    其他:

    问题1:我的操作系统是Win7 64位,使用VS2010开发,连接数据库时报BadImageFormatException

    如果在64位的操作系统中报以上错误,请重新下载32位版本的InstantClient,不要问我为什么:-P

    网上有资料说还要修改项目的目标平台(项目右键-属性->生成->目标平台)为x86,经测试使用32位Client后,“Any CPU”也是可以的:)

    问题2:PL SQL登录时候没有读取tnsnames.ora下配置的服务信息

    打开PL SQL取消登录,打开工具(Tools)属性(Performances)窗口

    如上图,删除Oracle Home和OCI library的配置,我们已经配置了环境变量,让PL SQL自动读取就OK了:-)

    参考:

    http://www.cnblogs.com/chinalantian/archive/2011/09/09/2172145.html

  • 相关阅读:
    java笔记 chapter3 对象,抽象,package,import,权限修饰符,属性,方法,构造方法
    javass 视频笔记三 switch语句 for循环,while循环,do-while循环,break和continue
    java笔记 chapter1 java是什么,能干什么,有什么,特点,开发环境
    在用SSH框架中的碰见的一些问题
    这几天写MFC时候碰到的一些问题!
    2_1.8_点击按钮__改变背景颜色
    1_1.7_hello_android
    phpstudy客户端的使用
    navicat
    iptables防火墙
  • 原文地址:https://www.cnblogs.com/wuchaochao/p/4305719.html
Copyright © 2020-2023  润新知