大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的。有没要想过不安装Oracle客户端直接连接Oracle呢?

    利用Oracle提供的Instant Client Package

    只需要在Oracle下载一个叫Instant Client Package的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的。

    下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html下载这个,Instant Client Package - Basic包。然后解压到任意目录,在这个目录下建立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.

    LILO =

    (DESCRIPTION =

    (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.33.220.157)(PORT = 1521))

    )

    (CONNECT_DATA =

    (SERVICE_NAME = Lilo)

    )

    )

    EXTPROC_CONNECTION_DATA =

    (DESCRIPTION =

    (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

    )

    (CONNECT_DATA =

    (SID = PLSExtProc)

    (PRESENTATION = RO)

    )

    )

    这里根据自己的实际情况配置。接着打开PL/SQL,在perference里面设置OCI Library和Oracle_home,我的设置是OCI Library=c:\oracleclient\oci.dll,Oracle_home=c:\oracleclient。

    根据自己的实际情况配置,c:\oracleclient其实就是刚才下载下来的那个包的路径。

    配置工作基本完成,再做一个bat 批处理来解决字符集乱码的问题:

    写一个批处理plsql. bat放到plsqldeveloper安装目录下,内容如下:set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK PLSQLDev.exe这个字符集,指的是服务器端的字符集.

         ----

    常设的字符集:

    set   nls_lang=simplified   chinese_china.zhs16cgb231280 set   nls_lang=simplified   chinese_china.ZHS16GBK set   nls_lang=simplified   chinese_china.Utf8

    备注:

    instantclient-basic-win32-11.1.0.6.0.zip    -这个是支持Oracle 9i 以上的版(不包括Oracle9i)

    instantclient-basic-win32-10.2.0.1.zip       -这个是支持Oracle8i 和Oracle9i 的。

注意

 

        按照以上步骤做下来后,有的读者可能仍然连接不到数据库。笔者经实验发现,原来是没有配置Oracle_home环境变量。文中只提到了在PL/SQL的perference设置。但其实光这么做连接是不成功的;另外,如果设置了Oracle_home变量,perference设置中可以不配置。

      笔者使用的pl /sql版本为8.0.3