使用Oracle Instant Client

来源:互联网 发布:软件系统集成设计方案 编辑:程序博客网 时间:2024/04/30 20:24

使用Oracle Instant Client - SQLPlus (设置PLSQL Developer访问本机64位Oracle)


1、下载Oracle Instant Client

服务器系统Windows Server 2003,安装了Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 ,带有SQL*Plus。客户端系统Windows XP SP3,需要使用SQL*Plus对Oracle数据库进行操作。搜索了一下,发现Oracle Instant Client(http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html)正是所需。

如果只使用SQL*Plus,则下载以下两个包即可:
a)、Instant Client Package - Basic:
All files required to run OCI, OCCI, and JDBC-OCI applications
instantclient-basic-win32-11.1.0.6.0.zip (43,316,697 bytes)

b)、Instant Client Package - SQL*Plus:
Additional libraries and executable for running SQL*Plus with Instant Client
instantclient-sqlplus-win32-11.1.0.6.0.zip (788,050 bytes)

2、安装配置

a. 解压文件:

将instantclient-basic-win32-11.1.0.6.0.zip 和 instantclient-sqlplus-win32-11.1.0.6.0.zip解压到同一目录下(如:F:\Oracle\InstantClient)。

b. 环境变量设置:

F:\Oracle\InstantClient增加到系统环境变量PATH中。

再添加环境变量TNS_ADMIN (admin目录是自己新建的):
TNS_ADMIN=F:\Oracle\InstantClient\admin

可选环境变量:(注:NLS_LANG前半部分必须是AMERICAN_AMERICA,因为instant client不支持其他语言;而后半部分可以根据你数据库的字符集调整,如果数据库采用AL32UTF8,则可以设置AL32UTF8。)
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

c. 创建配置文件:

TNS_ADMIN所指目录F:\Oracle\InstantClient\admin下增加一个配置文件tnsnames.ora。这个文件可以直接从服务器的Oracle安装目录(E:\db.oracle11g.win64\product\11.2.0\dbhome_2\NETWORK\ADMIN\tnsnames.ora)下找到,直接复制过来。

tnsnames.ora:

# tnsnames.ora Network Configuration File: # Generated by Oracle configuration tools.ORCL =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = orcl)    )  )

3、使用SQL*Plus:

打开cmd,输入如下内容:

c:\>sqlplus sys/admin@orcl as sysdba

如果输出类似如下内容,则表示连接成功:

SQL*Plus: Release 11.1.0.6.0 - Production on 星期二 721 00:03:28 2009Copyright (c) 1982, 2007, Oracle.  All rights reserved.

连接到:

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL>

也可以这样输入:

c:\>sqlplus /nologSQL> conn sys@orcl as sysdba

输入口令:admin

4、注意问题:

a、以sys用户登陆后要加”as sysdba”,否则可能出现如下错误:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

b、如果不指定tnsnames.ora,则可能出现如下错误:
ORA-12154: TNS: 无法解析指定的连接标识符

c、如果不需要Instant Client了,想删除它,可能会发现无法删除F:\Oracle\InstantClient\oci.dll。这时,只要停止msdtc服务:"net stop msdtc" ,然后再删除即可。

5、32位的PLSQL连接64位的Oracle

PLSQL连接64位的Oracle,报告说无法加载oci.dll文件。原来oci.dll是64位的,32位应用程序PLSQL Developer自然无法加载了。
试验了下,解决办法如下:

  1. 下载32位Oracle InstantClient,并展开到某目录,例如C:\oracle\instantclient_10_2;
  2. 将系统的tnsnames.ora拷贝到该目录下;
  3. 在PLSQL Developer中设置Oracle_Home和OCI Library,如下图所示;
    这里写图片描述
  4. 在PLSQL Developer目录下编辑如下bat文件,替换其快捷方式;
    启动PLSQL Developer:
@echo offset path=C:\oracle\instantclient_10_2set ORACLE_HOME=C:\oracle\instantclient_10_2set TNS_ADMIN=C:\oracle\instantclient_10_2set NLS_LANG=AMERICAN_AMERICA.ZHS16GBKstart plsqldev.exe  

注:NLS_LANG前半部分必须是AMERICAN_AMERICA,因为instant client不支持其他语言;而后半部分可以根据你数据库的字符集调整,如果数据库采用AL32UTF8,则可以设置AL32UTF8

0 0
原创粉丝点击