Newsgroup: it.comp.www.asp
Titolo: Problema DSN

ho scaricato sul server aruba il sito in asp e relativo database, stň usando
DREAMWEAVER ULTRA DEV, se uso il tutto sul mio pc tutto fila liscio,
configuro il dsn di sistema e non ci sono problemi, il codice creato e :
<%@LANGUAGE="VBSCRIPT"%> <%
set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = "dsn=domini;"
rs.Source = "SELECT * FROM Domini"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 3
rs.Open
rs_numRows = 0
%>
ma su Aruba cosě comč non funziona, ho scaricato le loro impostazioni e ho
copiato (sicuramente omettendo qualcosa) i codici che con il loro file in
effetti funzionano. Ora il codice č :
<%@LANGUAGE="VBSCRIPT"%> <%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
server.MapPath("/public/database.mdb")
sql = "SELECT * FROM Domini"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
%>
funziona ok, ma il problema č che sono spariti tutti i collegamenti creati
con Ultra Dev e poi se uso questo file sul mio pc non funziona piů...
Che devo fare esattamente per usare bene il tutto sia su internet che sul
pc? Avete dei suggerimenti?
Grazie

pc? Avete dei suggerimenti?
Il problema non e' di ASP ma di UltraDev. Controlla la documentazione
del prodotto. Eventualmente tieni una versione "originale" delle
pagine per usare UltraDev ed una versione "patchata" a mano per
fare l'upload sul sito.
Secondo me l'idea migliore e' quella di eliminare UltraDev e scriversi
le pagine a mano (soprattutto il codice ASP).
Davide

Il problema l'ho già vissuto anch'io.
Ti riassumo il problema in questa righe che ho inoltrato anche sul ng
it.comp.appl.macromedia.
Devo connettere un db in modo dsn-less indicando nella folder RUN-TIME
connection la seguente stringa:
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq="&Server.MapPath("/data/database.mdb")
Nella casella della stringa NON POSSO utilizzare il comando Server.Mappath
mentre se indico il percorso esatto tutto funziona. E' vera questa
affermazione??????
UltraDev ti mette automaticamente i doppi apici sia all'inizio che alla fine
della stringa, cioè nella pagina asp mi ritrovo:
Recordset1.ActiveConnection = "stringa_digitata"
Se uso il comando Server.Mappath la stringa corretta dovrebbe essere:
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq="&Server.MapPath("/data/database.mdb")
UltraDev vuole a tutti i costi (e penso anche correttamente) fare:
conn.open "driver_di_connessione;dbq=c:\...\....\*.mdb" cioè racchiude TUTTO
tra i doppi apici.
mentre io vorrei fare:
conn.open "driver_di_connessione;dbq=" & server.mappath("dir")   che è
giusto! ...ma UltraDev racchiude sempre la stringa tra i maledetti doppi
apici cioè:
conn.open "driver_di_connessione;dbq= & Server.Map.Path("dir")" che,
evidentemente, non è giusto perchè se io testo la connessione mi segnala un
errore.
Spero di essermi spiegato.
Morale: Con un dsn di sitema come hai creato tu, tutto funziona in locale ma
non appena inserisci SERVER.MAPPATH ecco che da Dreamweaver UD pariscono i
recordset e non hai più l'accesso al db.
Io farei tutto in locale con il dsn poi quando l'"opera" è finita
sostituisci il dsn con il server.mappath (come poi hai fatto tu). Il
funzionamento è garantito...
Ciao
Andrea
| ho scaricato sul server aruba il sito in asp e relativo database, stò
usando
| DREAMWEAVER ULTRA DEV, se uso il tutto sul mio pc tutto fila liscio,
| configuro il dsn di sistema e non ci sono problemi, il codice creato e :
|
| <%@LANGUAGE="VBSCRIPT"%> <%
| set rs = Server.CreateObject("ADODB.Recordset")
| rs.ActiveConnection = "dsn=domini;"
| rs.Source = "SELECT * FROM Domini"
| rs.CursorType = 0
| rs.CursorLocation = 2
| rs.LockType = 3
| rs.Open
| rs_numRows = 0
| %>
|
| ma su Aruba così comè non funziona, ho scaricato le loro impostazioni e ho
| copiato (sicuramente omettendo qualcosa) i codici che con il loro file in
| effetti funzionano. Ora il codice è :
|
| <%@LANGUAGE="VBSCRIPT"%> <%
| Set conn = Server.CreateObject("ADODB.Connection")
| conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
| server.MapPath("/public/database.mdb")
|
| sql = "SELECT * FROM Domini"
| Set rs = Server.CreateObject("ADODB.Recordset")
| rs.Open sql, conn, 3, 3
|
|
| %>
|
| funziona ok, ma il problema è che sono spariti tutti i collegamenti creati
| con Ultra Dev e poi se uso questo file sul mio pc non funziona più...
| Che devo fare esattamente per usare bene il tutto sia su internet che sul
| pc? Avete dei suggerimenti?
|
| Grazie
|
|
|

Si può fare un'altra cosa: ARUBA mette a disposizione un kit per le
connessioni ai database da utilizzare anche sui loro server. Questo kit ti
permette di fare una connessione DSN su file. Nel kit sta tutto spiegato,
ovvero come usare la connessione stessa, cosa inserire nei vari script
eccetera. L'unica cosa da modificare fra il locale ed il remoto è la
posizione, sia nella stringa di connessione al database, sia nel file dsn,
del database. Mentre in locale lo metti dove vuoi, in remoto va inserito
sotto una cartella specificata all'interno del kit
Ciao