首页 > 代码库 > 免安装Oracle客户端使用PL/SQL连接Oracle的2种方法

免安装Oracle客户端使用PL/SQL连接Oracle的2种方法

免安装Oracle客户端使用PL/SQL连接Oracle的2种方法

作者:netshuai  来源:博客园  发布时间:2009-10-23 09:19  阅读:171 次  原文链接   [收藏]

方法一:

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

其实我一直想这样做,因为这个客户端实在太让人讨厌了!!!不但会安装一个JDK,而且还会把自己放在环境变量的最前面,会造成不小的麻烦。

其实我之前问过很多人的,但是他们都说一定需要安装Oracle客户端的.......直到昨天无意中发现了以下这个方法:

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

下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

下载这个,Instant Client Package - Basic包。然后解压到任意目录,在这个目录下建立NETWORK文件夹,接着再这个文件夹下再建立ADMIN文件夹,然后建立tnsnames.ora文件,内容如下:

oracledata =http://www.mamicode.com/

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =http://www.mamicode.com/

(SERVICE_NAME = yourSID   )

)

)

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

根据自己的实际情况配置,其实就是刚才下载下来的那个包的路径。还有最后一个问题,需要设置一个字符集,这样查询出来的数据才不会是乱码,写一个批处理pldev. bat放到pl安装目录下,内容如下:

set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

PLSQLDev.exe

这个字符集,指的是服务器端的字符集,请根据实际情况配置。

最后,只要双击这个批处理,再填写帐号和密码就可以了

方法二:

前几天发了免安装Oracle客户端使用PL/SQL连接Oracle一文,巴士飞扬和我说,他早就用了另外一个更好用的绿色版本Oracle客户端,而且不需要太复杂的配置。

我比较了一下,我的文章中的方法,客户端比较大,30M左右。设置比较复杂,不过应该比较稳定。巴士飞扬所提供的包是一个3M多一点的,解压开来10M,应该是某位高人做的。

绿色版Oracle客户端下载(由巴士飞扬友情提供):Oracle客户端

大家也说说哪个好用吧!!!

使用特别注意:

使用的时候,只要复制到任意目录就可以了,不过默认的目录是:“C:\\ora90”。

如果需要更改默认设置,需要修改文件“Oracle9i.reg”里的默认“oracle_home”

把相关的路径都改为“实际”的oracle路径就可以了。

这种绿色安装方式还适合在操作系统从新安装的时候,如果你的oracle安装在非系统盘下,就可以使用废弃的安装目录,使用修改过的“Oracle9i.reg”注册就可以了。非常方便。本人已经尝试成功了。

这 里根据自己的实际情况配置。接着打开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 的。

1、打开cmd输入netca。

2、选择【本地net服务名配置】→下一步。

3、选择【添加】→下一步。

4、在【服务名】中输入你想要连接的服务器上的oracle服务的名字→下一步。

5、选择【tcp】→下一步。

6、在【主机名】中输入你想要连接的服务器ip,端口号不变→下一步。

7、选择【进行测试】→下一步。(当然你也可以选择不测试)

※1测试如果不通过,点击【更改登录】输入一个肯定能登入的【用户名】和【口令】→确定,出现【正在连接...测试成功。】表明测试成功。

※2测试不通过的话,点【上一步】确认你写的【服务名】和【主机名】,确认无误的情况下,确认你要连接的服务器oracle监听服务已经打开。

8、在【net服务名中】输入你想要使用的本地的服务名→下一步。

※就是【sqlplus user/passwd @本地服务名】。

9、选择【否】→下一步。

10、出现【net服务配置完毕】字样→下一步。

11、点击【完成】完成服务配置。

12、在上面服务配置完成以后,在cmd中输入如下命令即可远程登录oracle服务器:

sqlplus user_name/password@本地服务名

一定记住,上面的本地服务名是你第8步写的服务名。


免安装Oracle客户端使用PL/SQL连接Oracle的2种方法