Come si disconnette un db sql da codice?

di
Anonimizzato12548
il
5 risposte

Come si disconnette un db sql da codice?

Buongiorno, premetto che sono alle prime armi.... quindi passatemi qualche termine "errato".... ho fatto un'applicazione windows form che utilizza un database sql. premessa....Non ho gestito io la connessione al db, ma ho lasciato fare al visual studio e in tutto il codice ho lavorato con i dataset.
Adesso, ho fatto un form per fare un backup via FTP che mi copia anche il db in uso, ed avrei la necessità di chiudere la connessione al database prima di eseguire questo form, come posso fare? So creare una nuova connessione e chiuderla, ma come posso chiudere la connessione che viene aperta automaticamente all'avvio del form definito come MAIN della mia applicazione?

spero di esser stato chiaro...

5 Risposte

  • Re: Come si disconnette un db sql da codice?

    Ciao con visual studio puoi fare diverse tecniche in merito all'accesso a db... e tutte si basano sull'utilizzo del connection pool... non prevedono una chiusura delle connessioni da applicazione chiamante.

    Detto questo perchè hai necessità di chiudere le connessioni aperte?
  • Re: Come si disconnette un db sql da codice?

    Ciao,
    ho fatto un form che permette di fare la copia del db in uso su un server FTP, ma non riesco perchè mi da file in uso da un altro processo.
    Io uso i tableadapter che dovrebbero preoccuparsi dell'apertura e la chiusura della connessione al db giusto?
    come faccio a disconnettere il db per copiarlo?

    grazie
  • Re: Come si disconnette un db sql da codice?

    Non potrai mai copiarlo come immagino stai facendo se non esegui prima il detach, cosa che comunque non ha senso.
    Un db devi poterlo backuppare senza disconnetterlo.

    Detto questo ti fornisco la soluzione che uso io:
    1. Dispongo un file backup.bat sul server con le istruzioni per fare il backup del database
    2. Lo lancio quotidianamente tramite lo scheduler di windows o su richiesta da un'applicazione utilizzando le istruzioni necessarie a lanciare un eseguibile.
    3. Lo scarico via ftp in automatico

    Ti giro di seguito il codice per il backup di SQL server da riga di comando da mettere nel file .bat

    Codice per il backup di SQL server da riga di comando:
    SET SQLDBName=nome_database
    SET SQLServerName=(local)
    SET BackupDirectoryFile='c:\backup_directory\%SQLDBName%.dat'
    
    sqlcmd -E -S %SQLServerName% -d %SQLDBName% -Q "BACKUP DATABASE %SQLDBName% TO DISK=%BackupDirectoryFile%" > nome_database_backup.log
  • Re: Come si disconnette un db sql da codice?

    Ciao... prima di tutto grazie mille per l'aiuto!!!
    Seguirò il tuo consiglio, ma cmq se volessi provare a fare il detach del database poterei farlo da codice?
    ... e dopo il detach potrei anche ricollegarlo senza uscire dall'applicazione?
    Puoi indicarmi come fare?
    Grazie ancora!!
  • Re: Come si disconnette un db sql da codice?

    Si certo, ti giro i link msdn:
    Detach: http://msdn.microsoft.com/en-us/library/ms188031.asp
    Attach: http://msdn.microsoft.com/en-us/library/ms179877.asp
Devi accedere o registrarti per scrivere nel forum
5 risposte