PDA

View Full Version : [ASP vbScript] database di m***a


YAWW
20-07-2004, 09:37
allora...
...mi connetto al database creando un oggetto connessione ed un oggetto recordset con queste righe di codice:

Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("data/nord-est.mdb")
objConn.Open
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "links", objConn, adOpenForwardOnly, adLockOptimistic, adCmdTable
objRS.AddNew
objRS("definizione") = categoria
objRS("nome_link") = nome
objRS("link") = url
objRS.Update

provando il codice con IIS, all'inizio mi dava errore all'istruzione objRS.Update, dicendomi che per l'operazione era necessaria una query aggiornabile.
cercando sul sito della microsoft sono riuscito a risolvere questo problema abilitando la condivisione web della cartella e del file, e modificando le impostazioni dell'utente Internet Guest, ma se ne e' subito presentato un'altro del quale vi riporto il testo:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC Microsoft Access]Errore generale. Impossibile aprire la chiave 'Temporary (volatile) Jet DSN for process 0x600 Thread 0xb80 DBC 0x879ad4 Jet' del Registro di sistema.

però questo errore mi esce in questa istruzione Str = Request.QueryString che come potete vedere non centra proprio na mazza con il database!

se qualcuno riuscisse a darmi una mano gliene sarei molto grato

zao a tutti

beee
20-07-2004, 19:10
Un pò strano.... comunque una riga tipo
Str = Request.QueryString
e poi + nulla genera di sicuro errore, devi specificare quale querystring vuoi ricavare.
Str = Request.QueryString("miocampo")
ad esempio.
Bye!

mabel
20-07-2004, 19:34
[Driver ODBC Microsoft Access]Errore generale. Impossibile aprire la chiave 'Temporary (volatile) Jet DSN for process 0x600 Thread 0xb80 DBC 0x879ad4 Jet' del Registro di sistema.



Anche a me è capitato più volte questo errore e semplicemente il database era aperto, o meglio, c'era il file temporaneo del database che feceva intendere che esso fosse ancora aperto.
Prova a controllare.

dataman
20-07-2004, 21:35
Originariamente inviato da YAWW
allora...
...mi connetto al database creando un oggetto connessione ed un oggetto recordset con queste righe di codice:

Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("data/nord-est.mdb")
objConn.Open
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "links", objConn, adOpenForwardOnly, adLockOptimistic, adCmdTable
objRS.AddNew
objRS("definizione") = categoria
objRS("nome_link") = nome
objRS("link") = url
objRS.Update

provando il codice con IIS, all'inizio mi dava errore all'istruzione objRS.Update, dicendomi che per l'operazione era necessaria una query aggiornabile.
cercando sul sito della microsoft sono riuscito a risolvere questo problema abilitando la condivisione web della cartella e del file, e modificando le impostazioni dell'utente Internet Guest, ma se ne e' subito presentato un'altro del quale vi riporto il testo:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC Microsoft Access]Errore generale. Impossibile aprire la chiave 'Temporary (volatile) Jet DSN for process 0x600 Thread 0xb80 DBC 0x879ad4 Jet' del Registro di sistema.

però questo errore mi esce in questa istruzione Str = Request.QueryString che come potete vedere non centra proprio na mazza con il database!

se qualcuno riuscisse a darmi una mano gliene sarei molto grato

zao a tutti


Puzza di baco del bridge ODBC-to-OleDB.... :wtf:

Provare con un altro DBMS ? ;)

matpez
20-07-2004, 22:43
Prova così :)

http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q295/2/97.ASP&NoWebContent=1

YAWW
21-07-2004, 13:46
questo problema l'ho risolto, adesso però quando apro la pagina da un client connesso al server iis mi da un errore non riconosciuto che scompare cliccando su aggiorna dopo un minuto o due...
...ma che minchia di problemi sono?

altro problema, quando faccio il logout di un utente e poi digito l'indirizzo di una pagina alla quale dovrebbero avere accesso solo gli utenti connessi, me la mostra ugualmente, solo cliccando su aggiorna si accorge che l'oggetto session non esiste più e quindi mi reindirizza alla pagina di errore!

sapete spiegarmi come mai?
si tiene la pagina sul buffer e visualizza quella?
o che altro?

grazie mille a tutti!

x beee
in teoria utilizzando solo Request.Querystring dovrebbe restituire tutta la stringa che risulta dopo l'indirizzo!

mabel
21-07-2004, 18:56
è, per sapere questo, bisogna vedere che tipo di sessione gli hai dato e il comando che esegui su di essa quando si fa il logout.
Di sicuro chiudendo e riaprendo il browser la sessione viene cancellata (oppure facendo l'aggiornamento della pagina), ma no ncredo che questa sia la soluzione che vorresti tu (come darti torto? :D )

Ciauz

p.s. prova a postare il codice così ne capiamo di più ;)