|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
ASP e database, un aiuto per favore
Sto provando ad inserire delle pagine in ASP per gestire l’aggiornamento indirizzi email degli iscritti ad una newsletter list.
Le pagine scritte in ASP vengono visualizzate correttamente, ho un problema quando il codice tenta di accedere al file del database per scrivere o per leggere i dati; mi ritorna il seguente messaggio: Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access 97 Driver] Can't open database '(unknown)'. It may not be a database that your application recognizes, or the file may be corrupt. /prova newsletter/newsletter/iscrivi.asp, line 10 per pubblicare le pagine sul server uso Front Page 2002. il server ha le estensione di front page e il supporto per ASP Qualcuno sa darmi un’idea su come riuscire a far scrivere e leggere il database? ciao |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
|
Probabilmente il tuo database è stato creato con Access 2000 o XP mentre il server tenta di accedere al database con un driver ODBC per Access 97.
Prova a cambiare la stringa di connessione in questo modo: Codice:
set cn = Server.CreateObject("ADODB.Connection") cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/archivio.mdb")
__________________
Chi non cerca trova. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Meglio passare da OLEDB invece che da ODBC
![]() Codice:
set cn = Server.CreateObject("ADODB.Connection") cn.Open "Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/archivio.mdb") ![]() |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
grazie appena ho 2 minuti provo poi vi faccio sapere
ciao |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
dunque il mio codice era esattamente identico a quello proposto da tas.
ho provato il codice come suggerito da cionci sia con 4.0 che con 3.51 ed ottengo il seguente messaggio di errore: Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified /prova newsletter/newsletter/iscrivi.asp, line 11 altri suggerimenti? grazie e ciao P.S. il file ASP e' nel seguente direttorio /prova newsletter/newsletter/iscrivi.asp il file database invece e' nel seguente direttorio /prova newsletter/mdb-database/newsletter.mdb |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
|
Ma con che versione di Access è stato creato il tuo archivio? Il tuo provider supporta tale formato? In FrontPage, menu Strumenti/Impostazioni Web, scheda Database, hai effettuato e testato la connessione al database?
__________________
Chi non cerca trova. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ho sbagliato
![]() Codice:
set cn = Server.CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/archivio.mdb") & ";" |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
ok provo il nuovo codice poi vi aggiorno
grazie |
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
con il codice aggiornato da cionci ottengo il seguente messaggio di errore:
ADODB.Connection error '800a0e7a' ADO could not find the specified provider. /prova newsletter/newsletter/iscrivi.asp, line 11 il database l'ho creato con access XP 2002 posso sostituirlo con access 97 |
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
ho sostituito il database con uno crato con acces 97 ed ora funziona con il codice uguale a quello suggerito da tas
grazie per l'aiuto. ho riscontrato un altro problema, ora non ho tampo, eventualmente ci risentiamo piu' avanti ciao |
![]() |
![]() |
![]() |
#11 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
rieccomi con il mio secondo problema.
dopo l’inserimento dell’indirizzo email nel database, il codice dovrebbe mandare una mail di conferma allutente che ha inserito il suo indirizzo. Ho inserito il seguente codice per creare la mail: Dim confermaMail Set confermaMail = CreateObject("CDONTS.NewMail") …. Dopo l’inserimento dell’indirizzo e la registrazione nel database (che ora avviene), il programma si blocca sulla linea di codice di creazione della mail di conferma con il seguente messaggio di errore: Microsoft VBScript runtime error '800a01ad' ActiveX component can't create object: 'CreateObject' /prova newsletter/newsletter/iscrivi.asp, line 34 cosa ho sbagliato questa volta? Sopportatemi per favore, sono le mie prime esperienze con ASP grazie P.S. per fare riconoscere il database creato con access XP cosa dovrei fare? |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
|
Ma chi è il tuo provider? E' evidente che se sul server non sono stati installati quei componenti da te utilizzati (il driver per Access XP oppure il CDONTS) non sarà possibile eseguire correttamente la tua pagina ASP.
__________________
Chi non cerca trova. |
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
E' un provider qui vicino a me, mi trovo bene perche' basta chiedere e lui si da da fare per venirti incontro.
magari mi devo dare da fare unpo anch'io ma poi si riescono a risolvere i problemi paralndo sempre con la stessa persona. quindi per far funzionare bene le ASP cosa gli devo chiedere di installare? grazie |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
|
Digli che hai bisogno di far funzionare una pagina ASP su un database di Access XP, così installerà i driver giusti. Digli anche che hai bisogno di usare CDONTS, chi amministra il server saprà senz'altro cosa installare!
__________________
Chi non cerca trova. |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Meglio ASPEmail che CDONTS...sicuramente è più sicuro...
Comunque per risolvere tutti i problemi di driver basta installare i driver MDAC che si trovano sul sito Mcirosoft... |
![]() |
![]() |
![]() |
#16 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
O.K. ho parlato con il provider mi dice che ha gia' installato le versioni che dovrebbero supportare anche acces XP solo che sul suo server (con NT) qualcosa va in conflitto e anche se dovrebbe non riconsoce i database XP ma solo 97
per quanto riguarda CDONTS mi dice che preferisce non installarle avendo avuto problemi di abusi di utilizzo nel passato. come devo variare il codice per usare ASPEmail al posto di CDONTS? in pratica io ho bisogogno di far spedire una mail di conferma a che si iscrive alla newsletter Dim confermaMail Set confermaMail = CreateObject("CDONTS.NewMail") confermaMail.From = "indirizzo_email" confermaMail.To = indirizzo confermaMail.Subject = "Conferma registrazione alla newsletter" confermaMail.BodyFormat = 1 confermaMail.MailFormat = 0 confermaMail.Body = confermaCorpo confermaMail.Send set confermaMail = Nothing |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Codice:
Set Mail = Server.CreateObject("Persits.MailSender") ' enter valid SMTP host Mail.Host = "mail.pippo.com" Mail.From = Request("From") ' From address Mail.FromName = Request("FromName") ' optional Mail.AddAddress Request("To") ' message subject Mail.Subject = Request("Subject") ' message body Mail.Body = Request("Body") strErr = "" bSuccess = False On Error Resume Next ' catch errors Mail.Send ' send message If Err <> 0 Then ' error occurred strErr = Err.Description else bSuccess = True End If |
![]() |
![]() |
![]() |
#18 |
Member
Iscritto dal: Feb 2003
Città: nord-ovest
Messaggi: 52
|
affinche' il codice funzioni il provider deve installare sul server il modulo ASPEmail, giusto?
in caso contrario ottieni errore, giusto? |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Giusto...
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:00.