33 messaggi dal 28 aprile 2003
ciao raga!
ho un problema... lavorando con IIS devo inserire dei dati in un DB.
con questa stringa di connessione:

conn.Open"DSN=dsn;uid=eser;pwd=password"

se il DB si trova nella stessa cartella della pagina quando invio i dati mi da un errore del tipo:

Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC Microsoft Access] Per l'operazione è necessaria una query aggiornabile.
/cartella/paginadiinserimento.asp, line 32

ho visto che c'è un'altra stringa di connessione:

connessione = "PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & SERVER.MAPPATH ("/CARTELLA/DATABASE.MDB")

VORREI SAPERE COME SI USA...
io l'ho usata in questo modo(CHE NATURALMENTE NN FUNZIONA!!):

connessione="PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & SERVER.MAPPATH ("/CARTELLA/DATABASE.mdb")


set conn=Server.createObject("ADODB.Connection")
set rs=Server.createObject("ADODB.Recordset")
conn.Open"connessione"
sql = "insert into tabella_TESTO (TESTI) values ('" & TESTO & "')"
rs=conn.Execute (sql)
set rs=nothing
conn.Close

L'ERRORE CHE MI HA DATO è STATO:

Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Driver Manager] Nome origine dati non trovato e driver predefinito non specificato.
/ins2.asp, line 12



COME POSSO FARE??? HELP ME!!!
CIAO A TUTTI!



Se come hai detto il bd si trova nella stessa cartella della pagina c'è un errore nell'indirizzo. Il server.mappath già ti fa trovare nella cartella dove si trovano db e pagina asp quindi basta fare così, comunque sono da correggere anche altre cose:

Set connessione = server.createobject("ADODB.connection")
connessione.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "persist security info=false;data source="& SERVER.MAPPATH ("DATABASE.mdb")
connessione.open
set rs=Server.createObject("ADODB.Recordset")
sql......
rs.Open sql,connessione
( oppure rs=connessione.Execute (sql) )
set rs=nothing
connessione.Close

Ciao










Alberto Biancardo
10 messaggi dal 13 maggio 2002
a parte la stringa di connessione, l'errore che ti da è dovuto al fatto che non hai i permessi di scrittura nella cartella dove c'è il db.

Perciò devi andare a settare i permessi di scrittura all'utente IUSR...in quella cartella (se sei in locale). Se il tutto è pubblicato devi chiedere se la cartella ha i permessi di scrittura.
33 messaggi dal 28 aprile 2003
cioè?
i permessi di scrittura in che modo possono esser settati con una stringa come quella sopra?

io l'ho provata e sinceramente l'errore che mi ha dato è stato di tipo:

IMPOSSIBILE TROVARE IL PROVIDER, PUò DARSI KE NN SIA STATO INSTALLATO O KE NN FUNZIONI CORRETTAMENTE,,,,

non so proprio come fare!!!
10 messaggi dal 13 maggio 2002
allora, questa è una stringa di connessione che io utilizzo sempre:

connessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../mdb-database/Iscritti.mdb")
Set dbc = Server.CreateObject("ADODB.Connection")
dbc.open connessione

Come vedi nel percorso io utilizzo ../nomecartella poichè il tutto (in questo caso) parte da una sottocartella del mio sito.

Se supponiamo che il tuo db sia nella cartella database (nella root del tuo sito) e le pagine che utlizzano la connesione sono invece direttamente nella root stessa basta mettere database/nomedeldatabase.mdb.

E questa è una cosa, poi però leggo anche che ti da un errore:

Tipo di errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver ODBC Microsoft Access] Per l'operazione è necessaria una query aggiornabile.
/cartella/paginadiinserimento.asp, line 32

questo significa che qui non hai i permessi di scrittura e questi non si "sistemano" da asp ma direttamente sul server da dove gira il sito.

Spero di essere stato chiaro.
33 messaggi dal 28 aprile 2003
ah! chiarissimo x quello!! i permessi di scrittura... visto che la cosa gira su IIS installato sul mio pc... sono quelli impostati da ODBC nella parte "avanzate"? sono quelli che intendi?
10 messaggi dal 13 maggio 2002
vai nella cartella che hai stabilito essere la tua wwwroot (io per esempio l'ho cambiata in IIS), cerchi la cartella dove intendi mettere il db del tuo sito, poi clicchi con il tasto destro sulla cartella, clicchi su proprietà e poi su Protezione, a quel punto vedrai che avrai come utenti l'administrator e qualcosa d'altro, devi impostare i permessi di csrittura anche all'utente everyone.
33 messaggi dal 28 aprile 2003
Tipo di errore:
Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto: 'Provider=Microsoft.j'
/tryme/localform.asp, line 21


eccoci di nuovo... questo è nuovamente l'errore... ma nn è che nn ho l'oggetto provider installato?!?!

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.