用Oracle10g带的instant client连接Oracle,无需安装oracle客户端

leon2k 2006-01-18 09:53:31
我一直希望客户端不安装oracle客户端,无论我使用java、delphi、c++,当知道oracle10g出了instant client轻量级客户端后,我就开始查找相关资料,终于可以了,将方法贡献出来,希望能帮助大家。

经测试,用oracle10g代的instant client连接oracle9.2,没有什么问题,根据instant client产品经理的说法,应该连接8i也没有什么问题。


Oracle 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
>>>> 此处设置这个根本没有用,可以在系统环境变量
中增加一个NLS_LANG,也可以在注册表中增加一个:
[HKEY_LOCAL_MACHINE\SOFTWARE\Oracle]
"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地址.

...全文
4790 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
建哥聊IT 2006-04-28
  • 打赏
  • 举报
回复
收藏!
leon2k 2006-02-06
  • 打赏
  • 举报
回复
我之所以这样做,主要是方便自己的程序控制安装和配置过程,
年前我将Oracle9.2中的OLE DB和ODBC驱动提取了出来,配合instant client使用,可以真正免除安装oracle客户端驱动的痛苦,当然,使用microsoft的oledb驱动也可以,不过他的ole驱动有一些问题,可能会带来麻烦。
xxiao07 2006-01-21
  • 打赏
  • 举报
回复
好,我去试!
Goshawkx 2006-01-19
  • 打赏
  • 举报
回复
访问 www.irisbay.com
可以下载 oracle 10g instant client的安装版
自动配置好了NLS_LANG等 TNS_ADMIN, 还能很方便的修改tnsnames.ora
支持pl/sql developer
leon2k 2006-01-19
  • 打赏
  • 举报
回复
怎么没有人进来,我好给分啊!
computerdragon 2006-01-19
  • 打赏
  • 举报
回复
好,我先试试。
leon2k 2006-01-18
  • 打赏
  • 举报
回复
谁顶下,我给谁分啊!
leon2k 2006-01-18
  • 打赏
  • 举报
回复
不过,我发现,PL SQL Developer不能正常运行,它可能需要安装oracle客户端,因为它是通过注册表查找oci、oracle主目录的,或者可以模拟安装oracle客户端后的注册表信息,我没有再试验,不过我想可能是可以的。
Oracle Instant Client 11.2.0.1.0是轻量级Oracle客户端,用于连接访问Oracle 9i、10g、11g 11.2.0.1.0版本的Oracle数据库。 Oracle Instant Client11.2.0.1.0 安装程序包含OCI/ OCCI、JDBC-OCI SDK(软件开发工具包),软件开发时所需的全部头文件和链接库。 此版本不支持 Pro*C/C++和.NET程序所需的Oracle Provider for OLE DB,如需支持上述功能,请访问并下载ODAC(Oracle Data Access Components,其包含 ODP.NET, Oracle Services for MTS, Oracle Providers for ASP.NET):  http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html  http://www.oracle.com/technetwork/cn/database/windows/downloads/index-101312-zhs.html 此版本集成了Oracle 11g 11.2.0.1.0中的实用工具tnsping、exp/imp,支持 Object Browser、TOAD等 Oracle 管理工具,并在Windows XP、Windows Vista、Windows 7平台下测试通过。 注意: 1. 请勿使用高版本的exp/imp工具对低版本的Oralce数据库进行导出,导入操作。 2. 安装完成后需手工配置 %TNS_ADMIN%\tnsnames.ora 文件,内容如下: ??? = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = xxxxxx) ) ) 1. 将 ??? 改为任意名字,这个名字将在你的程序或程序配置中用到。 2. 将 xxx.xxx.xxx.xxx 改为要连接Oracle 服务器的机器名或IP地址。 3. 将 xxxxxx 改为要连接Oracle 服务器的 SID,如不知道 SID,请询问安装 Oracle 数据库的管理人员。 相关网站: Oracle Instant Client 主页 http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html Oracle Instant Client 常见问题 http://www.oracle.com/technetwork/database/features/oci/ic-faq-094177.html#A3661 SQL*Plus http://download.oracle.com/docs/cd/E11882_01/server.112/e16604/apd.htm#sthref3169 SDK: OCI(Oracle Call Interface) http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10646/oci01int.htm#i423362 OCCI(Oracle C++ Call Interface) http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10764/install.htm#CACFFGHF 如需源码或技术支持: Email: gosearcher@gmail.com

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧