从 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.youkuaiyun.com/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 多关开几次就可以了(注意配置要正确,如果配置的不对问题依然的!)
===========================================================================================