RicorDiario .NET

PostgreSql: Nome origine dati non trovato e driver predefinito non specificato.

Problema

In una mia applicazione .NET non riuscivo ad aprire una connessione ODBC DNSless con un database PostgreSQL. Con questa stringa di connessione
 MyConnString = "Provider=MSDASQL.1;Driver={PostgreSQL};Server=MYSERVER;Port=5432;Database=MYDB;Uid=MyUser;Pwd=******;";
mi veniva restituito sempre il seguente errore:
 ERROR [IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
I driver li ho scaricati da http://www.postgresql.org/ftp/odbc/versions. Dopo vari tentativi, ho creato un'origine dati ODBC e ho provato ad aprire la connessione con una stringa del tipo:
MyConnString = "DSN=PostgreSQL30;UID=MyUser;PWD=******"; 
Dove PostgreSQL30 è il nome scelto per la mia origine dati ODBC. La connessione è stata instaurata correttamente. Dunque l'errore veniva generato da qualcosa che specificavo male all'interno della stringa di connessione DNS-less: probabilmente la versione del driver non era corretta. Mi chiedevo come fosse possibile se in tutta la documentazione reperibile sulla rete il nome del driver era sempre indicato come Driver={PostgreSQL}. Ragionando come in alcuni post trovati, ho guardato meglio i parametri della origine dati (DSN) ODBC precedentemente creata ed ho notato che il nome del driver era "PostgreSQL ANSI". Ho provato a correggetre il nome del driver nella stringa di connessione
 MyConnString = "Provider=MSDASQL.1;Driver={PostgreSQL ANSI};Server=MYSERVER;Port=5432;Database=MYDB;Uid=MyUser;Pwd=******;";
e tutto ha funzionato correttamente. Capito? Ciao, allo prossima.
Inserisci un commento   |   Indietro

[1] Nick Name: Poldo     Data: 06/12/2010 14:06:49   
A miché ma se pubblichi un ricordiario all'anno..... hai voglia...   

  [da 1 a 1 di 1 commenti]     |   Indietro

Inserisci un commento

Nick: e-mail:

web:

Commento: