Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problemi con Server.MapPath

    Con il caro e vecchio ASP le stringhe di connessione verso il db potevo farle in modo "dinamico" usando del codice simile:
    connStr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="+Server.MapPath("../private/forum.mdb");

    Questo codice mi funziona sia on-line che in locale grazie al Server.MapPath().
    Con ASP.NET però non riesco proprio!! Devo comporre la stringa "a mano" specificando il percorso assoluto rigorosamente con gli slash (/) al posto dei back-slash (\) sennò non funziona!
    Non è possibile che tutte le volte che pubblico il lavoro debba cambirgli la stringa di connessione, azz!!
    Se uso il Server.MapPath mi fornisce il percorso con i backslash, così mi dice "stringa di connessione non valida".
    Come cappero fate voi??

    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  2. #2
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Personalmente inserisco la stringa di connessione nel file web.config, e una volta messo on line non lo modifico più. Ovviamente in locale uso un'altra stringa di connessione nel filw web.config.

    Ciao

  3. #3
    Anche io faccio più o meno così visto che includo un script .ascx con la stringa di connessione, quindi ne tengo uno per il locale e uno on-line diverso. Però non mi piace! Lo trovo poco elegante, e poi ASP.NET è tanto potente e non lascia fare una cosa così banale; è assurdo!
    Scusa ma io sono un testone quindi vorrei riuscire a risolverla !
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  4. #4
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Io sono più testone di te, visto che non ci trovo nulla di banale.
    Ciao

  5. #5
    LKDR
    Guest

    a me funziona....

    forse non ho ben capito...

    io cmq uso una cosa del genere

    codice:
    strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" + _
              "User ID=Admin;" + _
              "Data Source=" & Server.MapPath("") & "\cartellDB\nomeDB.mdb"
    il problema che ho avuto pero' e' stato quello di non poter chiamare il server.mapPath (dice che e' una classe intrinseca...) da file .vb all'interno di una classe

    cmq ho risolto mettento la stringa di connessione del global.asax

  6. #6
    Quello che facevo provando era questo:

    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data " _
    "Source="+Server.MapPath("../private/database.mdb")

    e non mi funzionava, pur "tirandomi fuori" il percorso completo, e giusto, dicendomi "stringa di connessione non valida". Ho provato sia in vb (che generamente non uso) che in c# ottenendo lo stesso risultato. Ora proverò a fare come hai fatto tu e poi ti dico.
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  7. #7

    Re: a me funziona....

    Originariamente inviato da LKDR
    forse non ho ben capito...

    io cmq uso una cosa del genere

    codice:
    strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" + _
              "User ID=Admin;" + _
              "Data Source=" & Server.MapPath("") & "\cartellDB\nomeDB.mdb"
    il problema che ho avuto pero' e' stato quello di non poter chiamare il server.mapPath (dice che e' una classe intrinseca...) da file .vb all'interno di una classe

    cmq ho risolto mettento la stringa di connessione del global.asax
    Sorry non funge nemmeno così
    Guarda:
    Errore server nell'applicazione '/sndk4asp'.
    --------------------------------------------------------------------------------

    "D:\Documents and Settings\Administrator\Documenti\Web\forum\html\pa rtesa\private\partesa_agenda.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.
    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.Data.OleDb.OleDbException: "D:\Documents and Settings\Administrator\Documenti\Web\forum\html\pa rtesa\private\partesa_agenda.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.

    Errore nel codice sorgente:


    Riga 41: // "Source=D:/Documents and Settings/Administrator/Documenti/Web/forum/private/partesa_agenda.mdb";
    Riga 42: OleDbConnection Conn = new OleDbConnection(strConn);
    Riga 43: Conn.Open();
    Riga 44:
    Riga 45: //Crepa Cache del cazzo!!!


    File sorgente: D:\Documents and Settings\Administrator\Documenti\Web\forum\html\pa rtesa\agenda.aspx Riga: 43

    Analisi dello stack:


    [OleDbException (0x80004005): "D:\Documents and Settings\Administrator\Documenti\Web\forum\html\pa rtesa\private\partesa_agenda.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.]
    System.Data.OleDb.OleDbConnection.ProcessResults(I nt32 hr) +20
    System.Data.OleDb.OleDbConnection.InitializeProvid er() +57
    System.Data.OleDb.OleDbConnection.Open() +131
    ASP.agenda_aspx.Page_Load(Object obj, EventArgs E) in D:\Documents and Settings\Administrator\Documenti\Web\forum\html\pa rtesa\agenda.aspx:43
    System.Web.UI.Control.OnLoad(EventArgs e) +67
    System.Web.UI.Control.LoadRecursive() +29
    System.Web.UI.Page.ProcessRequestMain() +724




    --------------------------------------------------------------------------------
    Informazioni di versione: Versione di Microsoft .NET Framework:1.0.3705.288; Versione di ASP.NET:1.0.3705.288
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  8. #8
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022

    E' solo la mia opinione

    Ovviamente fai bene a sperimentare ma, secondo me, propriò perché (come dicevi all'inizio di questa discussione) asp.net è molto potente, ci spinge ad usare il tipo migliore di connessione.
    Il server.MapPath non è poi una soluzione così efficiente, o meglio, è da usare se non se ne può fare a meno. Ma, come dicevo, questa è solo la mia opinione.
    Ciao.

  9. #9
    Penso che tu abbia ragione visto che, tra l'altro, oramai mi trovo bene con il metodo che ho escogitato. Cmq stavo cercando di trovare una soluzione col Server.Mappath così per sfizio, visto che sto ancora imparando mi piace pormi delle piccole sfide che mi spronano ad imparare di più.
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  10. #10
    LKDR
    Guest

    re:sull'errorre

    - dove fai girare la tua pagina aspx?
    - dove si travo il db?(nome in con percorso assoluto)
    -esiste sul tuo pc il percorso "D:\Documents and Settings\Administrator\Documenti\Web\for
    um\html\partesa\private\partesa_agenda.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.