Oracle Client 配置连接数据库

1.下载

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错误

 
解决中文乱码问题
环境变量中新加:

变量名:NLS_LANG

变量值:AMERICAN_AMERICA.ZHS16GBK


 

如果之前安装了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测试成功


=======================================================================================


ora-12514:TNS:listener does not currently know of service requested in connect descriptor 
这个错误让我们很烦恼

  今天上班的时候也发现了这个错误!细细想起来昨天下班前还正常,这之后记得机器上没有装什么其他的新的软件了,我也没有装什么优化软件和杀毒,唯一的可能就是我的是笔记本在公司分配得到的ip和家里的ip不一样,估计问题就在这里了.


在Google了一下然后发现了答案但是不全都是能解决 

方案:

问题所在---监听目前不知道要求服务连接描述符 

分析---这个错误是因为Listener出了问题,这个时候要检查一下listener.ora文件,看下是否存在如下配置: 

SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (SID_NAME = PLSExtProc) 
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1) 
      (PROGRAM = extproc) 
    ) 


       如果说是这样,那么请将一段改成 

SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
  (SID_NAME = PLSExtProc) 
  (ORACLE_HOME = E:\oracle\product\10.2.0\db_1
  (PROGRAM = extproc) 
  ) (SID_DESC = 
     (GLOBAL_DBNAME = ORCL) 
     (ORACLE_HOME = E:\oracle\product\10.2.0\db_1
     (SID_NAME = ORCL) 
  ) 

         这样以后,关掉Service和LISTENER。再启动Service和LISTENER,注意顺序。 

         

http://blog.csdn.net/icqsky/archive/2009/07/01/4313791.aspx上的描述是:(

查了一下,网上是说,加上了面一段东西,意思是把LISTENER服务主动注册到进程监视器(pmon)中去。所以,但你启动了Serivce后,启动LISTENER的时候,会主动去注册到进程监视器(pmon)中去。所以不会有什么问题。但是反过却不行。 

         如果说没有添加那一段,情况正好相反,是由实例的pmon进程在LISTENER中注册服务,LISTENER为被动注册。所以需要先起LISTENER才可以。
 )

到这里了重新开计算机也还是不得一样的错误还存在!这个时候不要担心 
还有个地方要修改 
找到 listener.ora 下的

LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) 
      ) 
      (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.112)(PORT = 1521)) 
      ) 
    ) 
  )

 

 注意以上红色字体是要修改的!

 

把红色ip地址换成你本机的ip 然后关了service服务和listener服务,就可以了,这个时候可能回报not listener 错误,这个时候你再关闭service服务和listener 多关开几次就可以了(注意配置要正确,如果配置的不对问题依然的!)


===========================================================================================


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值