2013-06-14 2 views
25

Sto tentando di aprire un programma per la prima volta su Windows XP Pro che utilizza PostgreSQL 9. Ricevo un messaggio di errore che dice :[Microsoft] [Gestione driver ODBC] Nome origine dati non trovato e nessun driver predefinito specificato

A problem was encountered while trying to log into or create the production database. Details: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Nel mio manager ODBC, ho una lista di di DSN utente e DSN di sistema di. Ho provato ad installare un driver odbc postgres per vedere se sarebbe stato d'aiuto, ma non è stato così.

C'è un file connect.dat nel file di programma con una riga che dice "Provider OLE DB = MSDASQL". La modifica di questa voce altera il messaggio di errore che compare in "Impossibile trovare il provider, potrebbe non essere installato correttamente".

Non so quale nome del provider inserire per farlo funzionare correttamente. Ho fatto ricerche approfondite su questo errore senza successo. Ogni suggerimento sarà molto apprezzato.

+0

Se qualcuno ancora alla ricerca della soluzione a questo problema, avviare la R & S da parte del driver ODBC. Controlla se il driver specificato è presente o meno. – P5Coder

+0

Questo errore indica che non è disponibile alcun driver per eseguire DSN ODBC. Installare l'MSI ODBC 'DRIVER' dato e vedere se l'errore va via. – bshea

risposta

33

In riferimento all'errore: [Microsoft] [Gestore driver ODBC] Nome origine dati non trovato e nessun driver predefinito specificato.

Questo errore indica che il nome origine dati (DSN) che si sta specificando nella configurazione della connessione non è stato trovato nel registro di Windows.

** È importante che il file eseguibile e il formato di collegamento (ELF) del driver ODBC siano gli stessi dell'applicazione. In altre parole, è necessario un driver a 32 bit per un'applicazione a 32 bit o un driver a 64 bit per un'applicazione a 64 bit.

Se questi non corrispondono, è possibile configurare un DSN per un driver a 32 bit e quando si tenta di utilizzare tale DSN in un'applicazione a 64 bit, il DSN non verrà trovato perché il registro detiene DSN informazioni in luoghi diversi a seconda dell'ELF (32 bit rispetto a 64 bit).

Assicurarsi di utilizzare lo strumento Amministratore ODBC corretto. Su Windows a 32 e 64 bit, lo strumento Amministratore ODBC predefinito si trova in c: \ Windows \ System32 \ odbcad32.exe. Tuttavia, su una macchina Windows a 64 bit, quella predefinita è la versione a 64 bit. Se è necessario utilizzare lo strumento di amministrazione ODBC a 32 bit su un sistema Windows a 64 bit, sarà necessario eseguire quello trovato qui: C: \ Windows \ SysWOW64 \ odbcad32.exe

Dove vedo questo persone che scattano è quando un utente utilizza l'amministratore ODBC a 64 bit predefinito per configurare un DSN; pensando che sia per un DSN a 32 bit. Quindi, quando l'applicazione a 32 bit tenta di connettersi utilizzando tale DSN, si verifica "L'origine dati non trovata ...".

** È anche importante assicurarsi che l'ortografia del DSN corrisponda a quella del DSN configurato nell'Amministratore ODBC. Una lettera sbagliata è tutto ciò che serve per un DSN per essere non corrispondenti.

Here is an article that may provide some additional details

Potrebbe non essere la stessa marca di prodotto che si ha, tuttavia; si tratta di un problema generico che si verifica quando si utilizzano nomi di origini dati ODBC.

In riferimento alla parte del provider OLE DB della domanda, sembra essere un tipo simile di problema in cui l'applicazione non è in grado di individuare la configurazione per il provider specificato.

14

ottenuto questo errore perché ho avuto il Nome origine dati in DSN utente invece di DSN di sistema enter image description here

1

Il problema potrebbe essere dal nome del driver, ad esempio, invece di DRIVER={MySQL ODBC 5.3 Driver} provare DRIVER={MySQL ODBC 5.3 Unicode Driver} è possibile vedere il nome del driver da strumento di amministrazione

0

ho questo con dati test condotti usando:

Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb) 

il problema è il driver sopra è solo 32 bit. Avevo commutato il file di test di Visual Studio a 64 bit per testare un'applicazione a 64 bit.

Il ritorno a 32 bit nel file di test ha risolto il problema.

using a test settings file