首页 > 代码库 > 免安装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种方法