PDA

View Full Version : ODBC Drivers error '80004005'


hubner
20-10-2008, 10:03
Ciao a tutti.

Sono da poco passato a Windows Vista 64bit. Tutto ok, se non fosse che IIS7 non funziona!

Le pagine ASP vengono caricate, ma ogni qual volta tento di leggere un database mi restituisce questo errore...

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
/sito/Default.asp, riga 14


Ho provato a leggere qui (http://support.microsoft.com/default.aspx/kb/306345), senza successo.

Escluderei che sia un errore del codice, perché su Win XP funzionava tutto regolarmente.

Spero in un vostro aiuto!

Grazie

P.S. Un esempio di codice è comunque questo...



set rs = server.createobject("ADODB.Recordset")
database = "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.Mappath("/mdb-database/dati.mdb")
query = "select top 1 * from nomi where attiva='2' order by id desc"
rs.open query,database


La riga di conflitto è quella di apertura (l'ultima)

LAj
29-06-2009, 11:54
Io lo stesso problema:
anche se l'origine dati è stata creata con gli Strumenti di Amministrazione tra le origini dati ODBC del sistema
è come se non fosse registrata.

Neanche Visual Studio la rileva con lo strumento di connessione a database.

Anche io Vista Business 64 bit
ma SQL Server come database target ODBC.

VegetaSSJ5
29-06-2009, 16:26
devi crearti prima l'oggetto connection:Set dbConnection = Server.CreateObject("ADODB.Connection")
database = "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.Mappath("/mdb-database/dati.mdb")
dbConnection.Open database
set rs = server.createobject("ADODB.Recordset")
query = "select top 1 * from nomi where attiva='2' order by id desc"
rs.open query, dbConnection

LAj
29-06-2009, 17:21
Ho installato CuteSQL come alternativa ad SQL Server Query Analyzer ed almeno sono riuscito a connettermi al database remoto.

Ma attenzione.
Ci sono riuscito perché CuteSQL mi ha aperto la finestra con le impostazioni per le origini ODBC e, sorpresa, la connessione non c'era.

Non sono ancora sicuro ma penso di aver svelato l'arcano.
Trattandosi di driver ce ne sono di 2 tipi uno a cui si connettono le applicazioni a 64 bit, per cui avevo creato l'orgine dati in precedenza. Mentre invece per creare l'origine dati cui accederanno i programmi a 32 bit è necessario accedere alla parte del pannello di controllo per il sottosistema a 32 bit.

Vado a vedere, ma soprattutto a vedere di far funzionare tutte le applicazioni ...finalmente! :D

LAj
29-06-2009, 17:39
Eheheheheh :)

Non c'è l'icona nel pannello di controllo a 32 bit
però effettivamente è come ho detto. Infatti con CuteSQL riesco a gestire anche altre origini dati:
Database di esempio Extreme 2008

Ora però basta con gli scherzi, dai, ragazzi ...per favore, qualcuno che mi aiuta!

LAj
30-06-2009, 09:36
Edit:
quoto quello che avevo scritto per precisare che utilizzando la connessione con il providere .NET il driver riesce tranquillamente ad eseguire le query, quindi l'errore in oggetto è da attribuirsi a CuteSQL.
Un altro errore che mi viene mostrato ora che posso accedere ad un drivere ODBC( non s'è capito quale, e come ) riguarda semplici query su determinate tabelle, non su tutte.
In particolare la query del tipo:

SELECT * FROM table_1

produce l'errore ma se sulla stessa tabella seleziono specifiche colonne:

SELECT case, metratura FROM table_1

il driver funziona.
Sono dell'idea che "[ODBC SQL Server Driver]Indice del descrittore non valido" è il risultato di nuovi controlli che sono stati inseriti sulla struttura del database.
Spero di poterla correggere, piuttosto di aver perso la compatibilità.

LAj
30-06-2009, 09:51
Eheheheheh :)

Non c'è l'icona nel pannello di controllo a 32 bit
però effettivamente è come ho detto. Infatti con CuteSQL riesco a gestire anche altre origini dati:
Database di esempio Extreme 2008

Per accedervi senza dover installare CuteSQL:
%SystemRoot%\sysWOW64\odbcad32.exe