Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Oracle] problema con connessione a Ms Access tramite public database link

    Ciao,
    Ho necessità di collegarmi da Oracle ad un database Ms Access.
    Tale collegamento viene effettuato tramite un public database database link di Oracle.
    Fino ad oggi il database link puntava ad un file access in locale, sul server in cui è installato lo stesso Oracle.
    Adesso tale file non è più disponibile in locale ma si trova su un server in cloud ( perdonatemi se uso impropriamente certi termini, ma non sono un grande esperta).
    L'intervento che ho fatto è stato quello di modificare l'ODBC utilizzata dal db link affinchè non puntasse più al file .mdb in locale ma al nuovo file; per far questo ho mappato sul server la cartella condivisa su cui si trova il file e ho sostituito questo nuovo indirizzo nei parametri dell'ODBC. Eseguendo una query di select però, ottengo un errore ora 28500...invalid Path ( purtroppo adesso non l'errore completo, appena posso lo posterò). Di fatto sembrerebbe che Oracle non riesca a trovare il percorso specificato.A quel percorso di rete si accede usando un utente definito apposta, dunque temo che il problema di Oracle sia quello che tenta di accedervi con un altro utente e dunque no trova la cartella condivisa ( mia ipotesi, non so se sia sensata)...Veniamo al punto: vorrei capire con quale utente generalmente Oracle si collega ad una cartella di rete ( come se fosse il server stesso su cui è installato es: server1, oppure altro?). Posso dire a Oracle di usare uno specifico utente quando usa uno pecifico ODBC?
    Secondo voi il problema di connessione potrebbe essere dovuto a quando ipotizzato sopra oppure ho preso una cantonata madornale, e la cosa è diversa?
    Purtroppo vivo in una realtà aziendale un po' particolare, rigidamente divisa in reparti posti in paesi diversi,in cui il sistemista in loco non sa quel che fa Amazon che gestisce i serve in cloud, non abbiamo amministratori Oracle locali, chi gestisce il db access non sa nulla di Oracle, non parla con i sistemisti etc.....insomma mi trovo a non sapere cosa fare e a non avere nessuno a cui chiedere).....

  2. #2
    Ciao,

    Se fai cosi:

    SQL> CREATE DATABASE LINK PUBLIC dblink CONNECT TO

    2 "utente" individuati dalla "password" USO 'tns_name_entry';

    E quando cerchi di prendere i dati utilizzando il collegamento del database:

    SQL> SELECT * FROM DUAL @ dblink;

    ti viene un errore come segue:

    ora-28500

    La causa di questo errore è un firewall tra la macchina in cui si trova il gateway e il computer su cui SQL * Server è in esecuzione.

    Ciò che può aiutare è quello di impostare le informazioni di connessione come -

    HS_FDS_CONNECT_INFO = hostname: port // databasename

    invece di -

    HS_FDS_CONNECT_INFO = hostname / server nome di istanza / database.

    Controlla se è un firewall e provare la stringa di connessione suggerito.

    Cristiana,
    #OracleCloud

  3. #3
    Quote Originariamente inviata da CristianaPopa Visualizza il messaggio
    Ciao,

    Se fai cosi:

    SQL> CREATE DATABASE LINK PUBLIC dblink CONNECT TO

    2 "utente" individuati dalla "password" USO 'tns_name_entry';

    E quando cerchi di prendere i dati utilizzando il collegamento del database:

    SQL> SELECT * FROM DUAL @ dblink;

    ti viene un errore come segue:

    ora-28500

    La causa di questo errore è un firewall tra la macchina in cui si trova il gateway e il computer su cui SQL * Server è in esecuzione.

    Ciò che può aiutare è quello di impostare le informazioni di connessione come -

    HS_FDS_CONNECT_INFO = hostname: port // databasename

    invece di -

    HS_FDS_CONNECT_INFO = hostname / server nome di istanza / database.

    Controlla se è un firewall e provare la stringa di connessione suggerito.

    Cristiana,
    #OracleCloud

    Grazie Cristiana,
    lunedì appena arrivata in ufficio proverò come dici.
    Ho un solo dubbio: tu parli di sql server mentre io devo accedere ad un db MS access, per questo non saprei neppure cosa scrivere nella stringa hostname: port // databasename, io ho soltanto il percorso dove si trova il mio file .mdb. Nella stringa attualmente è indicato il nome dell'ODBC che utilizzo per il collegamento, suggerisci di sostituirla con il percorsoFile\nomedb.mdb?

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    prova anche questo suggerimento, se oracle è operativo su una macchina con windows,

    1 crea un file testo VUOTO, con il nome che preferisci e con estensione ".txt",

    2 rinominalo cambiando l'estensione da ".txt" a ".udl"

    3 cliccalo 2 volte (ovvero aprilo), ti si presenta il wizard per la connessione
    inserisci tutti i parametri della connessione al db access,
    provando le varianti possibili, ma soprattutto, esegui il test della connessione con l'apposito bottone

    quando la connessione funziona,

    4 apri il file ".udl" con il "blocco note" di windows
    all'interno troverai la stringa di connessione che hai generato con il wizard
    copia la stringa di connessione ed usala laddove ti serve

    queste operazioni le puoi fare su qualsiasi macchina, basta che sia windows ed abbia il "provider" disponibile
    con i file udl puoi connettere qualsiasi database è sufficiente disporre del driver nella scheda "provider"
    per esempio si possono usare negli script per accedere al db che interessa
    codice:
    Set tdb = CreateObject("ADODB.Connection")
    tdb.connectionstring = "file name=myDB.udl;"
    tdb.Open
    ciao
    Marino

  5. #5
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Interessante
    non conoscevo ancora i .udl

    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.