2012-03-21 60 views
0

我有一个数据库,我试图通过SQL Plus连接到。我从命令行运行此命令:问题与SQL Plus

sqlplus username/[email protected]//hostname:port/sid 

我使用此连接字符串而不是使用tsnames。我一直得到的错误是

ERROR: 
ORA-12514: TNS:listener does not currently know of service requested in connect 
descriptor 

奇怪的是,使用相同的连接信息,我可以通过SQL Developer连接很好。我可以看到桌子,用户和其他一切。任何人都知道可能会发生什么?

P.S.我尝试设置tsnames,但它只是给出了与使用连接字符串相同的内容。

+2

什么是您尝试添加的tnsnames.ora条目?到底你如何配置SQL Developer?您是否在SQL Developer的“SID”或“服务名称”文本框中的SQL * Plus连接字符串中输入了“sid”?监听器是否实际上支持与数据库的SID具有相同名称的服务? – 2012-03-21 18:58:07

+0

数据库的SID和服务名称是否相同? – 2012-03-21 20:14:50

+0

在服务器上运行lsnrctl状态以查看注册了哪些服务。 – WaldiMen 2012-03-21 21:08:19

回答

0

所以我的老板找到了解决办法。当通过SQL Plus连接然后通过SQL Developer进行连接时,发现sid是不同的。看似就在这一个案例中。我不知道这是为什么,但这就是原因。很奇怪,我不明白为什么。

+0

你难以理解SID和service_name吗? – 2012-03-22 18:35:29

+0

我可以。我会搜寻两者之间的区别。 – Graham 2012-03-28 19:05:10

+0

SID是如何不同的? – 2012-08-04 18:49:54