Outils pour utilisateurs

Outils du site


python:firebird:legacy

Firebird 2.5 - Legacy "fdb"

Version à utiliser si le serveur Firebird est 2.5

Installation du client Firebird

Sous Linux

Si le système n'a pas encore Firebird Client Library :

sudo apt install libfbclient2

Sous Windows

Utiliser l'installateur du client Firebird 32 ou 64 bits.

Autre solution: extraire le fichier fbclient.dll depuis le .ZIP téléchargeable depuis cette addresse :

Ensuite, spécifier le chemin vers le fichier .dll lors de la connexion (voir ci-dessous).

Installation du module fdb

pip install fdb

Connexion

import fdb
 
con = fdb.connect(
    dsn      = 'localhost:c:\\databases\\facturation.fdb',
    user     = 'sysdba',
    password = 'masterkey',
    charset  = 'UTF8'          # specify a character set for the connection
)

En spécifiant le chemin vers fbclient.dll :

import sys, fdb
 
con = fdb.connect(
    dsn             = 'localhost:c:\\databases\\facturation.fdb',
    user            = 'sysdba',
    password        = 'masterkey',
    charset         = 'UTF8',         # specify a character set for the connection
    fb_library_name = sys.path[0] + '\\fbclient.dll'
)

Requête Select

Exécuter la requête :

cur = con.cursor()
cur.execute("""
    select id, nom, adresse
    from clients
    where nom containing 'bert';
""")

Récupérer les valeurs sous forme de liste de tuples

for row in cur.fetchall():
    print(row)
(1, 'Albert Durant', '3, Rue des Hirondelles')
(2, 'Bertrand Dupont', '2, Rue des Hiboux')
(3, 'Robert Legrand', '84, Rue des Renards')
...

Récupérer les valeurs sous forme de liste de dictionnaires

result = []
for row in cur.itermap():
    result.append({
        'id'     : row['ID'],
        'nom'    : row['NOM'],
        'adresse': row['ADRESSE']
    })

Divers

Script de création d'une table :

t = con.schema.get_table('LZREG')
print(t.get_sql_for('create'))
python/firebird/legacy.txt · Dernière modification: 2023/10/06 08:44 par marclebrun