当前位置:首页 > 技术知识 > 正文内容

本地配置plsql远程连接oracle数据库

maynowei10个月前 (08-03)技术知识168

由于Oracle的庞大,有时候我们需要在只安装Oracle客户端如plsql、toad等的情况下去连接远程数据库,可是没有安装Oracle就没有一切的配置文件去支持。最后终于发现一个很有效的方法,Oracle的Instant client工具包可以很好地解决这个问题,而且小而方便。

1、首先到Oracle网站下载Instant Client :

http://www.oracle.com/us/solutions/index-097480.html

解压之后的文件夹叫:instantclient_12_2.可以放在本地磁盘任意目录下.例如:D:/instantclient_12_2

2、在D:/instantclient_11_2目录下新建目录network,在network目录下再建admin目录,在admin目录下新建文件tnsnames.ora,打开写入如下内容

172.31.247.193_orcl =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = JIUHAO)

)

)

其中172.31.247.193_orcl是远程数据库在本地的主机名,172.31.247.193是远程服务器的IP地址,JIUHAO是远程数据库的名称。

3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径。

通过(我的电脑--属性--高级--环境变量--新建)来新增环境变量。

4、下载并安装PL.SQL.Developer配置应用

配置tools->preferences->connection

OracleHome

D:/instantclient_11_2

OCIlibrary

D:/instantclient_11_2/oci.dll

配置完成后关闭PL/SQL,再重启.

主机名就会出现在PL/SQLDeveloper的列表里,输入远程orcl数据库用户名密码,就可以登录远程oracle 数据库。

当我们连接成功后有时候查询出来的数据会出现乱码的问题,这是因为本地的编码和服务器端编码不一致,这时候我们可以通过SQL语句:

selectuserenv('language') from dual;

查询出服务器端的编码,如我自己的查询结果为

USERENV('LANGUAGE')

AMERICAN_AMERICA.ZHS16GBK

我们就需要添加一个环境变量NLS_LANG ,值为: AMERICAN_AMERICA.ZHS16GBK 然后重启PL/SQL就不会再有乱码问题了。

相关文章

微软明年要停止SQL Server 2005的技术支持了

站长之家(Chinaz.com)12月28日消息据外媒消息称,微软将于明年停止为SQL Server 2005提供技术支持,即不再为其提供新的安全补丁、新功能、应用升级等服务。且表示在停止技术支持后,...

ExpandListView 的一种巧妙写法(三十的另一种写法)

ExpandListView大家估计也用的不少了,一般有需要展开的需求的时候,大家不约而同的都想到了它然后以前自己留过记录的一般都会找找以前自己的代码,没有记录习惯的就会百度、谷歌,这里吐槽一下,好几...

C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解

在多线程编程中,线程同步是确保多个线程安全地访问共享资源的关键技术。C# 提供了几种常用的同步机制,其中 lock、Monitor 和 Mutex 是最常用的同步工具。本文将全面介绍这三种同步机制的用...

C++11 同步机制:互斥锁和条件变量

前段时间,我研究了 ROS2(Jazzy)机器人开发系统,并将官网中比较重要的教程和概念,按照自己的学习顺序翻译成了中文,进行了整理和记录。到目前为止,已经整理了20多篇文章。如果你想回顾之前的内容,...

C语言编写多线程,什么时候要使用互斥锁?为什么要使用互斥锁?

在多线程编程中,当多个线程同时访问共享资源(如变量、文件等)时,会出现竞态条件(Race Condition)问题,导致程序的行为不可预测。为了避免这种问题,需要使用互斥锁来保护共享资源的访问。互斥锁...

什么?Java 中的锁还有状态?(java中的锁都有哪些类型)

线程如果锁住了某个资源,致使其他线程无法访问的这种锁被称为悲观锁,相反,线程不锁住资源的锁被称为乐观锁,而自旋锁是基于 CAS 机制实现的,CAS又是乐观锁的一种实现,那么对于锁来说,多个线程同步访问...