98 messaggi dal 10 aprile 2001
Ciao !
Supposto che:
Siano stati dichiarati in una pagina ASP, p.e. elabora.asp le seguenti linee di codice:

dim conn
dim rs
set conn = server.CreateObject "ADODB.Connection")
set rs = server.CreateObject "ADODB.Recordset")

e che sia stata eseguita l'apertura della connessione al DSN di sistema "miodb"

conn.Open "DSN=miodb"

allora, se viene restituito in fase di invio dati da una form dove l'action è proprio elabora.asp, il seguente errore:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Driver ODBC Microsoft Access] Impossibile aprire il database "(=
sconosciuto)". è possibile che il database non sia riconoscibile dall'applicazione oppure che il file sia danneggiato.

/elabora.asp, line 53

che problema può essere ? è stato settato male il DSN dall'amministratore ? c'è un errore che "non vedo" ? eppure in prova non ho errori !
Grazie !
Nicola


Nicola Maggi

it ain't over until the fat lady sings
13 messaggi dal 03 maggio 2001
Io vedo un errore di sintassi ma non so se c'è anche nel tuo codice.

set conn = server.CreateObject "ADODB.Connection")
set rs = server.CreateObject "ADODB.Recordset")

manca la parentesi

set conn = server.CreateObject ("ADODB.Connection")
set rs = server.CreateObject ("ADODB.Recordset")

ciao.


98 messaggi dal 10 aprile 2001
No, non c'è......
è un copia e incolla con un backspace "aggiunto" e non visto !


Nicola Maggi

it ain't over until the fat lady sings
635 messaggi dal 06 settembre 2002
Prova a fare una connessione DSN-Less tipo
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DBQ="&Server.MapPath("TUO_DATABASE.mdb")&";Driver={Microsoft access Driver (*.mdb)};"
SQL="tua querry"
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open SQL,Conn,3,3

tuo codice

rs.close
set rs=Nothing
Conn.Close
set Conn=Nothing

e vedi se riesci ad interrogare il database.
Se ti funziona in questo modo allora è dichiarato male il database nell'ODBC.

Tieni presente che se il database non è nella stessa directory della pagina contenente questo codice, devi impostare la path in maniera diversa:

se il DB è in una directory annidata rispetto a quella che contiene la pagina allora scrivi...
Server.MapPath("Nome_directory/tuo_database.mdb")

se invece è in una directory superiore o diversa...
Server.MapPath("..\tuo_database.mdb")
o
Server.MapPath("..\Nome_directory\tuo_database.mdb")



Ovviamente questo codice funziona se utilizzi Access come database.

Ciao.



 JD

OJD
98 messaggi dal 10 aprile 2001
Sì, infatti volevo provare a forzare una connessione DSN-Less. Se dovesse funzionare chiederò all'amminitratore di controllare meglio, ed eventualmenet riprovare, una connessione con DSN.
Grazie

Nicola Maggi

it ain't over until the fat lady sings
98 messaggi dal 10 aprile 2001
.... il database era.... danneggiato !!!
meglio (!!!) così !
Ciao e grazie a tutti !

Nicola Maggi

it ain't over until the fat lady sings

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.