plsql链接instantclient_11_2报错

plsql链接Oracle登陆时报:

ora-12504:tns 监听程序在connect_data中未获得service _name

我是下载的instantclient_11_2 没安装Oracle,查百度需要配置listener.ora文件里
(ORACLE_HOME = e:\oracle\product\10.2.0\db_1);但我我没有路径,难道用instantclient_11_2还需要安装一个Oracle吗?

listener.ora文件在.....\instantclient_11_2\NETWORK\ADMIN\listener.ora 配置内容如下

# listener.ora Network Configuration File: e:\oracle\product\10.2.0\db_1\network\admin\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = F:\oracle\product\10.2.0\db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = oracle) (ORACLE_HOME = e:\oracle\product\10.2.0\db_1) (SID_NAME = oracle) ) )LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) )

我理解你是想要用plsql连接其它机器上的oracle数据库,对吗?
那么你这台机器就做为客户端,只需要安装客户端程序,是不需要配置监听的,只有服务器才需要监听
做为客户端连接远程服务器,你需要告诉plsql你要连接哪台服务器(ip)、数据库注册到服务器监听器上的service_name和端口是什么?
因此你需要配置连接到远程服务器的连接串,连接串定义在文件e:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora 中,你可以手工修改,也可以用netca修改,完整的格式是这样的:
连接串=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器地址)(PORT = 1521 监听端口))
)
(CONNECT_DATA =
(SERVICE_NAME = 数据库在监听上注册的服务名)
)
)
数据库在监听上注册的服务名:在服务器上执行lsnrctl status 即可得到
在plsql登录窗口的“database”位置输入连接串
10g以上客户端也可以用简化方式替代连接串来连接
在plsql登录窗口的“database”位置输入 服务器地址:监听端口/数据库在监听上注册的服务名
温馨提示:答案为网友推荐,仅供参考
相似回答