Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problematica di deploy

  1. #1

    Problematica di deploy

    Ciao a tutti,

    in questi giorni sto realizzando un software web based per un cliente che deve gestire alcune anagrafiche e qualche semplice calcolo.
    Ora il progetto è quasi completo, però mi è saltato fuori che vuole potersi portare su una chiave usb il programma compreso di database.
    Considerando che non si sa se il db sia su c/e/d/f/g/ec.... come unità cosa posso fare per dargli la possibilità di usare il db in entrambi i luoghi?
    Avevo pensato di fare un piccolo exe che copia il db in una posizione su c e poi avviasse IE sull'applicativo.
    Ma poi come faccio a riportarlo sulla chiavetta in automatico?

    Cosa potrei fare? (eslcudendo il rifare tutto su winform ^__^)

  2. #2
    Il database che cos'è? SQL o ACCESS?
    Come fai la connessione al db?

    Ciao
    K
    Kalman

  3. #3
    db access.
    uso oledbconnection e come stringa di connessione una dsn less.

  4. #4
    Con Server.MapPath(nomefile) ti ritorna una stringa con il percorso fisico del file.

    Attento però che il percorso fisico viene calcolato sulla base del percorso della pagina chiamante.


    Prendiamo come esempio questo sito (per semplificare diciamo che la root sia su c

    -pagina1.aspx
    -\test\pagina2.aspx
    -\db\db.mdb

    Se in pagina1.aspx fai Server.MapPath("db.mdb") otterrai c:\db.mdb
    Se in pagina2.aspx fai Server.MapPath("db.mdb") otterrai c:\test\db.mdb

    Devi quindi ricordarti di togliere le cartelle che non ti interessano (magari con un replace) ed aggiungere quella del db.


    Spero di essere stato chiaro.
    Fammi sapere
    Ciao
    K
    Kalman

  5. #5
    Ok, ma non era questo che intendevo.

    In pratica io non so dove sia il db, se sia in c:\lavoro, oppure e:\progetti oppure z:\pincopallo

    Questo perchè non so che lettera il sistema operativo assegna alla chiavetta usb.

    Potrei fare una scansione di tutte le unità (da a a z) per cercare il file all'avvio dell'applicazione e salvarmi il percorso per portarmelo appresso?
    Ovviamente a quel punto sono obbligato a lasciare il db in una posizione fissa (tipo c:\DBPROG) e fare la scansione modificando solo la lettera di unità.

    Qualche idea migliore?

  6. #6
    Quindi quello che non sai come mappare è solo la lettera con cui viene mappata la chiavetta?

    Perchè non metti due chiavi nel web config.
    La prima per dire se utilizzare o meno la chiavetta
    La seconda la lettera con cui viene mappata la chiavetta

    Nel web.config alla fine ci dovrà essere un qualcosa del genere

    codice:
      </system.web>
        <appSettings>
           <add key="UseUsbKey" value="1"/> 
           <add key="UsbKeyDrive" value="K"/>
        </appSettings>
    </configuration>
    Nella pagina dove fai la connessione
    codice:
    if System.Configuration.ConfigurationSettings.AppSettings("UseUsbKey") = 1 Then
        PathDB  = System.Configuration.ConfigurationSettings.AppSettings("UsbKeyDrive")  & ":\folder\"
    else
       PathDB = "Percorsodeltuodatabase"
    end if
    in questo modo devi solo adattare il web.config al volo


    Fammi sapere
    Ciao
    K
    Kalman

  7. #7
    Quindi quello che non sai come mappare è solo la lettera con cui viene mappata la chiavetta?
    Esatto!

    Perchè non metti due chiavi nel web config.
    La prima per dire se utilizzare o meno la chiavetta
    La seconda la lettera con cui viene mappata la chiavetta

    Nel web.config alla fine ci dovrà essere un qualcosa del genere

    codice:
      </system.web>
        <appSettings>
           <add key="UseUsbKey" value="1"/> 
           <add key="UsbKeyDrive" value="K"/>
        </appSettings>
    </configuration>
    Nella pagina dove fai la connessione
    codice:
    if System.Configuration.ConfigurationSettings.AppSettings("UseUsbKey") = 1 Then
        PathDB  = System.Configuration.ConfigurationSettings.AppSettings("UsbKeyDrive")  & ":\folder\"
    else
       PathDB = "Percorsodeltuodatabase"
    end if
    in questo modo devi solo adattare il web.config al volo


    Fammi sapere
    Ciao
    K
    Ottima idea!
    Poi però per adattare il web config? A mano non posso farglielo fare, piuttosto dentro la chiavetta gli metto anche un programmino che vedendo da dove è stato lanciato modifica il web.config al volo così il problema si risolve.

    Mille grazie!!!
    Stasera provo la soluzione

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.