2011-01-10 13 views
5

Sto provando a connettermi a un database Oracle tramite codice (Ruby/DBI, ma è irrilevante) utilizzando una stringa di connessione EasyConnect. Tutta la documentazione Oracle dice di specificare la stringa di connessione come // nomehost: porta/nome_servizio. Non ho un nome_servizio per il database a cui devo collegarmi, ho invece un SID. C'è un modo per creare una stringa di connessione EasyConnect usando un SID invece di un nome di servizio?Stringa di connessione Oracle EasyConnect utilizzando un SID?

mio codice di connessione è simile al seguente:

DBI.connect("DBI:OCI8://localhost:9000/the_sid", "username here", "password here")

continuo a provare cose diverse, e seconda di ciò che provo, ottengo uno dei due messaggi di errore:

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor (DBI::DatabaseError) 
ORA-12154: TNS:could not resolve the connect identifier specified (DBI::DatabaseError) 
+0

Sei sicuro di aver bisogno del nome host e del numero di porta? Il messaggio di errore sembra indicare che hai il listener TNS in esecuzione. Se i nomi di TNS sono configurati correttamente, la stringa di connessione potrebbe essere "DBI: OCI8: the_sid". – Codo

+0

Non ho i nomi TNS configurati. –

risposta

2

avete fatto provare il SID come nome del servizio? In genere è possibile specificare un SID in cui viene richiesto un servizio. SERVICE_NAMES di solito si imposta automaticamente sul SID. Al prompt dei comandi SQL, immettere:

SQL> show parameter service 

NAME         TYPE  VALUE 
------------------------------------ ----------- ------------------------------ 
service_names      string  sid 

SQL> 

Il valore (s) nella colonna valore è/sono il nome del servizio (s) il database è registrato come.

+0

Quando eseguo il comando da Oracle SQL Developer, non ottengo alcun output (forse non ho il permesso di eseguire quel comando?) –

+0

Credo che sia un comando SQL * Plus, quindi è necessario eseguirlo da lì . –

+0

È un comando SQL * Plus. Prova a eseguirlo da SQL * Plus. – DCookie

Problemi correlati