Help Ole DB

di il
5 risposte

Help Ole DB

Ciao sono un nuovo programmatore in mega crisi devo effettuare una connessione usando ole db in una pagina asp, il server che ospita il database (Oracle) è diverso da quello Web
Il server oracle si chiama rm_sge_05 e il db si chiama DBPROVA

<b>Ho scritto il seguente codice:</b>
Set adb_cnn = Server.CreateObject("ADODB.Connection")
strDSN = "Provider=MSDAORA.1; Password=tiger; User ID=scott; Data Source=rm_sge_05.DBPROVA"
adb_cnn.Open(strDSN)

<b>Viene generato il segiuente msg di errore:</b>
Tipo di errore:
Microsoft OLE DB Provider for Oracle (0x80004005)
ORA-12154: TNS: non è stato possibile risolvere il nome
del servizio.

Qualcuno può aiutarmi GRazie

Aniello Focone

5 Risposte

  • Re: Help Ole DB

    Ciao, l'errore è in:
    strDSN = "Provider=MSDAORA.1; Password=tiger; User ID=scott; Data Source=rm_sge_05.DBPROVA"

    Prova a sostituirlo con:
    strDSN = "Provider=MSDAORA.1; Password=tiger; User ID=scott; Data Source=rm_sge_05"
    perchè per Data Source s'intende il servizio.

    o meglio, potresti provare ad utilizzare direttamente un driver della Oracle lo puoi scaricare dal sito (http://www.oracle.co) dopo esserti registrato!

    la stringa cambiarebbe solo nel nome del driver:
    strDSN = "Provider=OraOLEDB.Oracle; Password=tiger; User ID=scott; Data Source=rm_sge_05"<b></b>

    Don't be worry, is only a piece
  • Re: Help Ole DB

    Ciao aniello!
    Il tuo problema risiede nel fatto che il server Web da cui tenti di collegarti non ha installato del software Oracle (e piu precisamente i suoi servizi di rete (che non ricordo come si chiamano tra le altre cose....))...
    La soluzione piu rapida al tuo problema è creare un documento vuoto sul desktop chiamato prova.udl e farci doppio clic sopra (UDL = Universal Data Link) che ti permette di testare e configurare una connessione OLE DB utilizzando i vari providers disponibili.

    Accertato che la connessione va in porto, apri il file prova.udl con notepad e copiati la stringa di connessione cosi ottenuta nella tua pagina ASP e dovrebbe funzionare...

    Altra soluzione è specificare un data source in questo formato:

    hostname:porta:sid

    (nel tuo caso è cosi composot: rm_sge_05:1521:DBPROVA dove 1521 è la porta standard di connessione, rm_sge_05 è il tuo server Oracle (hostname) e DBPROVA il tuo SID di Oracle)...

    Spero di essere stato chiaro e utile!

    Ciao ciao

    Fisholo

    ICQ # 47938486
    --- --- --- ---
    http://winstb.altervista.org
  • Re: Help Ole DB

    Ciao Fisholo,
    la tua risposta è corretta (e chiara!) riguardo le specifiche di host, port e server (a contrario della mia!).
    Riguardo l'errore ORA-12154, però, Oracle lo riporta quando non è corretto il nome del servizio (ovvero quando quella serie di parametri specificati nel tnsnames.ora del client non sono verificati dalla stringa di connessione). Anche perchè se non ci fosse Oracle sul server, dove effettuaiamo la richiesta, come questi ci potrebbe restituire un errore Oracle (p.s. ti sarei grato se hai già verificato ciò e puoi dirmi di più)?
    Secondo me, per effettuare la connessione dovrebbe specificare i parametri da te elencati (valorizzandoli correttamente con le reletive stringhe del tnsnames.ora). Non credo che l'errore sia dovuto al software del server e del client mancante, o meglio la mancata presenza genererebbe altri errori!

    P.S.
    Come controprova, aprite un SQL*Plus (o simili!) ed associate ad un'utenza e password (anche corrette) un servizio sbagliato , anche il solito 'pippo' dovrebbe andar bene, e notate l'errore che vi restituisce!

    Grazie e aspetto vostre info,
    Asso Di Coppe

    Don't be worry, is only a piece
  • Re: Help Ole DB

    Hi AssoDiCoppe!
    Allora rileggendo meglio il tuo post iniziale si presuppone che sul server web (che ricordiamo NON è lo stesso dove risiede il db Oracle) ha installato le librerie CLIENT per la connettività (o solo esse)...

    Ora da quanto mi ricordo l'errore da te citato mi capitava quando Oracle Net non era configurato e quindi non riuscivo a collegarmi al mio host Oracle collegandomi solamente al SID, ma dovevo specificare la stringa HOSTNAME:PORT:SID e cosi si collegava....

    Al momento non sono in ufficio e non posso fare delle prove piu specifiche... cmq appena rientro (lunedi) provo e ti so dire con precisione!

    Bye Bye

    Fisholo

    ICQ # 47938486
    --- --- --- ---
    http://winstb.altervista.org
  • Re: Help Ole DB

    Ciao a Tutti! Io Ho lo stesso errore di Aniello ma non sono riuscito ancora a risolverlo!

    io ho scritto: <<dim rs, cn, cmd
    set cn = server.CreateObject("ADODB.Connection")
    set cmd = server.CreateObject("ADODB.Command")
    set rs = server.CreateObject("ADODB.Recordset")

    cn.Open "Provider=MSDAORA.1;Password=virestest1;User ID=virestest1;Data Source=database;Persist Security Info=True">>

    ma appena si tenta di aprire la connessione mi da l'errore. La stringa di connessione l'ho ricavata utilizzando il file prova.udl suggerito e la verifica della connessione è corretta! Ho anche fatto la prova come suggerito
    <<P.S.
    Come controprova, aprite un SQL*Plus (o simili!) ed associate ad un'utenza e password (anche corrette) un servizio sbagliato , anche il solito 'pippo' dovrebbe andar bene, e notate l'errore che vi restituisce!>>

    e con Pippo ottengo: <<TNS non è stato possibile risolvere il nome del servizio>>

    altri suggerimenti? Grazie e a presto...<i></i>
Devi accedere o registrarti per scrivere nel forum
5 risposte