PL/SQL远程连接远程数据库(不用安装Oracle服务)-详细教程

本文提供了一个详细的教程,教你如何在不安装Oracle服务的情况下,通过PL/SQL远程连接到远程数据库。教程中提供了下载链接,帮助用户完成连接设置。
1、下载压缩包 instantclient-basic-win32-11.1.0.7.0.rar 并解压

   下载地址: http://download.csdn.net/detail/u012613095/9647375

     点击打开链接



2、在文件夹 instantclient-basic-win32-11.1.0.7.0.rar\instantclient_11_1 下面找到tnsnames.ora文件,
并添加要连接的数据库的信息


tnsnames.ora文件内容

-------------------------

orcl =   


(DESCRIPTION =      


  (ADDRESS_LIST =         


    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.146.143 )(PORT = 1521))      


  )       


  (CONNECT_DATA =        


    (SERVICE_NAME = orcl )      


  )


)


注:斜体加粗部分需要按要连接的数据库配置,如果端口是自定义的也需要相应变更。


3. 配置环境变量

变量名                       变量值

TNS_ADMIN     D:\Program Files (x86)\instantclient-basic-win32-11.1.0.7.0\instantclient_11_1


注:这里变量值即为instantclient在本地的主目录;如果不配置该变量,
连接时会报错ORA-12154: TNS:could not resolve the connect identifier specified。


如果之前安装了Oracle又卸载,会遗留NLS_LANG=NA的键值,输入RegEdit打开注册表HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE
在右面找到 NLS_LANG=NA 并删除掉
否则会报 ORA-12705:Cannot access NLS data files or invalid 错误。 


4. 启动PL/SQL Developer,并配置oracle的连接参数:

    在文件夹plsqldev中找到 plsqldev.exe并打开,配置Connection的Oracle Home和OCI library,如附件中图片所示:
   
  
  Oracle Home : D:\Program Files (x86)\instantclient-basic-win32-11.1.0.7.0\instantclient_11_1
  OCI library : D:\Program Files (x86)\instantclient-basic-win32-11.1.0.7.0\instantclient_11_1\oci.dll
 

5. 重新启动PL/SQL,登录测试,OK!

------------------------------------------------启动PLSQL如果乱码--解决方法如下步骤所示-------------------------- 
问题:PL/SQL插入和更新乱码。
 
解决乱码问题需要关注的三点:
 
1. Oracle数据库内部的字符集
2. Oracle客户端应用所在环境的字符集
3. Oracle数据库所在服务器的系统中NLS_LANG变量里保存的字符集(最好与前两点保持一致)
 
步骤一:查看当前oracle服务器内部的字符集配置;
                      select * from v$nls_parameters; 结果如下图所示(PLSQL乱码1):
                      
                      或者,select userenv('language') from dual; 结果如下图所示(PLSQL乱码2):
                     
                      即格式oracle服务器内部的字符集为:AMERICAN_AMERICA.AL32UTF8
 
步骤二:配置oracle客户端所在环境的字符集,使其与oracle服务器内部字符集配置保持一致,
              如果是window系统,但是没有安装oracle客户端,可以设置系统环境变量,如下图所示(PLSQL乱码3):
                  
                      或者,如果不想采用添加系统环境变量的方式,也可以在PL/SQL安装目录下新建一个批处理文件,
                      内容如下:
                                 SET NLS_LANG=AMERICAN_AMERICA.AL32UTF8
                                 start plsqldev.exe
 
                      如果是window系统,但安装了oracle客户端的,可以去注册表中设置NLS_LANG变量的值。
 
步骤三:重启PL/SQL,如果是采用编写批处理的方式,需要从批处理运行,重启后乱码问题解决。
 
 
附:  查看可选的数据库字符集 
         select *  from v$nls_valid_values;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值