1、要想使用PL/SQL需要先安装oracle客户端 (这个是必须的,要不然plsql就用不了,这个客户端可以去oracle官网上下载,名字叫instance client,尽量用较新的版本就可以了,windows版的大的也就50多M,还有精简版的20多M,地址:http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html ,挑个适合你的系统的版本的。)
oracle客户端的安装很简单,直接解压出来,放到你喜欢的目录下就算安装好了(比如我放在E:/instantclient_11_2这里了,instantclient_11_2就是客户端解压出来的目录)。
2、要使用oracle的客户端还需要配置一下,在oracle客户端目录里(E:/instantclient_11_2)新建个文件夹名字叫network,然后进入network目录再新建个目录admin ,然后进admin目录,在此目录下要创建连接oracle数据库的配置文件tnsnames.ora (就得是这个名字,其它名字无效),该文件内容如下:
wpsdb1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.3 )(PORT = 1521 ))
(CONNECT_DATA =
(SERVER = oracle1 )
(SERVICE_NAME = wpsdb.huacai.com )
)
)
第一行开头不能有空格,那个wpsdb1是oracle数据库的实例名(ORACLE_SID)(有人说这个可以随便写我没试过。。。),
第二行无所谓,等号后留空即可
第三行很重要,HOST后面那个ip是oracle数据库所在的主机的ip,要是有域名解析的话可以用主机名,后面的那个port是oracle监听的端口,一般是1521(该端口可在oracle主机上用命令netstat -ntlp|grep tnslsnr 查看)。
第四行无所谓,留空值即可
第五行那个oracle1是我的oracle的主机的主机名(可用命令hostname 查看)
第六行很重要,网上很多资料说这个地方填oracle的sid,其实不然(我把oracle的sid值填上去后报错:ORA-12154 TNS:监听程序当前无法识别连接描述符中请求的服务 ),实际上这里应该填的是oracle的服务名,要查看这个服务名可在oracle主机上用oracle账户 输入命令lsnrctl status 查看,我的得到的执行结果里有这样几行:
Services Summary...
Service "wpsdb.huacai.com" has 2 instance(s).
Instance "wpsdb1", status READY, has 2 handler(s) for this service...
Instance "wpsdb2", status READY, has 1 handler(s) for this service...
对比上面SERVICE_NAME我添的值,应该不难判断你的服务名是什么了。
3、像上面这样配置完了后plsql还不能登录oracle使用,因为它现在还找不到你的这个oracle的客户端,但是可以进入软件里面,进入软件,选择Tools->Preferences,在Oracle Home 和OCI Library 两栏中分别填入Oracle客户端的路径和OCI文件的路径(oci.dll文件直接在instantclient_11_2文件夹下),所以我在这两个选项中填写的内容是"E:/instantclient_11_2"和"E:/instantclient_11_2/oci.dll "。这时再登录就可以登录成功了。如若还不行就重启一下PL/SQL。
4、有时候可能会出现客户端对中文支持不好的问题,可参照如下第三条的环境变量设置:
桌面上,右键点“我的电脑”,选择“属性”,选择“高级”页中的“环境变量”,在系统变量中,增加:
桌面上,右键点“我的电脑”,选择“属性”,选择“高级”页中的“环境变量”,在系统变量中,增加:
1) 变量名:ORACLE_HOME
变量值:E:/instantclient_11_2
2) 变量名:TNS_ADMIN
变量值:E:/instantclient_11_2
3) 变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
4) 修改Path变量,在后面添加 E:/instantclient_11_2