我試圖用這個連接格式無法連接到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