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

Entity Framework Discussion :

[Sqlite][.Net Core 5] Faire un backup ? [Débutant]


Sujet :

Entity Framework

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 183
    Points : 79
    Points
    79
    Par défaut [Sqlite][.Net Core 5] Faire un backup ?
    Bonjour à tous,

    je fais mon 1er petit projet perso en : C# / .Net 5 / Asp.Net Razor / EF Sqlite 5.0.12 ... le tout auto-hébergé sur un micro serveur Linux à la maison.

    -> je voudrais pouvoir faire une page "backup.cshtml" qui fait un backup propre de ma BDD dans un dossier "backup" en utilisant l'API sqlite prévue pour ça :

    sqlite3_backup_init()
    sqlite3_backup_step()
    sqlite3_backup_finish()

    Mais voilà : comment arriver au database_connection de la source ?! ... et de la destination ? ...

    Merci de vos lumières.
    Seb.

  2. #2
    Membre expert
    Profil pro
    Dév
    Inscrit en
    Juin 2007
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Dév

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 154
    Points : 3 667
    Points
    3 667

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 183
    Points : 79
    Points
    79
    Par défaut
    Merci,

    ce n'est pas un problème d'ouvrir une nouvelle connexion sur la BDD ?

    [NOOB MODE=true]

    je pensais qu'il fallait que je récupère la connexion utilisée par EF ... mais en fait non ?

    [Edit] en fait j'ai mal lu, la nouvelle connexion est sur la destination ... mais alors comment avoir la connexion utilisée par EF ?!!

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 183
    Points : 79
    Points
    79
    Par défaut
    J'avance à petits pas, ça compile au moins :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    using Microsoft.AspNetCore.Mvc.RazorPages;
    using Microsoft.Data.Sqlite;
    using Microsoft.EntityFrameworkCore;
    using System;
     
    namespace MonSite.Pages
    {
        public class DB_BackupModel : PageModel
        {
            public void OnGet()
            {
                using (var DBC = new DataBaseContext())
                {
                    // Create a full backup of the database
                    var BackupConnection = new SqliteConnection("Data Source=Out.db");
                    var SourceConnection = (SqliteConnection)DBC.Database.GetDbConnection();
                    SourceConnection.BackupDatabase(BackupConnection);
                }
            }
        }
    }
    Mais ça crash ...

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 183
    Points : 79
    Points
    79
    Par défaut
    ça marche !

    il manquait le open sur la connexion source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void OnGet()
            {
                using (var DBC = new DataBaseContext())
                {
                    // Create a full backup of the database
                    var BackupConnection = new SqliteConnection("Data Source=Out.db");
                    var SourceConnection = (SqliteConnection)DBC.Database.GetDbConnection();
                    SourceConnection.Open();
                    SourceConnection.BackupDatabase(BackupConnection);
                }
            }

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/07/2020, 14h57
  2. Apprendre à faire des tests unitaires en .Net Core avec XUNIT
    Par Malick dans le forum Général Dotnet
    Réponses: 12
    Dernier message: 18/03/2020, 16h29
  3. Réponses: 16
    Dernier message: 13/02/2020, 11h09

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