+ Répondre à la discussion
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 23
  1. #1
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 161
    Points
    161

    Par défaut Comment sauvegarder une base de données en vb.net

    Comment sauvegarder une base de données depuis VB ? j'ai trouvé du trucs sur SQL, des requetes plutot, mais ce que je cherche c'est de le faire en vb.net. Merci D'avance.

  2. #2
    Expert Confirmé
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    avril 2010
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2010
    Messages : 1 221
    Points : 2 703
    Points
    2 703

    Par défaut

    Il existe plusieurs technologies pour accéder aux BDD
    - Dataset
    - Linq to SQL
    - Entity Framework
    Pensez à la balise ainsi qu'au petit pouce vert
    WindowManager : Gérer facilement vos différentes fenêtres

  3. #3
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2007
    Messages : 49
    Points : 190
    Points
    190

    Par défaut

    Si tu utilises le Dataset, il existe un truc super facile... En fait tu peux exporter le tout sous format XML, avec ou sans schéma xsd... C'est super pour ça

    Bonne chance!

  4. #4
    Expert Confirmé
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    avril 2010
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2010
    Messages : 1 221
    Points : 2 703
    Points
    2 703

    Par défaut

    L'intérêt du Dataset est surtout qu'il permet un mode déconnecté.
    L'intérêt d'Entity Framework est de pouvoir gérer sa BDD avec un model object et non relationnel. De plus EF évite d'écrire les requêtes SQL à la main.
    Depuis l'arrivé d'EF4, je ne vois plus vraiment d'intérêt pour Linq to SQL.
    Pensez à la balise ainsi qu'au petit pouce vert
    WindowManager : Gérer facilement vos différentes fenêtres

  5. #5
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 161
    Points
    161

    Par défaut

    S'il vous plait pouvez vous me passé un bout de code, je dois commencé par quoi

  6. #6
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : octobre 2007
    Messages : 49
    Points : 190
    Points
    190

    Par défaut

    Citation Envoyé par meziantou Voir le message
    L'intérêt du Dataset est surtout qu'il permet un mode déconnecté.
    L'intérêt d'Entity Framework est de pouvoir gérer sa BDD avec un model object et non relationnel. De plus EF évite d'écrire les requêtes SQL à la main.
    Depuis l'arrivé d'EF4, je ne vois plus vraiment d'intérêt pour Linq to SQL.
    Oui bon, le dataset est beaucoup plus que ce que j'ai dit, mais pour son besoin, cela reste une bonne solution, selon moi. (Le Dataset.WriteXML si je me souviens bien)

  7. #7
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    février 2010
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : février 2010
    Messages : 1 056
    Points : 1 409
    Points
    1 409

    Par défaut

    Tu veut juste exporter des données sans les réutiliser sous vb par la suite ?

    si c'est le cas je veut bien t'aider
    *charger puis modifier les données d'une base de données est un peut plus complqué ...*

  8. #8
    Membre habitué
    Inscrit en
    avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 151
    Points : 100
    Points
    100

    Par défaut

    Je suis également interessé par la méthode via vb.net.

    Car ce que je fait, mais c'est une solution de substitution.
    J'ai ma BBD vide de donnée + une BBD active.
    Lorsque je veux la sauvegarder (je fait une BBD par Année), à la fin de l'année je permet à un administrateur de pointer sur une BDD vierge et l'autre est sauvegardé à coté, ainsi s'il a besoin de travailler sur des années antérieur (cas très rare, mais utile pour la partie statistique) il repointe sur une BDD2008 par exemple.

  9. #9
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 161
    Points
    161

    Par défaut

    Bonjour,
    Ce que je veux faire moi, c'est de donner la possiblité à un utilisateur de faire une sauvegarde de sa base de données; au lieu d'aller arreter le server sql dans sql server, et copier la base a partir de son dossier; je veux faire ces etapes en vb.net; creer un form avec un bouton parcourir et un bouton sauvegarder, je choisi une base dans un combobox et je clique sur le bouton parcourir pour préciser le chemin de sauvegarde et puis sauvgardant la BD en cliquant sur bouton sauvegarde.

  10. #10
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    février 2010
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : février 2010
    Messages : 1 056
    Points : 1 409
    Points
    1 409

    Par défaut

    pour le bouton pacourir je pense que cecie devrais t'aller
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim BoiteDeSauvegarde As New SaveFileDialog
     
    With BoiteDeSauvegarde
            .InitialDirectory = Application.StartupPath & "\" 'répertoire sur lequel s'ouvrira la boite
            .Title = "Choisir un fichier" 'titre de la barre
            .Filter = "Base de données(*.mdb)|*.mdb" 'filtre, seules les fichiers .mdb apparaîtront
            .ShowDialog() ' on ouvre la boite de dialogue pour finir
    End With
    Aprés, pour le reste il me faudrais un bout de code de ta part,
    je ne suis pas spécialiste des Base SQL en +...
    (tu peut voir que mon code est fait pour des bases Access, tu a juste a changer le filtre pour toi et p-e le chemin )

  11. #11
    Responsable Actualités

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2007
    Messages
    4 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2007
    Messages : 4 016
    Points : 59 929
    Points
    59 929

    Par défaut

    Tu doit simple faire un backup de ta base de données.

    Voila la requête SQL que tu doit metre dans ton CommandText

    Code :
    1
    2
     
    "BACKUP DATABASE " & NomDeLaBD & " TO DISK = '" & CheminComplet &"' bak "
    @++
    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog Mes articles
    En posant correctement votre problème, on trouve la moitié de la solution

  12. #12
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 161
    Points
    161

    Par défaut

    Merci bcp a tous, je vais tester ca, si je trouve une solution je vais la postulé Merci encore

  13. #13
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 161
    Points
    161

    Par défaut

    Bonjour,
    Voila j'ai trouvé quelque chose mais ca ne fanctionne pas.

    Voila les Codes:
    --------------------------SQL: Procedures stockées---------------------------
    --Ce Code sert a detacher la base de données: (Master)
    Code :
    1
    2
    3
    4
    5
    CREATE PROCEDURE usp_DetachDatabase
          @DatabaseName varchar(50)
    AS
     
    EXEC master.dbo.sp_detach_db @dbname = @DatabaseName,@keepfulltextindexfile = N'true'
    ----ce code sert a attacher la base de données(Master)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE PROCEDURE [dbo].[usp_AttachDatabase]
          @DatabaseLocation varchar(100),
          @DatabaseName varchar(100)
    AS
    DECLARE @myMDF as varchar(100)
    DECLARE @myLDF as varchar(100)
    SET @myMDF  = @DatabaseLocation + '\Data\' + @DatabaseName + '.mdf'
    SET @myLDF = @DatabaseLocation + '\Data\' + @DatabaseName + '_log.ldf'
     
    EXEC sp_attach_db @DatabaseName,@myMDF, @myLDF
    --------------------------SQL:Code VB.Net------------------------

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Imports System.Data.SqlClient
    Imports System.IO
    Public Class Form1
        Private Sub btnBackUpDatabase_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBackUpDatabase.Click
            Dim cnString As String = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=TURNER-1B9A9553\SQLEXPRESS"
            Dim dbLocation As String = "F:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\"
            Dim dbName As String = "StevesBackUpDB"
     
            Using cn As New SqlConnection(cnString)
                cn.Open()
                Using cmdDetach As New SqlCommand
                    cmdDetach.Connection = cn
                    cmdDetach.CommandType = CommandType.StoredProcedure
                    cmdDetach.CommandText = "usp_DetachDatabase"
                    cmdDetach.Parameters.AddWithValue("@DatabaseName", dbName)
                    cmdDetach.ExecuteNonQuery()
                    RelocateCopiedMDF(dbLocation, dbName)
                    Using cmdAttach As New SqlCommand
                        cmdAttach.Connection = cn
                        cmdAttach.CommandType = CommandType.StoredProcedure
                        cmdAttach.CommandText = "usp_AttachDatabase"
                        cmdAttach.Parameters.AddWithValue("@DatabaseName", dbName )
                        cmdAttach.Parameters.AddWithValue("@DatabaseLocation", dbLocation)
                        cmdAttach.ExecuteNonQuery()
                    End Using
                End Using
            End Using
            MessageBox.Show("Database backup complete.")
        End Sub
        Private Sub RelocateCopiedMDF(ByVal dbLocation As String, ByVal dbName As String)
            Dim myMDF As String = dbLocation & "\Data\" & dbName & ".mdf"
            Dim myLDF As String = dbLocation & "\Data\" & dbName & "_Log.ldf"
     
            Dim copyMDF As New FileInfo(myMDF)
            Dim copyLDF As New FileInfo(myLDF)
     
            copyMDF.CopyTo("F:\Documents and Settings\Adam\Desktop\myDBbackup\" & dbName & "bak.mdf")
            copyLDF.CopyTo("F:\Documents and Settings\Adam\Desktop\myDBbackup\" & dbName & ".ldf")
     
        End Sub
    End Class
    mais le code me genere l'erreur suivant:
    The database 'StevesBackUpDB' does not exist. Use sp_helpdb to show available databases.
    svp Qu'est ce que je dois mettre au lieu de 'StevesBackUpDB'? c'est quoi l'erreur exact? merci d'avance.

  14. #14
    Membre habitué
    Inscrit en
    avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 151
    Points : 100
    Points
    100

    Par défaut

    Je dirais le nom de ta BDD.

  15. #15
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 161
    Points
    161

    Par défaut

    Oui j'ai mis le nom de ma base de données(Master), et j'ai recu le message d'erreur suivant:
    Cannot detach the database 'master' because it is currently in use

  16. #16
    Membre habitué
    Inscrit en
    avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 151
    Points : 100
    Points
    100

    Par défaut

    J'y connais pas grand chose, mais en gros le message d'erreur voudrait dire que ta BDD est en cours d'utilisation donc ouverte.

  17. #17
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 161
    Points
    161

    Par défaut

    Oui mais j'ai fermé toutes les tables de la BDD, et dans c'est le code qui va detaché et attaché la base de données, Qu'est ce que tu propose?

  18. #18
    Membre habitué
    Inscrit en
    avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 151
    Points : 100
    Points
    100

    Par défaut

    D'attendre que quelqu'un qui s'y connaisse puisse t'orienter

    la solution de lilroma ne fonctionne pas?

  19. #19
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 161
    Points
    161

    Par défaut

    Non, je l'a testé mais ca pas marché,.

  20. #20
    Responsable Actualités

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    janvier 2007
    Messages
    4 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2007
    Messages : 4 016
    Points : 59 929
    Points
    59 929

    Par défaut

    Salut,

    vouloir detacher/attacher est une mauvaise solution car losque tu detache ta BD célui ci n'est plus accessible. Et pour pouvoir le faire toute les connexions sur celle ci doivent etre coupé. La fermeture de toute les tables ne veut pas dire que la BD n'est plus en cour d'utilisation.

    Citation Envoyé par sihammaster Voir le message
    Non, je l'a testé mais ca pas marché,.
    Fait moi voir le code que tu a utiliser pour générer le fichier .bak de ta BD

    essaye d'abord avec un exemple simple comme celui-ci

    Code :
    1
    2
    3
    4
     
    BACKUPDATABASE StevesBackUpDB
    TODISK='c:\SteveBackUp.bak'
    WITHCOMPRESSION
    Faudra tout d'abord créer la BD SteveBackupDB.

    L'option 'WITHCOMPRESSION' est optionnel.

    @++
    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog Mes articles
    En posant correctement votre problème, on trouve la moitié de la solution

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •