无oracle客户端,想使用plsql developer工具连接外部的oracle数据库,这个问题很久之前就一直在想有什么方法能实现,原因是oracle安装比较大,而且如果开机启动,费机器的资源,而且会有进程冲突情况出现(遇到和某软件冲突)。而且机器一旦重装电脑就又要安装数据库,特别麻烦。我本机的虚拟机里面安装了oracle,我如果想有测试环境只要开启虚拟机再用外部的plsqldev即可,或者连接公司和客户的oracle数据库也是非常方便。

步骤如下
【1】 在安装有ORACLE服务器的机器上搜索下列文件(以ORACLE10为例)
oci.dll                      
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll (可能没有,本人是网上其他地方下载的,用于验证用户密码)
sqlnet.ora
tnsnames.ora  (配置tns)
classes12.jar   
ojdbc14.jar
放到一个文件夹里面去,如ora_dev (名字无所谓,即OCI的解压目录).
【2】或者从官网上下载绿色版本的客户端,地址如下(或有改变)绿色版无需安装,将此下载解压至某处:

【3】在OCI目录其下建立一network目录,目录下再建admin目录,结构如下

<客户端目录 >/network/admin,在admin目录中建立tnsnames.ora文件,内容大致如下:
demo1 = #oracle服务名
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #oracle服务器地址与端口 )
      (CONNECT_DATA =
        (SERVICE_NAME = demo1)
      )
    )
注:可以直接从安装 Oracle的服务器的安装目录,如D:\oracle\product\10.1.0\db_1\network\admin下复制tnsnames.ora文件到此目录。

 【4】在PL/SQL developer中配置客户端信息。

打开 PL/SQL developer,暂不登录,选择菜单tools->preferences->connection,设置如下两项:
Oracle Home: D:\Program Files\instantclient_11_1       #客户端解压目录
OCI library: D:\Program Files\instantclient_11_1\oci.dll   #oci库文件路径, oci.dll应该在客户端目录下。
保存,重启 PL/SQL developer,些时应可看到登录框中Database下拉选项里有你刚刚配置的远程服务器上的服务实例demo1了。
【5】设置ORACLE的语言,添加环境变量: “NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,AMERICAN_AMERICA.WE8ISO8859P1为英文字符集,SIMPLIFIED CHINESE_CHINA.ZHS16GBK为中文字符集)
 cmd操作如:set nls_lang=SIMPLIFIEDCHINESE_CHINA.ZHS16GBK
  【6】注意:PLSQL DEVELOPER软件的使用TNSNAME.ORA文件优先顺序为:
1.如果有环境变量TNS_ADMIN(不管电脑有没有安装过ORACLE客户端)
  •  PLSQL DEVELOPER使用TNS_ADMIN目录下的TNSNAME.ORA
2.如果电脑中安装过ORACLE客户端 并且没有设置 TNS_ADMIN 变量,如果设置 TNS_ADMIN 变量将以该变量设置的目录下的 TNSNAME.ORA 为准 (不管PLSQL DEVELOPER软件中有没有设置ORACLE HOME)
  •  PLSQL DEVELOPER使用ORACLE客户端的ORACLE_HOME目录下的NETWORK\ADMIN下的TNSNAME.ORA
3.如果电脑中没有安装ORACLE客户端(即没有ORACLE_HOME变量或在注册表中没有ORACLE_HOME键值(位置为HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE))
  • PLSQL DEVELOPER使用软件定义的ORACLE HOME目录下的NETWORK\ADMIN下的TNSNAME.ORA