52 messaggi dal 24 febbraio 2008
ciao, stavo creando una pagina di inserimento messaggi...però avrei dei problemi con la connessione al database....questo è il codice

<%
ipagesize=5

if request.querystring("page")="" then
ipagecurrent=1
else
ipagecurrent=cint(request.querystring("page"))
end if

if request.querystring("order")="" then
strorderby="id"
else
strorderby=request.querystring("order")
end if
'PERCORSO DEL DATABASE
url_DB="driver={Microsoft Access Driver(*.mdb)};dbq=" & server.mapPath("db/database.mdb")

set Conn=server.CreateObject("ADODB.connection")
conn.Open url_DB

set RS=server.createobject("ADODB.recordset")

'FAI LA RICHIESTA AL DATABASE'

sql="SELECT * FROM guestbook_messaggi order by " & strorderby & "DESC;"
RS.Open sql,Conn,adOpenKeyset
RS.pagesize=ipagesize
qualcono puo darmi una mano per favore!!!!

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
(Albert Einstein)
19 messaggi dal 06 settembre 2002
Se il problema è che ti viene restituito un errore sulla query controlloa gli spazi dopo la variabile prima del "DESC" => " DESC"
Puoi sempre inserire una

Response.Write sql
Response.End()

prima dell'apertura del Recordset per controllare ciò che scrivi realmente e magari con un copia e incolla testarlo nel DB.

Il bello di un viaggio non è arrivare ma gustare il paesaggio lungo il percorso.
52 messaggi dal 24 febbraio 2008
grazie ma il problema è ancora irrisolto...
ti riscrivo il codice e anche l'errore così tu possa capire
<!-- #INCLUDE FILE="adovbs.inc"-->
<%
ipagesize=5

if request.querystring("page")="" then
ipagecurrent=1
else
ipagecurrent=cint(request.querystring("page"))
end if

if request.querystring("order")="" then
strorderby="id"
else
strorderby=request.querystring("order")
end if
'PERCORSO DEL DATABASE
url_DB="driver={Microsoft Access Driver(*.mdb)};dbq="& server.mapPath("db/database.mdb")

set Conn=server.CreateObject("ADODB.connection")
conn.Open url_DB

set RS=server.createobject("ADODB.recordset")

'FAI LA RICHIESTA AL DATABASE'

sql="SELECT * FROM guestbook_messaggi order by " & strorderby & " DESC;"
RS.Open sql,Conn,adOpenKeyset
RS.pagesize=ipagesize

RS.cachesize=ipagesize

ipagecount=RS.pagecount
if ipagecurrent > ipagecount then ipagecurrent=ipagecount
if ipagecurrent < 1 then ipagecurrent=1
--------
errore:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
/asp/guestbook.asp, line 29

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
(Albert Einstein)
19 messaggi dal 06 settembre 2002
Sembra che non trovi il DB, non conosco la struttura delle cartelle ma se non ti trovi sulla root e la cartella DB si trova sulla root del sito modifica
url_DB="driver={Microsoft Access Driver(*.mdb)};dbq="& server.mapPath("db/database.mdb")
In
url_DB = "driver={Microsoft Access Driver(*.mdb)};dbq=" & server.mapPath("/db/database.mdb")
Per capirci meglio aggiungi il carattere "/" al percorso del mdb per fargli capire che deve partire dalla root.

Io personalmente la scrivo così:

Dim url_DB
set url_DB = server.createobject("ADODB.Connection")
url_DB = "Provider=Microsoft.Jet.OLEDB.4.0;persist security info=false;data source=" & Server.MapPath("/db/database.mdb")
url_DB.Open

Fammi sapere.

Il bello di un viaggio non è arrivare ma gustare il paesaggio lungo il percorso.
52 messaggi dal 24 febbraio 2008
ipapi ho provato come dicevi tu ... ma mi da questo errore:
Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto: 'Provider=Microsoft.J'

adesso ti do anche l'indizzo completo del db:
C:\Inetpub\wwwroot\asp\db\database.mdb


scusa la mia ignoranza in materia!!!!Sono esperto di mysql ma non di asp!!!
grazie e risp

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
(Albert Einstein)
19 messaggi dal 06 settembre 2002
Mantieni pure il tuo sistema di definizione della connessione ma specifica il nome del DB corretto.
Se usi server.mapPath devi dargli l'esatto percorso web.
Poniamo tu abbia il sito con una struttura di questo tipo:
IIS o PWS puntano come cartella principale del sito
C:\Inetpub\wwwroot\
e nel sito hai
Cartella Principale
+-- asp
| +-- db
| | +-- database1.mdb
| | +-- database2.mdb
| +-- altracartella
+-- altracartellasuroot
+-- default.asp

La tua connessione deve essere
url_DB = "driver={Microsoft Access Driver(*.mdb)};dbq=" & server.mapPath("/asp/db/database.mdb")

Se sei sicuro che il percorso fisico sia sempre quello che mi hai mandato
puoi in alternativa utilizzare

url_DB = "driver={Microsoft Access Driver(*.mdb)};dbq=C:\Inetpub\wwwroot\asp\db\database.mdb"

Il server.mapPath("percorso + nome DB") si usa normalmente perchè i provider tengono, anche per una questione di sicurezza, i Database fuori dalle cartelle fisiche del sito, ne consegue che non potresti conoscerlo.

Il bello di un viaggio non è arrivare ma gustare il paesaggio lungo il percorso.

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.