Partage
  • Partager sur Facebook
  • Partager sur Twitter

Où est-ce que je peux trouver ma base de donnée ?

base de donnée

Sujet résolu
    21 octobre 2018 à 0:50:21

    Salut à toutes et à tous, Je veux faire une sauvegarde manuelle ou automatique de ma base de donnée dans mon programme, pour ne pas perdre les données au cas du formatage du PC par exemple.

    Questions:

    • Où puis-je trouver la base de données ?
    • Est-ce qu'il y a de méthode  pour ajouter les données d'une base sauvegardée ?

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      21 octobre 2018 à 16:18:10

      Je ne suis pas sur de comprendre la question, mais si tu veut simplement stocker des informations en réseau, je te recommande alwaysdata. 

      Pour ce qui est de la connexion et de l'envoi de donnée a la BDD il y'a plein de tuto déjà présent

      • Partager sur Facebook
      • Partager sur Twitter
        22 octobre 2018 à 11:52:57

        Ce n'est pas un programme "externe" qui doit être en charge des back-up des données de la base (performances, "transactionnalité", journalisation, etc...)

        C'est généralement des programmes spécifiques à votre gestionnaire de base de données, parles-en avec ton DBA.

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
          24 octobre 2018 à 23:55:17

          Merci à Alexnex et Bacelar pour votre réponses.

          Je suis entrain de faire un petit programme sur la gestion de station export. Il y a beaucoup de donneées à enregistrer sur une base de données. tout est fait.

          Je veux permettre à l'utilisateur du programme de pouvoir récupérer le fichier de la base de données et le mettre à sa place en cas de perte des données au niveau du PC(formatage....). Donc, je crois qu'il sera mieux de sauvegarder la BDD de temps en temps pour pouvoir mettre le fichier de sauvegarde à sa place après l'installation du programme.

          J'espère être un peu claire.

          Merci.

          • Partager sur Facebook
          • Partager sur Twitter
            25 octobre 2018 à 11:29:49

            Il y a un problème sur le status de votre "utilisateur".

            Soit c'est un utilisateur "lambda" est ce n'est pas la base qui l'intéresse mais SES données.

            Dans ce cas, le plus simple, c'est de mettre en place une mécanique d'import/export de données via un format ouvert.

            Si ses données peuvent être stockées dans un format tabulaire, un simple fichier CSV fera l'affaire.

            Sinon, les formats XML ou JSON sont des bons candidats pour le transfert de données.

            Soit c'est un administrateur de l'application, et là, je vous conseille fortement de ne pas réinventer la roue et qu'il utilise les programmes dédiés du gestionnaire de base de données.

            • Partager sur Facebook
            • Partager sur Twitter
            Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
              25 octobre 2018 à 23:57:49

              Oui certainement c'est un administrateur de l'application, mais je ne peux pas dire à n'importe quel utilisateur d'utiliser un gestionnaire de BDD. je veux lui offrir une option s'il veux sauvegarder sa bdd dans un disque externe par exemple..
              • Partager sur Facebook
              • Partager sur Twitter
                26 octobre 2018 à 11:22:27

                L'administrateur de l'application contactera de DBA pour faire ce travail, c'est l'une de ses fonctions majeurs (mise hors ligne de la base, prétraitement avant back-up, back-up). Pour faire ce genre de chose de manière fiable, on ne fait pas cela en bricolant.

                Si vous avez les connaissances suffisantes, votre application peut carrosser tout ce travail. Votre application utilisera les API ou les utilitaires de votre gestionnaire de base de données.

                -
                Edité par bacelar 29 octobre 2018 à 12:00:58

                • Partager sur Facebook
                • Partager sur Twitter
                Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                  28 octobre 2018 à 22:08:57

                  Maintenant j'ai pu sauvegarder la base de données grâce à la requête suivante:

                  Dim Connexion As New SqlConnection("Data Source=localhost;Initial Catalog=STATIONEXP_DB;User Id=sa;password=*********")
                  
                  Connexion.Open()
                  Dim Requete As String = "BACKUP DATABASE STATIONEXP_DB TO DISK = 'D:\Prog-vb\Projects\baseDeDonnees\bdd.bak'"
                  Dim Cmd As New SqlCommand(Requete, Connexion)
                  Cmd.ExecuteNonQuery()
                  Connexion.Close()

                  Et j'ai essayé de faire la même chose pour la restauration, mais en vain.

                  Dim Requete As String = "RESTORE DATABASE STATIONEXP_DB FROM DISK = 'D:\Prog-vb\Projects\baseDeDonnees\bdd.bak'"

                  ça me donne une erreur de sorte: La base de données est utilisée.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 octobre 2018 à 12:08:40

                    Normal, restaurer une base quand elle est en cours d'utilisation, ça se fait pas.

                    Le problème, c'est qu'avec votre API ADO.NET, vous êtes déjà en train de l'utiliser. C'est une API de consultation, pas de management de base de données.

                    Cet ensemble de vidéo devrait donner une solution de contournement :

                    https://www.youtube.com/watch?v=5E0q5cZjblk

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                      30 octobre 2018 à 16:23:01

                      Merci Bacelar,

                      Enfin, j'ai trouvé la solution(pour la restauration) grâce à un petit truc dans les vidéos que tu as partagé.

                      Pour le backup pas de problème, voilà le code une autre fois:

                      Dim Connexion As New SqlConnection("Data Source=localhost;Initial Catalog=STATIONEXP_DB;User Id=sa;password=*********")
                      Connexion.Open()
                      Dim Requete As String = "BACKUP DATABASE STATIONEXP_DB TO DISK = 'D:\Prog-vb\Projects\baseDeDonnees\bdd.bak'"
                      Dim Cmd As New SqlCommand(Requete, Connexion)
                      Cmd.ExecuteNonQuery()
                      Connexion.Close()

                      Mais pour la restauration, il faut enlever le nom de la base de donnée dans la chaine de connexion et garder seulement les trois autres:

                      Dim Connexion As New SqlConnection("Data Source=localhost;User Id=sa;password=*********")

                      Pour la requête, avant de restaurer il faut ajouter un ALTER pour la base de dennées et mettre à la fin un ";" puis ajouter RESTORE:

                      Dim Requete As String = "ALTER DATABASE STATIONEXP_DB SET SINGLE_USER WITH ROLLBACK IMMEDIATE;"
                          Requete += "RESTORE DATABASE STATIONEXP_DB FROM DISK = 'leCheminDufichier' WITH REPLACE"
                          Dim Cmd As New SqlCommand(Requete, Connexion)
                      
                          Cmd.ExecuteNonQuery()

                      Il faut faire attention à ";" après IMMEDIATE.


                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 octobre 2018 à 16:40:18

                        ";" c'est le séparateur d'instruction du SQL.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                        Où est-ce que je peux trouver ma base de donnée ?

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown