免安装Oracle客户端使用PL/SQL连接Oracle

旧时模样 提交于 2019-12-25 04:47:47

资料一***************************************************************************

1.下载Oracle Client Package .

从 http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html 下载

Instant Client Package – Basic 包 ( 标注 :All files required to run OCI, OCCI, and JDBC-OCI applications) 这里下载的是 Version 11.1.0.7

2.本地保存Oracle Client Package:

创建文件夹 , 比如 oracle_client, 将下载的文件加压缩到此文件夹里 .( 笔者目录 : D:\oracle_client\instantclient_10_2)

3. 在当前目录下 ,新建立两个文件,sqlnet.ora和tnsnames.ora然后再 手动配置 sqlnet.ora 和 tnsnames.ora

比如这里是 :

sqlnet.ora 文件内容 :

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

 

tnsnames.ora 文件内容 ( 斜体表示需要替换的内容 ):

orcl =

(DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl )

    )

)

 

4. 配置环境变量

变量名 : TNS_ADMIN

变量值 : D:\oracle_client\instantclient_10_2

否则出现 :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 错误 .

 

5. 安装 pl/sql软件(过程略)

6.配置pl/sql的Oracle连接参数:

选择 pl/sql 的工具 / 首选项 (too/ preference/ ) 里的连接 , 在右面设置 Oracle 主目录名 ( 即安装目录 ) 和 OCI 库 .

Oracle 主目录名 : D:\oracle_client\instantclient_10_2

OCI 库 : D:\oracle_client\instantclient_10_2\oci.dll

7. 登陆 pl/sql 测试成功

资料二/**************************************************************************************************

 大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的。有没要想过不安装Oracle客户端直接连接Oracle呢?

  利用Oracle提供的Instant Client Package

  只需要在Oracle下载一个叫Instant Client Package的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的。

  下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html下载这个,Instant Client Package - Basic包。然后解压到任意目录,在这个目录下建立NETWORK文件夹,接着再这个文件夹下再建立ADMIN文件夹,然后在ADMIN内建立tnsnames.ora文件,内容如下:

 


  yourDataBaseName = 
  (DESCRIPTION = 
  (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = yourhostIp )(PORT = 1521)) 
  ) 
  (CONNECT_DATA = 
  (SERVICE_NAME = yourSID ) 
  ) 
  )

 

  例如:

 


  # TNSNAMES.ORA Network Configuration File: C:\oracle\ora90\NETWORK\ADMIN\tnsnames.ora 
  # Generated by Oracle configuration tools. 
  LILO = 
  (DESCRIPTION = 
  (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.33.220.157)(PORT = 1521)) 
  ) 
  (CONNECT_DATA = 
  (SERVICE_NAME = Lilo) 
  ) 
  ) 
  EXTPROC_CONNECTION_DATA = 
  (DESCRIPTION = 
  (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) 
  ) 
  (CONNECT_DATA = 
  (SID = PLSExtProc) 
  (PRESENTATION = RO) 
  ) 
  )

这里根据自己的实际情况配置。接着打开PL/SQL,在perference里面设置OCI Library和Oracle_home,我的设置是OCI Library=c:\oracleclient\oci.dll,Oracle_home=c:\oracleclient。

  根据自己的实际情况配置,c:\oracleclient其实就是刚才下载下来的那个包的路径。

  配置工作基本完成,再做一个bat 批处理来解决字符集乱码的问题:

  写一个批处理plsql. bat放到plsqldeveloper安装目录下,内容如下:set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK PLSQLDev.exe这个字符集,指的是服务器端的字符集.

  ----

  常设的字符集:

  set nls_lang=simplified chinese_china.zhs16cgb231280 set nls_lang=simplified chinese_china.ZHS16GBK set nls_lang=simplified chinese_china.Utf8

  备注:

  instantclient-basic-win32-11.1.0.6.0.zip -这个是支持Oracle 9i 以上的版(不包括Oracle9i)

  instantclient-basic-win32-10.2.0.1.zip -这个是支持Oracle8i 和Oracle9i 的。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!