3 messaggi dal 09 aprile 2001
Salve, sono una nuova iscritta di ASPitalia.
Dovrei pubblicare il mio primo lavoro su web (finora ho solo fatto due programmi per reti locali) e vorrei sapere se è possibile utilizzare un DSN di sistema, dato che in altro modo a volte (con Server.MapPath) il file di Access risulta sconosciuto.
E' possibile, e come viene riconosciuto il DSN?

84 messaggi dal 06 settembre 2002
Se hai il controllo del server dove ospita il tuo web ... allora crei una dsn di sistema che mappi il tuo .mdb e poi invece di usare DBQ nella stringa di conessione usi 'Data source'.

Ma perché affermi che a volte la chiamata DSN-Less dà 'sconosciuto'?

Mi è capitato a volte di ricevere tale messaggio ma era un errore dello script e una volta corretto tutto ok (da oltre 2 anni).

ciao


Loris Cabianca
www.ServiceName.Com
Domain Registration and Hosting

Loris Cabianca
www.ServiceName.Com
Domain Registration and Hosting
php, perl, mysql, asp, wap, filemaker
3 messaggi dal 09 aprile 2001
Non ho il controllo sul server e credo di sapere perchè il server.mappath mi dà errore: faccio la richiesta della connessione in una sottocartella, quindi la directory specificata non trova il file.
es:
ho "cartella principale/DB.mdb"

nella cartella principale e poi nella stessa cartella principale ho una sottocartella

"cartella principale/ADMIN/Connessione.asp"

può essere questo il problema?

Un altra cosa: uso VisualInterDev e quando ho provato a spostare il db (da Inetpub/wwwroot...) nella sottocartella è andato tutto in tilt e il DB ha dato i numeri, come tutte le pagine asp...
Grazie per la risposta di prima, mi daresti un consiglio anche su questi chiarimenti?

84 messaggi dal 06 settembre 2002
Per la prima domanda ... ecco la risposta ... tratto da MSDN:
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote>quote:<hr height=1 noshade id=quote>Parameters
Path
Specifies the relative or virtual path to map to a physical directory. If Path starts with either a forward (/) or backward slash (\), the MapPath method returns a path as if Path is a full virtual path. If Path doesn't start with a slash, the MapPath method returns a path relative to the directory of the .asp file being processed.
Remarks
The MapPath method does not support relative path syntax (.) or (..). For example, the following relative path, ../MyDir/MyFile.txt, returns an error.

The MapPath method does not check whether the path it returns is valid or exists on the server.

Because the MapPath method maps a path regardless of whether the specified directories currently exist, you can use the MapPath method to map a path to a physical directory structure, and then pass that path to a component that creates the specified directory or file on the server.<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>

Io il coraggio di usare VisualIterdev non ce l'ho, faccio tutto a manina. E' più simplex e so sempre dove andare a mettere le manine se qualcosa non va (capita spesso).

ciao

Loris Cabianca
www.ServiceName.Com
Domain Registration and Hosting

Loris Cabianca
www.ServiceName.Com
Domain Registration and Hosting
php, perl, mysql, asp, wap, filemaker
32 messaggi dal 06 settembre 2002
<b>uenemi ha scritto:</b>
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote>quote:<hr height=1 noshade id=quote>
Salve, sono una nuova iscritta di ASPitalia.
Dovrei pubblicare il mio primo lavoro su web (finora ho solo fatto due programmi per reti locali) e vorrei sapere se è possibile utilizzare un DSN di sistema, dato che in altro modo a volte (con Server.MapPath) il file di Access risulta sconosciuto.
E' possibile, e come viene riconosciuto il DSN?


<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>

Ciao, non è molto che sviluppo applicazioni web in asp,(circa 1 anno), ma consentimi comunque di darti un piccolo consiglio.

Se non ho capito male il DB che usi è acces giusto?
Metti il dbase nella root del sito, o meglio nella cartella in cui sono le pagine con cui lo richiami(se usi un file di connessione come include la faccenda è diversa) e usa questo codice

Set ConnDB = Server.CreateObject("ADODB.Connection")
connStr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("Database.mdb")
ConnDB.Open connStr

Non è possibile che così il motore del Asp non trovi il db.

Se usi un file di inclusione per gestire la connessione al db, copia questo file all'interno della cartella in cui hai i file asp, dagli il codice sopradescritto, e richiamalo come include file (non virtual) dalla stessa cartella.
Così sicuramente non ti crea problemi.

Ciao

Saul

3 messaggi dal 09 aprile 2001
Dunque, la connessione al DB che mi hai suggerito è la stessa che io ho utilizzato.
Il problema è che quando creo la connessione dalle sottocartelle la pagina visualizza un errore, dicendo che il file .mdb è sconosciuto.
Forse perchè, giustamente, ricstruendo il percorso del file che richiama la connessione, non trova più il file .mdb che, mettiamo, e due cartelle più sopra.
Ho anche provato a fare come suggeritomi
"Parameters
Path
Specifies the relative or virtual path to map to a physical directory. If Path starts with either a forward (/) or backward slash (\), the MapPath method returns a path as if Path is a full virtual path. If Path doesn't start with a slash, the MapPath method returns a path relative to the directory of the .asp file being processed.
Remarks
The MapPath method does not support relative path syntax (.) or (..). For example, the following relative path, ../MyDir/MyFile.txt, returns an error."
Niente da fare, il file è sconosciuto...

Adesso proverò a rivedere tutta l'architettura del sito e ad inserire il DB nella più sottocartella che più sottocartella non c'è e vedrò di sistemare la faccenda!

Questo è il primo sito per il web che faccio e immaginavo di non avere l'esperienza per non trovare intoppi... Grazie ancora e se vi siete trovati nella mia stessa situazione ditemi come avete risolto il problema!

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.