您的位置:首页 > 数据库 > Oracle

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

2016-10-08 14:26 661 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: