用PL/SQL远程连接Oracle服务器
背景:本地未安装oracle数据库服务器,希望远程连接Oracle服务器
测试环境:win7 64位系统
1.下载精简客户端
下载64位windows的instantclient-basic包,地址:http://www.oracle.com/technetwork/topics/winx64soft-089540.html,32位的需下载32位的客户端,将包解压存放到本地,我本机主目录是D:\software_dev\plsql\OracleClientPackage\instantclient_11_2
2.创建数据库连接的配置文件
在客户端主目录下新建sqlnet.ora和tnsnames.ora两个文件
sqlnet.ora文件写入:
SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
tnsnames.ora文件写入:
#可配置多个本地实例。格式: #本地实例名 = # (DESCRIPTION = # (ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 远程服务器端口号)) # (CONNECT_DATA = # (SERVER = DEDICATED) # (SERVICE_NAME = 远程数据库服务名) # ) # ) KOBRA_DEV_VPN= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.109)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = comstar) ) ) KOBRA_DEV_VPN_2= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.139)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = kobra) ) )
PS:不要出现本地实例名前面多空格,或者其他地方少写括号。否则连接时会报错:ORA-12154: TNS:could not resolve the connect identifier specified
3. 配置windows的环境变量
变量名:TNS_ADMIN 变量值:D:\software_dev\plsql\OracleClientPackage\instantclient_11_2
---->截图来自win10
PS:这里变量值即为instantclient在本地的主目录。如果不配置该变量,连接时会报错:ORA-12154: TNS:could not resolve the connect identifier specified
4.安装并配置PL/SQL Developer
(1)下载安装PL/SQL Developer工具
(2)配置oracle的连接参数:打开PL/SQL,打开工具-->首选项-->连接,配置Oralce主目录和OCI库
5.重新启动PL/SQL Developer
填写用户名、密码、选择数据库,确定连接
还可以用这种写法进行测试:
5.解决乱码问题
解决乱码问题需要关注的三点:
(1)Oracle数据库内部的字符集
(2)Oracle客户端应用所在环境的字符集
(3)Oracle数据库所在服务器的系统中NLS_LANG变量里保存的字符集(最好与前两点保持一致)
解决方法:
步骤一:查询Oracle数据库所在服务器的系统中NLS_LANG变量里保存的字符集
方式一:
select * from v$nls_parameters;
查询结果如下:
方式二:
select userenv('language') from dual;
查询结果如下:
上述方式都可查得:方式当前oracle服务器内部的字符集为 AMERICAN_AMERICA.AL32UTF8
步骤二:配置环境变量
配置oracle客户端所在环境的字符集,使其与oracle服务器内部字符集配置保持一致:
变量名:NLS_LANG 变量值:AMERICAN_AMERICA.AL32UTF8
步骤三:重启PL/SQL,进行测试
参考文章:
http://www.cnblogs.com/zhwl/p/3727565.html 不安装oracle客户端,用plsql连接oracle
http://gang-chen.iteye.com/blog/2005546 PLSQL乱码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步