Visualizzazione dei risultati da 1 a 6 su 6

Discussione: ServerMapPath

  1. #1

    ServerMapPath

    IN ASP c'era

    SQLConn ="Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../DB/dati.mdb")
    set conn = server.createobject("ADODB.Connection")

    che diventa con il net:

    dim myConn as OleDbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("../DB/dati.mdb"))


    MA mi dice:
    Errore server nell'applicazione '/'.
    --------------------------------------------------------------------------------

    Impossibile utilizzare '..' come caratteri iniziali per uscire dalla directory principale.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.Web.HttpException: Impossibile utilizzare '..' come caratteri iniziali per uscire dalla directory principale.

    Errore nel codice sorgente:


    Riga 7:
    Riga 8: 'imposta connessione
    Riga 9: dim myConn as OleDbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mappath("../DB/dati.mdb"))
    Riga 10:
    Riga 11: Sub Page_Load(ByVal Src As Object, ByVal E As EventArgs)


    File sorgente: C:\Inetpub\wwwroot\Immobilare Palladio\private\modificapagina.aspx Riga: 9


    Qualcuno sa perché?

  2. #2
    In .NET nn è possibile utilizzare il .. come istruzione (anche negli include nn funzica).

    L'unico modo è utilizzare la barra rovesciata:

    server.mappath("/DB/dati.mdb")

    Attento perché la barra ti porta nella root del sito..

  3. #3
    Per cui se io ho questo

    |
    |___cartella db
    |
    |
    |___cartella1
    |
    |___cartella2
    |_prova.aspx

    e da dentro prova.aspx voglio fare una connessione a un db che è in cartella db come si fa:
    server.mappath("//cartelladb/prova.mdb")

  4. #4
    root
    |_db
    |_img
    |_ SottoCartella1
    |_ _ SottoCartella2
    |_ _ _SottoCartella3
    |_ _ _ _ db
    |_Default.aspx

    Se la directory db è una cartella sotto root nn devi fare altro che:

    Server.MapPath("/DB/dati.mdb")

    Perché la barra iniziale ti porta in root.
    Se vuoi raggiungere, per es., la cartella db che si trova sotto SottoCartella3 e sei in una qualsiasi posizione basta fare:

    Server.MapPath("/SottoCartella1/SottoCartella2/SottoCartella3/DB/dati.mdb")

    Capito?
    In pratica, torni sempre all'inizio.. Da lì poi gli dici tu dove andare..

  5. #5

  6. #6
    Dim objConn As New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; data source=" & Server.MapPath("mdb-database/tuo_db.mdb"))

    Dim objConn As New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; data source=" & Server.MapPath("../../mdb-database/tuo_db.mdb"))

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.