Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    i caratteri ".." nel parametro Path del metodo MapPath.

    ciao ragazzi,
    ho appena trasferito un sito fatto con asp da un server all'altro, ma le pagine asp che hanno questo include per la connessione non mi funzionano:

    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../data/db.mdb")

    mi da questo strano errore:

    Server.MapPath() error 'ASP 0175 : 80004005'

    Caratteri non consentiti nel percorso

    /english/connessione.asp, line 3

    Impossibile utilizzare i caratteri ".." nel parametro Path del metodo MapPath.

    io ho comprato uno spazio con supporto asp, supporto .net framework
    vi è capitato?? come dovrei fare??

  2. #2
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Controlla la versione del windows server su cui ti sei trasferito, perchè:

    Con il Win server 2003 le inclusioni di file tra cartelle diverse devono partire necessariamente dalla root del sito.
    Inclusioni di questo tipo, accettate anche se sconsigliate in Win 2000 server, ora non sono più permesse e quindi devono essere indicate in questo modo: Analogamente per i Server.MapPath:
    codice:
    Server.MapPath("/mdb-database/db.mdb")

  3. #3
    si è il 2003! sapevo che dovevo sostituire il cdons con il cdosis ma non mi ricordavo dei puntini nell'include!!!grazie!
    ciao!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    Originariamente inviato da wegawhite
    Controlla la versione del windows server su cui ti sei trasferito, perchè:

    Con il Win server 2003 le inclusioni di file tra cartelle diverse devono partire necessariamente dalla root del sito.
    Inclusioni di questo tipo, accettate anche se sconsigliate in Win 2000 server, ora non sono più permesse e quindi devono essere indicate in questo modo: Analogamente per i Server.MapPath:
    codice:
    Server.MapPath("/mdb-database/db.mdb")
    non ho capito con "/mdb-database/" dove è posizionata la mdb-database rispetto al modulo asp: è una sottocartella?
    o lo slash / serve per risalire di un livello?

    ps: xchè hanno fatto una idiozia del genere?

  5. #5
    Originariamente inviato da Another
    non ho capito con "/mdb-database/" dove è posizionata la mdb-database rispetto al modulo asp: è una sottocartella?
    o lo slash / serve per risalire di un livello?

    ps: xchè hanno fatto una idiozia del genere?
    Non ha importanza dove sia posizionata la pagina asp che richiama la connessione al database, perché con
    Server.MapPath("/mdb-database/db.mdb")

    lo si può fare da qualunque posizione.

    Per quanto riguarda la "/", questa sta a significare che la cartella "mdb-database" è posizionata nella Root del sito.
    Se per esempio il sito si chiamasse "prova.it", l'istruzione "/mdb-database/db.mdb" sta a significare:
    http://www.prova.it/mdb-database/db.mdb"

    mentre



    sta a significare:
    http://www.prova.it/include/common.asp

    Quindi non mi pare una idiozia ma un miglioramento, dal momento che non ti devi più preoccupare da che cartella o sottocartella effettui la chiamata.


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    ah si? mi sembrava che server.mappath partisse a costruire i percorsi dalla cartella che conteneva lo script che li eseguiva..
    nn sono molto pratico di asp

    cmq :
    1 - in sostanza non si può più usare un db posto al di fuori della cartella del sito?
    2 - se è così mi sembra una limitazione gratuita

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    up

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da Another
    ah si? mi sembrava che server.mappath partisse a costruire i percorsi dalla cartella che conteneva lo script che li eseguiva..
    nn sono molto pratico di asp

    cmq :
    1 - in sostanza non si può più usare un db posto al di fuori della cartella del sito?
    2 - se è così mi sembra una limitazione gratuita
    Fuori dalla cartella puoi sempre farlo, ma in quel caso il MapPath non serve, ti basta mettere il percorso assoluto "D:\Webs\ecc..."
    In quest'ottica non è senz'altro una limitazione ma una maggiore sicurezza.

    Roby

  9. #9
    Utente bannato
    Registrato dal
    May 2001
    Messaggi
    460
    no ma fatemi capire...cioè...anche io ho lo stesso problema e mica posso usare il path assoluto eh! devo solo salire di una cartella come stradiavolo faccio ?

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Puoi salire anche scendendo...
    Cioè invece di salire di una cartella rispetto a quella in cui ti trovi, puoi scendere dalla root fino alla cartella che desideri.

    Roby

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 © 2026 vBulletin Solutions, Inc. All rights reserved.