当前位置: 代码迷 >> SQL >> 32位PLSQL用不了Oracle64位的解决办法
  详细解决方案

32位PLSQL用不了Oracle64位的解决办法

热度:84   发布时间:2016-05-05 09:50:19.0
32位PLSQL用不了Oracle64位的解决方法

系统安装了Oracle 11g?R2 64位的服务端数据库,想用32位PLSQL来连接。

1 解压下载下来的客户端压缩包,存放到一个自己想要的路径。

2?把oracle服务端下NETWORK\ADMIN的tnsnames.ora文件复制到刚才下载下来客户端的NETWORK\ADMIN下,如果没有这个路径,请自行创建。

3?打开我的电脑->属性->系统属性->环境变量。在这里添加以下几个变量:(在命令行下查看变量值,echo %ORACLE_HOME%)

ORACLE_HOME:指向oracle服务端安装路径,没有这个变量的话,Oracle的Listener服务没法启动,如果没用到本地数据库的话,可以不添加。

TNS_ADMIN:用于指定tnsping下系统要到哪个路径下去找tnsnames.ora数据源文件。

NLS_LANG:变量值跟服务器查询到的值一致即可。(查询语句:select userenv('language') from dual;

4 打开PLSQL工具,点击cancel,进入界面,打开Tools->Preferences->Connections下

设置oracle的路径(指向下载下来的客户端路径,如:F:\app\bin\product\11.2.0\instantclient_11_2)

设置oci.dll路径(指向客户端下的ori.dll,如F:\app\bin\product\11.2.0\instantclient_11_2\oci.dll)

在客户端下的tnsnames.ora添加远程数据库源。重启PLSQL,打开连接。

tnsping命令:就是从TNS(tnsnames.ora文件)中读取HOST和POST参数,然后打开一个套接字连接,向监听发送一个ping,监听则以pong来响应。其他参数并不会生效,所以不能确定数据库实例和数据库服务是否可用,也不能确定如SID,SERVICE_NAME,INSTANCE_NAME等参数。

(所以可以用telnet <HOST> <POST>来代替,测试成功后再断开即可。)

sqlplus命令:用于远程登录数据库,有两种方式:

sqlplus <用户名>/<密码>@"(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP)(HOST=<ip>)(PORT=<port>)) (CONNECT_DATA= (SID=<别名>) (SERVER=<数据库名>)))"

?或

sqlplus <用户名>/<密码>@<别名> 

?

由于上传文件不能超过10MB,就不添加oracle 11g?r2 32位的客户端了,如需要请自行百度,或联系我要。

?

资料来自于:

http://blog.csdn.net/qtyl1988/article/details/37655295

http://orafaq.com/wiki/Tnsnames.ora

http://orafaq.com/wiki/ORACLE_HOME

  相关解决方案