⇨ MENU ⇨ MODULES ⇨ sqlite3 ⇨ Connection
sqlite3.Connection ( ).backup ( )
⇨ MENU ⇨ MODULES ⇨ sqlite3 ⇨ Connection
sqlite3.Connection ( ).backup ( )
DESCRIPTION.
Créer une copie d'une base de données.
SYNTAXE.
BDD_Base.backup ( destination , * , page , progression , source , attente )
BDD_Base ⇨ objet connexion avec une base de données [ OBLIGATOIRE ]
.backup ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
destination ⇨ fichier désignant la base de données [ OBLIGATOIRE ]
* ⇨ Paramètres à fournies pour la création du fichier [ optionnel ]
page ⇨ Nombre de pages à copier à chaque étape [ optionnel ]
controle ⇨ fonction appelée à chaque itération de copie [ optionnel ]
source ⇨ base de données à copier [ optionnel ]
attente ⇨ Délai entre 2 étapes de copies de pages [ optionnel ]
REMARQUES.
destination doit être un objet connexion vivant et valide au moment de l'appel.
page est un argument nommée par pages = quota où quota doit être un int ( ). Par défaut quota vaut -1. Si quota est inférieur à 1, la base de données sera copiée en une seule fois. Sinon, pour toutes valeurs de quota supérieures à 0, la copie de la base de données se fera par étapes successives. Une boucle sera lancée, copiant le nombre de pages précisé par quota à chaque tour. L'utilisateur pourra alors utiliser la fonction, ou méthode, indiquée par controle pour controler l'état d'avancement de la copie. L'utilisation de l'attribut page sera utile pour visualiser et controler la progression de base de sonnées très volumineuse.
controle est un argument nommée par progress = fonction où fonction doit être une méthode valide, personnalisée ou non, ou None par défaut. Python transmet à fonction un tuple ( ) de 3 éléments : l'état de la dernière itération ; le nombre de pages copiées ; le nombre de pages totales. La définition de fonction devra donc prévoir de recevoir ce tuple ( ).
source est un argument nommée par name = base où base doit être un str ( ) pouvant être :
- "main", valeur par défaut, pour copier la base de données actuellement principale ;
- "temp", pour copier une base de données temporaire, c'est-à-dire ":memory:" dans l'objet connexion ;
- soit le nom d'une base de données personnalisée jointe à l'aide de l'instruction SQL : ATTACH DATABASE.
attente est un argument nommée par sleep = duree où duree doit être un int ( ) ou float ( ) donnant la durée d'attente en secondes entre deux tentatives de copie des pages restantes
EXEMPLE.
import sqlite3
LST_Chiffres = [ ( kchiffres , kchiffres * 2 , kchiffres ** 2 ) for kchiffres in range ( 10 ) ]
BDD_Source = sqlite3.Connection ( "original.bd" )
BDD_Destination = sqlite3.Connection ( "copie.bd" )
CUR_Source = BDD_Source.cursor ( )
CUR_Source.execute ( " CREATE TABLE IF NOT EXISTS Chiffres ( Nombre INTEGER , Double INTEGER , Carre INTEGER ) " )
CUR_Source.executemany ( " INSERT INTO Chiffres ( Nombre , Double , Carre ) VALUES ( ? , ? , ? ) " , LST_Chiffres )
BDD_Source.commit ( )
BDD_Source.backup ( BDD_Destination )
print ( "Les chiffres dans source :" )
print ( BDD_Source.execute ( " SELECT * FROM Chiffres " ).fetchall ( ) )
print ( "Les chiffres dans destination :" )
print ( BDD_Destination.execute ( " SELECT * FROM Chiffres " ).fetchall ( ) )
BDD_Source.close ( )
BDD_Destination.close ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la LOGITHEQUE de MON PYTHON PAS A PAS
vous trouvez des suggestions de projets simples et classiques pour
ooo
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
ooo
la programmation récréative avec le langage PYTHON 3
avec un exemple de résolution à télécharger pour vous inspirer.