我试图用这个连接格式无法连接到Oracle数据库在Ubuntu
sqlplus user/[email protected]:1521/dbname
连接到公司的DB和我越来越
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
这是我用来连接到数据库与蟾蜍和查询数据库相同的连接字符串。我究竟做错了什么?
我试图用这个连接格式无法连接到Oracle数据库在Ubuntu
sqlplus user/[email protected]:1521/dbname
连接到公司的DB和我越来越
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
这是我用来连接到数据库与蟾蜍和查询数据库相同的连接字符串。我究竟做错了什么?
Easy Connect格式只接受服务名称而不接受SID。从documentation:
这种命名方法提供了 数据库外的现成的TCP/IP连接。它通过 使客户端延伸主机命名方法的功能,与可选的端口 和服务名的同时连接到数据库服务器的数据库的主机名:
CONNECT [email protected][//]host[:port][/[service_name][:server]][/instance_name]] Enter password: password
的连接标识符转换为以下连接描述符:
(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port)) (CONNECT_DATA= (SERVICE_NAME=service_name) (SERVER=server) (INSTANCE_NAME=instance_name)))
如果dbname
在原来的企图表示SID,那么你就需要找出服务名代替。你可以从服务器上的lsnrctl services
或select value from v$parameter where name = 'service_names'
(如果你有权限),或者从SQL * Plus中获得show parameter service_names
,但是如果你无法连接到SQL * Plus,那么这对你没有任何帮助。蟾蜍正在使用TNS别名,那么它可能已经在您的tnsnames.ora
。
is port == 1521? – 2013-05-01 15:06:52
yessir,我只是把格式放在隐藏我公司的信息。现在将编辑。 – 2013-05-01 15:09:15
试试'user/pwd @ // url:1521/servicename' – 2013-05-01 15:11:02