我们项目中主要使用Oracle数据库,但每次重装自己的系统之后,都必须安装100多兆Oracle客户端工具,而项目组中多数人需要的仅仅只是用PL/SQL Developer 或TODA之类工具连接Oracle功能而已,既浪费时间又浪费磁盘。
今天忽发奇想,有没有办法弄一个绿色版的Oracle出来呢?经过参考网上相关资料及自己的N(N>10)次试验,终于搞出来一个山寨版的Oracle客户端(见附件)。已经做成自解压安装包,下载后把扩展名改为.exe然后执行一下,然后用 PL/SQL Developer连接数据库试试,如果连不上,那就重启一下操作系统再试。
另外,今天也因这而学到了如何通过注册来配置系统环境变量和用户环境变量,呵呵。
========================
2009-08-06:
今天网上搜到了Oracle官方的解决方案:
Oracle官方提供了名为“Instant Client Package”的软件,较好的实现了Oracle客户端绿化的解决方案。
首先从:
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
下载程序包:
instantclient-basic-win32-11.1.0.x.0.zip (目前有版本: 11.1.0.6.0 和 11.1.0.7.0)
或
instantclient-basic-win32-10.2.0.x.zip (目前有版本: 10.2.0.3 和 10.2.0.4)
或
instantclient-basic-win32-10.1.0.5-20060419.zip
然后解压到一个目录,例如:c:\ora92,然后在这个目录下建立NETWORK文件夹,接着再这个文件夹下再建立ADMIN文件夹,然后在ADMIN内建立tnsnames.ora文件,格式如下:
yourDataBaseName =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yourhostIp )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = yourSID )
)
)
例如:
# TNSNAMES.ORA Network Configuration File: C:\oracle\ora90\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
XMDS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 145.24.16.181)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = XMDS)
)
)
XMDS_SC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
这里根据自己的实际情况配置。接着打开PL/SQL,在“Tools-->perference”里面设置OCI Library和Oracle_home,我的设置是
Oracle_home=c:\orac9i
OCI Library=c:\ora9i\oci.dll,
。
上面的配置工作完成后,还需要做一点来解决中文乱码的问题:
写一个批处理PLSql_run.bat放到Pplsqldeveloper安装目录下,内容如下:
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
PLSQLDev.exe
这个脚本的作用是告诉PLSqlDev服务器端的字符集,以便于在客户端进行正确处理,如果服务端字符集不是ZHS16GBK,则上面的脚本文件也要相应改动,常用几个中文字符集如下:
set nls_lang=simplified chinese_china.zhs16cgb231280
set nls_lang=simplified chinese_china.ZHS16GBK
set nls_lang=simplified chinese_china.Utf8
#########
另外,网上有些说法是不同版本的包支持不同的Oracle服务器版本:
instantclient-basic-win32-11.1.0.x.0.zip -这个是支持Oracle 9i 以上的版(不包括Oracle9i)
instantclient-basic-win32-10.2.0.x.zip -这个是支持Oracle8i 和Oracle9i 的。
但在官网上我还没看到相关说明,我自己也没作测试,如果谁做过测试,不妨告知一下。