plsql和eclipse都无法远程plsql连接远程数据库非本机oracle数据库

plsql developer远程连接oracle数据库 - gaojun - 博客园
问题描述:
使用win7(32位)上pl/sql developer 9.0.6远程连接Linux(64位)的oracle 10.2.0数据库。window上使用的oracle客户端是instantclient-basic-win32-10.2.0.3-及instantclient-sqlplus-win32-10.2.0.3-,把以上两个文件解压到一起,并创建与oracle服务器上内容相同的tnsnames.ora(IP、端口及数据库实例都一致)。我在CMD中使用sqlplus "sys/password@orcl as sysdba"能正常连接,但直接sqlplus后再输入用户名密码,提示
而直接使用plsql developer来连接的话就提示如下问题
解决方案:
问题的根本原因是由于oracle客户端版本与oracle数据库不兼容导致的!!!
基本步骤:
服务器端(Linux)
1、配置IP地址
vim ORACLE_HOME/network/admin/listener.org 查看其中IP地址,由域名改为IP,如&localhost.localdomain&&&10.1.10.121&
vim ORACLE_HOME/network/admin/listener.org同上操作
su & 切换到root用户
vim /etc/hosts
添加类似如下一行(如果在安装时已经配置就不需要了):
10.1.10.121 orcl(数据库实例) orcl
保存关闭后测试
2、客户端配置
下载oracle提供的远程连接需要的最小驱动包:instantclient-basic-win32-10.2.0.4.zip及instantclient-sqlplus-win32-10.2.0.4.zip(如果不需要sqlplus也可不下载)
下载地址:
下载完成后,将以上两个文件解压到同一个目录下,如:C:\instantclient_10_2(该目录在配置环境变量是有用的)
将在服务器端的%ORACLE_HOME\network\admin\tnsnames.ora拷贝一份放到C:\instantclient_10_2\network\admin中(network\admin文件夹需要自己创建,该文件也可在客户直接创建,并填入以下内容(注意IP及数据库实例):
# tnsnames.ora Network Configuration File: /oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL(数据库实例名) =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.50.135)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl(数据库实例名))
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
这就保证了客户端使用的连接配置与服务器是一致的。
修改环境变量:
在客户端windows中创建以下几个环境变量(用户或系统变量都可以)
(1) ORACLE_HOME= C:\instantclient_10_2
(2) LD_LIBRARY_PATH= C:\instantclient_10_2
(3) TNS_ADMIN= C:\instantclient_10_2
(4) NLS_LANG= SIMPLIFIED CHINESE_CHINA.ZHS16GBK
修改path变量,在最后加入&;ORACLE_HOME&
保存后关闭,此时客户端基本就配置完成了
sqlplus连接:
终端输入:sqlplus &sys /password@orcl as sysdba&或sqlplus &scott /password&都可以测试
plsql developer连接
基于以上配置,可以配置plsql develpoer来图形化管理oracle数据库。
下载并安装plsql developer,打开后直接取消,然后进入plsql develper界面,选择:工具-&首选项-&Oracle连接(默认打开就是这一项)中的oracle主目录名设置为:C:\instantclient_10_2及OCI库为:C:\instantclient_10_2\oci.dll
配置完成后保存关闭退出,然后再打开plsql developer连接数据库界面,输入用户名,如sys;密码,数据库实例名,如orcl,选择连接身份(sys使用sysdba)后连接就能正常的操作数据库了!!!PLSQL Developer连接远程Oracle数据库
要连接远程数据库,传统的一定可行的方法是在本地装一个oracle,然后使用“Network Configuration Assistant”配置,之后用PL/SQL Dev连接,因为需要在本地安装数据库,所以不是很方便
下面介绍另外一种方法
1、首先去oracle官网下载三个需要的压缩包
具体地址是:
需要的包:
instantclient-basic-nt-12.1.0.1.0.zip
instantclient-odbc-nt-12.1.0.1.0.zip
instantclient-sqlplus-nt-12.1.0.1.0.zip
下载PLSQL Developer
将下载的安装包全部解压,放在同一个目录下,比如在D:\oracle
2、“控制面板”-”系统”-”高级”-”环境变量”-”系统变量”添加几个环境变量:
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK(或AMERICAN_AMERICA.ZHS16GBK)
TNS_ADMIN = D:\oracle
LD_LIBRARY_PATH = D:\oracle
SQLPATH = D:\oracle
Path变量结尾添加D:\oracle
3、在D:\oracle下创建tnsnames.ora文件,在该文件中平配置如下代码,自己写容易出错,建议到装了oracle数据库的目录下去拷贝,如果你的电脑上安装了oracle,那么该文件的目录在D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN下,这是我的目录
# tnsnames.ora Network Configuration File: D:\Oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
以上文件中,ORCL是个连接标示符,可以自己修改,HOST是远程Oracle服务器的地址,PORT是Oracle的服务端口,没有修改过的话,默认是1521。Service_name是远程实例名称。可以直接在上面修改,也可以新添加一段代码,如下:
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.88)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = zyback)
)4、运行D:\oracle目录下的odbc_install.exe,安装ODBC驱动
5、配置PLSQL Developer客户端,如图:
关闭重启PLSQL Developer,输入用户、密码、数据库,如图:
这样就可以远程访问其他地方的oracle数据库了
没有更多推荐了,1、去下载Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications,instantclient-basic-nt-11.2.0.3.0.zip (51,149,941 bytes)
2、将下载的客户端包安装到例如D:\OracleClient下,最终客户端主目录是D:\OracleClient\instantclient_11_2
3、然后在D:\OracleClient\instantclient_11_2下新建network子目录,然后在network下新建admin子目录,最终在D:\OracleClient\instantclient_11_2\network\admin下新建tnsnames.ora文件,文件中具体内容如下:
XE =&&& (DESCRIPTION =&&&&& (ADDRESS_LIST =&&&&&&& (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))&&&&& )&&&&& (CONNECT_DATA =&&&&&&& (SERVICE_NAME = XE)&&&&& )&&& )
红色内容为要修改的内容,192.168.1.100是服务器的IP地址,XE是服务器数据库实例
4、打开PL/SQL Developer,在登录窗口中选择取消,然后在菜单工具-首选项中填写如下内容
Oracle主目录名:D:\OracleClient\instantclient_11_2
OCI库:D:\OracleClient\instantclient_11_2\oci.dll
5、关闭服务器端防火墙(根据自己需要设置防火墙允许策略),这一步非常重要,测试了很多次最后发现是防火墙的问题。
6、重新开启客户端PL/SQL Developer,然后用户名:hr 密码:oracle& 数据库:XE,连接为:normal
即可正常连接远程服务器了
在执行查询数据时如有中文字符,可能会出现乱码,解决办法如下:
字符集分为服务器端字符集和客户端字符集。
1、服务器端字符集一般安装Oracle数据库时都会选择中文字符集,如果不是,那只能通过其他方法修改了。
本案例假设服务器端字符集为中文字符集,通过SQL&select userenv(&language&)
结果如下:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
2、客户端字符集
在windows平台下,就是系统的环境变量中设置系统环境变量NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
还可以在dos窗口里面自己设置,比如:   set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK&这样就只影响这个窗口里面的环境变量。&
通过设置就可以查看和插入中文字符了。
阅读(...) 评论()今天在本机安装了oracle,配置完后,本机可以正常访问,用plsql也可以访问,但在其他机器使用eclipse使用ip连接我本机数据库时,总是报错,大概意思是无法建立连接。后在网上查找资料,终于解决,现分享如下:
listener.ora监听文件内容如下:
SID_LIST_LISTENER =
& (SID_LIST =
&&& (SID_DESC =
&&&&& (SID_NAME = PLSExtProc)
&&&&& (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
&&&&& (PROGRAM = extproc)
&&& )
&&&& (SID_DESC =
&&&&&& (GLOBAL_DBNAME = orcl)
&&&&&& (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
&&&&&& (SID_NAME = orcl)
&&&&& )
& )
LISTENER =
& (DESCRIPTION_LIST =
&&& (DESCRIPTION =
&&&&& (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
&&&&& (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
&&&&& (ADDRESS = (PROTOCOL = TCP)(HOST = 机器名)(PORT = 1521)))&&&
& )
注:只要加上黑体部分那一行就可以了。本机oracle其他机器不能访问
浏览: 4488 次
来自: 北京
好像对于&iframe& 有Bug啊, 加在&lt ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'在windows机器上不想安装oracle或者oracle的客户端,我们怎么使用PLSQL Developer工具呢?答案如下:
环境 & & & & & & & & & & & windows7 &64bit
目标环境 & & & & & & & centOS5.8 &64bit
1:在oracle官网上下载instantclient-basic-nt-11.2.0.3.0.zip该文件,下载地址为:。下载完成后解压该文件。如:我将其解压在E:\oracleClient\instantclient_11_2该路径下。进入到instantclient_11_2下创建目录NETWORK,然后再NETWORK下建立目录ADMIN。在ADMIN目录下建立tnsnames.ora文件,在该tnsnames.ora文件中添加如下内容:
ORACLR_CONNECTION_DATA&=&&&
&&(DESCRIPTION&=&&&
&&&&(ADDRESS_LIST&=&&&
&&&&&&(ADDRESS&=&(PROTOCOL&=&IPC)(KEY&=&EXTPROC1521))&&&
&&&&(CONNECT_DATA&=&&&
&&&&&&(SID&=&CLRExtProc)&&&
&&&&&&(PRESENTATION&=&RO)&&&
TEST&=&&&&&&&&&&&&&&&&&&&&&
&&(DESCRIPTION&=&&&
&&&&(ADDRESS&=&(PROTOCOL&=&TCP)(HOST&=&192.168.2.175)(PORT&=&1521))&&&
&&&&(CONNECT_DATA&=&&&
&&&&&&(SERVER&=&DEDICATED)&&&
&&&&&&(SERVICE_NAME&=&orcl)&&&
192.168.2.175--为数据库所在机器ip
2:环境变量的配置
打开环境变量设置添加TNS_ADMIN,值为tnsnames.ora所在路径。如本机为E:\oracleClient\instantclient_11_2\NETWORK\ADMIN\tnsnames.ora
设置ORACLE的语言,添加环境变量NLS_LANG,值为AMERICAN_AMERICA.AL32UTF8 &如果出现乱码可用SIMPLIFIED CHINESE_CHINA.ZHS16GBK& 3:下载并安装PLSQL Developer
安装完成后进入PLSQL Developer,选择tools-&preferences-&connection
Oracle Home& & & & & & &
E:\oracleClient\instantclient_11_2
OCI library
E:\oracleClient\instantclient_11_2\oci.dll
修改完毕后保存并重启PLSQL Developer就可以使用该工具了。
3:时间格式显示设置
打开环境变量添加NLS_TIMESTAMP_FORMAT,值为YYYY-MM-DD HH24:MI:SS:FF6。
这样就可以正常读取日期了。
阅读(...) 评论()}

我要回帖

更多关于 怎样远程连接打印机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信