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

    path per connessione a db access in altra cartella

    Ho un problema con la connessione ad un database access
    Devo collegarmi ad un db che si trova in un'altra cartella del sito, ma non riesco a scrivere la path corretta.

    L'errore che mi da è questo:

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'

    [Microsoft][ODBC Microsoft Access Driver] '(unknown)' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.
    la stringa per la connessione è la seguente, la cartella è allo stesso livello di quella da cui parto:

    codice:
    <% Set DBC = Server.CreateObject("ADODB.Connection")
    Nomedb = Server.MapPath(".") & "/1234/nomedb.mdb"
    DBC.Open "DRIVER=Microsoft Access Driver (*.mdb);dbq=" & Nomedb
    %>
    Grazie!
    ciao

  2. #2
    Intanto che server usi? Windows Xp o 2003?

    Se usi il 2003 devi partire con / per indicare la cartella principale e poi il nome della cartella dove si trova il database / nome database

    Se invece usi XP quando esci da una cartella per rientrare in un'altra che sta allo stesso livello devi usare i due punti ".." prima di / così
    codice:
    <%
    Set DBC = Server.CreateObject("ADODB.Connection")
    Nomedb = Server.MapPath(".") & "../1234/nomedb.mdb"
    DBC.Open "DRIVER=Microsoft Access Driver (*.mdb);dbq=" & Nomedb
    %>
    Se vuoi spiegazioni più precise dai più informazioni, tipo nome della cartella principale e delle sottocartelle ecc...

  3. #3
    Non so che server uso, piuttosto come si fa per saperlo? esiste una procedura?

    Comunque non funziona con entrambi, mi da sempre lo stesso errore.
    Io in questo momento i file su cui sto lavorando si trovano all'interno id una cartella, diciamo quindi che la loro "origine" non è nella radice del sito, ma all'interno di una cartella, dalla quale si sviluppa il sito che sto costruendo. c'è una cartella in cui è contenuto il database e poi tutte le altre. Fino a quando si tratta di collegare il db ad una pagina che si trova nella cartella principale va tutto bene, ma poi come in questo caso che devo collegarlocon un file che sta in una sottocartella non ne vuol sapere!!!

  4. #4
    Allora sicuramente la cartella dove hai messo il database non ha i permessi di scrittura .
    Per sapere su che server è appoggiato il tuo sito devi chiedere al Gestore del server (cioè colui che ti ha fornito lo spazio per il tuo sito).
    Comunque il database va in una cartella speciale che ha i permessi di scrittura e lettura e che di solito si chiama "mdb-database" o "db" o "database" e non devi creartela tu , ma ti viene fornita assieme allo spazio e assieme ad altre cartelle speciali quali "cgi-bin", "public".
    Per aiutarti dobbiamo sapere quale è il preciso percorso del tuo database e il preciso percorso del file asp per la connessione al database, nonché che tipo di Server usi.

  5. #5
    Scusa se vedo il topic solo adesso ma non ho avuto possibilità di collegarmi in questo fine settimana.

    Io un collegamento al db l'ho già fatto, in una file che sta nella cartella di livello superiore a quella dove ho il problema, e di errori non me ne da, quindi non so se è questione di permessi di scrittura.

    Queste pagine sono hostate su aruba, ti può essere utile questo?

    Grazie ancora
    Ciao

  6. #6
    Si, ci aiuta sapere che l'Host è Aruba, così almeno sappiamo dove è il database. Devi darci il preciso percorso della pagina che fa il collegamento al database. Dove si trova questa pagina?
    Per esempio: Nome_sito/Nome_cartella/Nome_pagina.asp
    Il tuo database su Aruba deve essere messo nella cartella "mdb-database", quindi:
    Dall'esempio precedente (Nome_sito/Nome_cartella/Nome_pagina.asp) se sei su Server XP:
    codice:
    <%
    Dim Conn
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("../mdb-database/nomedb.mdb")
    %>
    Se invece sei su Server 2003:
    codice:
    <%
    Dim Conn
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("/mdb-database/nomedb.mdb")
    %>
    Se la tua pagina fosse invece: (Nome_sito/Nome_cartella/Nome_cartella2/Nome_pagina.asp)

    Allora dovresti fare il collegamento così su Server XP:
    codice:
    <%
    Dim Conn
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("../../mdb-database/nomedb.mdb")
    %>
    Se invece sei su Server 2003 sarebbe uguale a prima:
    codice:
    <%
    Dim Conn
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("/mdb-database/nomedb.mdb")
    %>
    Altro non posso dirti se non conosco il percorso preciso della pagina.


  7. #7
    ho risolto mettendo il db nell'apposita cartella nella radice del sito. adesso mi si connette tranquillamente utilizzando questo path:
    codice:
    /../../mdb-database/nomedb.mdb"
    ho provato e non mi da problemmi nemmeno se utilizzo backslash al posto della slash.

    In pratica, la mia pagina si trova in nome_sito/nome_cartella/nome_cartella2/nome_pagina.asp

    e il db adesso è in
    nome_sito/mdb_database/nomedb.mdb

    mentre perchè la pagina che si trova in
    nome_sito/nome_cartella/nome_pagina.asp

    riesce a collegarsi alla db dove era messo prima?
    nome_sito/nome_cartella/nome_cartella_db/nome_db.mdb

    Perchè?

    Grazie
    Ciao!

  8. #8
    ...perchè la pagina che si trova in
    nome_sito/nome_cartella/nome_pagina.asp

    riesce a collegarsi alla db dove era messo prima?
    nome_sito/nome_cartella/nome_cartella_db/nome_db.mdb

    Perchè?

    Grazie

    Semplicemente perché la cartella del db si trova all'interno della cartella della stessa cartella dove si trova "nome_pagina.asp", che suppongo sia stata la cartella "public", altrimenti non so come tu facessi ad inserire i dati nel db.

  9. #9
    Giusto, sia la pagina che la cartella del db erano contenuti nella stessa cartella.

    Grazie mille ancora!
    Ciao!

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