IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Copier les fichiers de la base de donnée utilisée


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut Copier les fichiers de la base de donnée utilisée
    Bonjour,

    alors voila, j'ai un programme avec sa base de données, et il se trouve que je voudrais copier les fichiers de la base de donnée. J'ai donc fais appel a la commande de base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file.copy(source,cible);
    et biensur, cela me dis que le fichier est en cour d'utilisation.
    Ma question est donc, comment faire pour "couper" le liens avec la base de donnée afin de copier les fichiers, puis de le retablir afin de pouvoir poursuivre les operations dessus ??

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    Qu'entends tu pas "les fichiers de la base de données" ?
    Quelle est cette base de données ?
    Que souhaite tu faire au juste?
    Peut être y a t' il un moyen simple en utilisant des requêtes SQL ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    j'ai une base de donnée sql serveur, donc un fichier .mdf et un .ldf.
    Je dois la copier, car a chaque année, il est necessaire de repartir avec la meme base de données, mais dont les données changent. Je sais c pas forcement tres logique pour une base de données mais c comme ca.
    Et donc la base, je l'utilise avec mon programme, et dans ce programme, il y a un bouton (ou dans un menu ca change rien) qui devrait permmettre de copier les fichiers en changeant le nom. Le soucis c'est que si le progrzmme est lancé, la base de donnée est utilisée, et donc je voudrais savoir comment la delier le temps de copier et la relier ensuite. (La base n'est pas attachéee au projet)

    En espérant avoir repondu a tes interrogations.

    Cordialement.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    Je n'ai pas trop l'habitude des bases sql serveurs, mais n'y a t 'il pas un service windows a arrêter le temps ou tu fait ta copie de fichier (en supposant que tu puisses rendre indisponible ta base pour les utilisateurs)?

    Est ce que tu arrives deja à faire la manip à la main ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    A la main, tu veux dire en essayant de copier le fichier en crtl c/v pendant que le prog est lancé ?? Si tel est la question, et bien cela ne fonctionne pas. Par contre si tu as d'autres informations concernant le service windows, je suis preneur,ce serais une bonne base pour commencer. Quand au fait de rendre la base indisponible aux utilisateurs, cela ne gene pas.

    Merci.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    jette un œil de ce côté là
    http://technet.microsoft.com/fr-fr/l.../ms190236.aspx

    puis par ici
    http://www.developpez.net/forums/d20...nce-sqlserver/

    A mon avis, cela répondra à ton besoin.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    En effet ca aide pas mal !!

    mais je dois me tromper dans la configuration car il ne lance pas la commande tout seul et lorsque j'execute la commande, il me dis que le service n'est pas installé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Process proc = new Process();
     
                proc.StartInfo.FileName = "cmd.exe";
                proc.StartInfo.Arguments = "net stop \"SQL Server (MSSQLSERVER)\"";
                proc.Start();
    par contre, j'ai commencé autrement, je cree un nouveau fichier, et je vais copier les tables dedans, mais je voudrais savoir s'il existe une facon de recree les tables de facon rapide plutot qu'avec un create et d'enumerer tout les champs ??

    merci d'avance

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    Bonjour,
    j'ai trouvé une SOLUTION !!!

    Il suffit de faire la copie dans le constructeur, avant tout autre ligne !!

    Par contre, quand je copie le fichier .ldf, si je veux ouvrir la base copiée, j'ai une erreur à cause du _log.ldf, sans doute les references a l'interieur qui ne sont pas bonne. L'un d'entre vous aurait-il une idée pour le modifier, ou alors au lieu de le copier, en générer un pour le fichier .mdf copié ??

    J'ai rien dis, je vais tenter avec le deplacement de base (j'avais pas vu le tuto )

    Merci .

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    Bon et bien, apres mainte essais, j'ai reussi a copier la base et a l'utiliser par la suite !!

    pour cela, j'ai procédé comme suis:

    dans le constructeur, appeler ou effectuer la copie avant de faire une autre opération.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public Form1()
            {
                copiebdd();
                InitializeComponent();
    ...
    }
    et dans la fonction copiebdd, suivant comment on procede, a un moment il suffit d'ajouter:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File.Copy(original.mdf, copie.mdf);
    File.Copy(original_log.ldf,copie_log.ldf);
    les .mdf et .ldf ici, correspondent au chemin d'acces des fichiers.

    apres, il suffit pour changer de base,de redefinir la chaine de connection avec la copie.mdf, et cela fonctionne du tonnerre !!!

    Voila, au cas ou il y en ai qui soient interessés, sinon ben tanpis.

    Merci pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OpenOffice][Base de données] Récupérer les données d'un fichier .txt et les insérer dans une base de données
    Par frack dans le forum OpenOffice & LibreOffice
    Réponses: 9
    Dernier message: 05/08/2009, 10h52
  2. Comment copier LES fichiers cachés d'un répertoire donné :-)
    Par gifffftane dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 25/06/2007, 17h57
  3. Que choisir pour gérer les sauvegardes : fichiers XML ou base de données ?
    Par Invité dans le forum Développement 2D, 3D et Jeux
    Réponses: 11
    Dernier message: 14/06/2007, 11h58
  4. Réponses: 2
    Dernier message: 22/02/2007, 19h28
  5. Les fichiers de ma base de donnée!!
    Par mamiberkof dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 09/04/2006, 09h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo