从oracle公司站点
http://www.oracle.com/technology/so...cs/winsoft.html
下载
Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications
instantclient-basic-win32-10.1.0.4-20050513.zip (31,436,437 bytes)
*Instant Client Package - SQL*Plus: Additional libraries and executable for running SQL*Plus with Instant Client instantclient-sqlplus-win32-10.1.0.4-20050513.zip (267,941 bytes)
然后释放到c:/
然后从一台安装了oem的机器上复制
%ORACLE_HOME/network/admin/tnsnames.ora
到C:/instantclient10_1
再从http://www.anysql.net/software/ociuldr.exe
复制
ociuldr.exe 到C:/instantclient10_1
,其中ociuldr.exe 是一个文本导出工具
这样
C:/instantclient10_1将有下列文件
2005-08-05 12:36 <DIR> .
2005-08-05 12:36 <DIR> ..
2005-02-10 10:38 1,474,666 classes12.jar
2003-10-09 01:40 1,353 glogin.sql
2005-03-07 20:35 188,416 oci.dll
2005-02-10 10:35 61,712 ocijdbc10.dll
2005-08-04 11:10 49,152 ociuldr.exe
2005-03-07 19:45 274,432 ociw32.dll
2005-02-10 10:38 1,410,632 ojdbc14.jar
2005-03-04 05:02 995,600 orannzsbb10.dll
2005-03-07 20:37 1,065,436 oraocci10.dll
2005-03-07 20:36 82,325,504 oraociei10.dll
2004-12-14 20:45 22,945 README_IC.htm
2005-08-05 12:37 1,474 sqlnet.log
2002-01-08 13:11 265 sqlnet.ora
2005-02-17 21:10 684,032 sqlplus.exe
2005-07-26 12:50 1,366 tnsnames.ora
2005-08-05 12:37 917 uldrdata.txt
2005-03-07 20:37 <DIR> vc6
2005-03-07 20:37 <DIR> vc7
2005-03-07 20:37 <DIR> vc71
然后按照README_IC.htm的提示,设置环境变量
PATH为原来的PATH;C:/instantclient10_1,
SQLPATH,LOCAL,TNS_ADMIN为C:/instantclient10_1
然后运行cmd
c:>sqlplus /nolog
conn tom/tom@jia
可以发现已经能连接远程服务器了
我发现一个奇特的现象
oracle服务器为10.1.0.4的jia可以用
conn tom/tom@//10.6.99.120:1521/jia连接
而oracle服务器为9.2.0.6的075不可以用
conn tom/tom@//10.6.99.75:1521/epras连接
ociuldr工具的运行也反映了这个问题
--------------------------------
C:/instantclient10_1>sqlplus /nolog
SQL*Plus: Release 10.1.0.4.0 - Production on Fri Aug 5 12:32:54 2005
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn tom/tom@jia
????
SQL> conn tom/tom@jia
????
SQL> select cout(*) from tab;
select cout(*) from tab
*
? 1 ?????:
ORA-00936: ?????
SQL> select count(*) from tab;
COUNT(*)
----------
54
SQL> conn tom/tom@//10.6.99.120:1521/jia
????
SQL> conn tom/tom@//10.6.99.75:1521/epras
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
??: ?????? ORACLE?
SQL>
SQL> exit
C:/instantclient10_1>ociuldr user=tom/tom@jia query="select * from tab"
3100 bytes allocated for column TNAME (1)
800 bytes allocated for column TABTYPE (2)
4100 bytes allocated for column CLUSTERID (3)
0 rows exported at 2005-08-05 12:36:08
54 rows exported at 2005-08-05 12:36:08
C:/instantclient10_1>ociuldr user=tom/tom@//10.6.99.120:1521/jia query="select *
from tab"
3100 bytes allocated for column TNAME (1)
800 bytes allocated for column TABTYPE (2)
4100 bytes allocated for column CLUSTERID (3)
0 rows exported at 2005-08-05 12:36:41
54 rows exported at 2005-08-05 12:36:41
C:/instantclient10_1>ociuldr user=tom/tom@075 query="select * from tab"
3100 bytes allocated for column TNAME (1)
800 bytes allocated for column TABTYPE (2)
4100 bytes allocated for column CLUSTERID (3)
0 rows exported at 2005-08-05 12:37:02
57 rows exported at 2005-08-05 12:37:02
C:/instantclient10_1>ociuldr user=tom/tom@//10.6.99.75:1521/epras query="select
* from tab"
Cannot connect as tom/tom@//10.6.99.75:1521/epras.
Connection failed. Exiting...
C:/instantclient10_1>
--------------------------------
# TNSNAMES.ORA Network Configuration File: D:/oracle/ora92/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
tnsnames.ora内容
075 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.99.75)(PORT = 1521))
)
(CONNECT_DATA =
(SID = epras)
(SERVER = DEDICATED)
)
)
JIA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.99.120)(PORT = 1521))
)
(CONNECT_DATA =
(SID = jia)
(SERVER = DEDICATED)
)
)
---------------------------------------------------------------------------------------------------------
10G 中Instant Client 的使用
从10G开始,Oracle 提供了一个较为轻量级的客户包,叫做
Instant Client. 将它安装好后,就不用再安装庞大的
Oracle Client了. 这对于应用程序的分发是一个改进.
(用winrar3.3压缩后大概27M)
步骤:
1. 从OTN 下载几个压缩包,解压到一个目录, c:/instant client
instantclient-basic-win32-10.1.0.2.zip : 这是最核心的包
instantclient-jdbc-win32-10.1.0.2.zip: 包含JDBC Driver的包
instantclient-sqlplus-win32-10.1.0.2.zip: 最简单的SQLPLUS包
2. 配置环境变量和tnsnames.ora/sqlnet.ora文件
首先, PATH变量中加入 c:/instant client
如果你的机器从来没有安装过ORACLE的软件,注册表中
应该没有下面这个键:
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE
因此,我们可以写一个批处理的文件,手工的添加
环境变量, 例如:
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
最后,再配置tnsnames.ora和sqlnet.ora. 如果本机找
不到示例文件,就从server上拷贝一个.
3. 如果开发JAVA应用程序,还要配置一些环境变量,
例如CLASSPATH,JAVA_HOME等等. CLASSES12.jar 文件是
必须的,其他的根据需要添加.
4. 如果启动SQLPLUS时出现下面的错误:
ORA-12545: Connect failed because target host or object does not exist
试着把tnsnames.ora 中的host 改成IP地址.
作者:Fenng 时间:04-07-03 01:52
呵呵,这个小东西开发人员肯定比较喜欢
部署方便多了
作者:Kamus 时间:04-07-04 02:43
记得雪狼说过他打包过很小的oracle8和9的客户端
用于开发的和分发的
作者:yangbit 时间:04-07-12 16:39
用instantClient 的时候,oracle的文档不是说可以不用tnsnames.ora。
直接用
//host:[port][/service name]
such as:
//myserver111:5521/bjava21
或者
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=myserver111) (PORT=5521))
(CONNECT_DATA=(SERVICE_NAME=bjava21)))
我们在代码中用以上的不久行了?
作者:husthxd 时间:04-07-12 16:55
部署应用会方便很多
作者:fengsong_liu 时间:04-08-06 12:13
如何去读汉字
我的服务器设为UTF16,是日文的系统,
我的客户端是日文的2000,我已经把NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
但是我从客户端读数据是仍然有显示不出来的汉字。
能请教一下吗,还有点急。
作者:liziyu 时间:04-08-20 17:45
借帖子问一下。。
Oracle10g 的Instant client 安装后无法连接到server。。
下载Oracle10g的 Instant client,然后解压到一个文件夹中
然后设置了path路径。指向了c:/instant client
然后从服务器拷贝了tnsnames.ora和sqlnet.ora这两个文件
然后在客户机上运行了sqlplus...不行
提示
ORA-12560: TNS: 协议适配器错误
请教大家了..谢谢
作者:Kamus 时间:04-08-23 13:36
Re: 如何去读汉字
quote:
最初由 fengsong_liu 发布
我的服务器设为UTF16,是日文的系统,
我的客户端是日文的2000,我已经把NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
但是我从客户端读数据是仍然有显示不出来的汉字。
能请教一下吗,还有点急。
我的服务器设为UTF16,是日文的系统,
我的客户端是日文的2000
你却要把环境变量设置成ZHS16GBK
这自然是无法正确解码
改为UTF16
作者:LoveWinter 时间:04-08-24 14:06
Try this
这个问题我见过, 当时我的workaround是切换到安装
instant client 的目录,然后再执行sqlplus 就OK了.
出现这个问题的原因应该与注册表的环境配置有关系.
Instant client 是不会更新注册表的,但是传统的Oracle client
安装后肯定是要更新注册表的. 因此你可以在一台机器上
安装Oracle client, 然后将注册表中 HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE 分支下
的内容导出,再在另外一台机器上导入.
quote:
最初由 liziyu 发布
借帖子问一下。。
Oracle10g 的Instant client 安装后无法连接到server。。
下载Oracle10g的 Instant client,然后解压到一个文件夹中
然后设置了path路径。指向了c:/instant client
然后从服务器拷贝了tnsnames.ora和sqlnet.ora这两个文件
然后在客户机上运行了sqlplus...不行
提示
ORA-12560: TNS: 协议适配器错误
请教大家了..谢谢