Lazarus Database Overview/fr

From Free Pascal wiki
Jump to navigationJump to search

English (en) español (es) français (fr) 日本語 (ja) polski (pl) русский (ru)

Portail de la base de données

Références:

Tutoriels/articles pratiques :

Bases de données

Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos

Présentation

Cet article est une vue d'ensemble sur les SGBD qui peuvent fonctionner avec Lazarus.

Lazarus supporte plusieurs SGBD sur étagère (utilisant p.ex. le framework SQLDB), cependant le développeur doit installer les paquets nécessaires (bibliothèque client) pour chacune.

Vous pouvez accéder à la base de données par code ou en plaçant des composants sur une fiche. Les composants sensibles aux données representent des champs et sont connectés en définissant la propriété DataSource pour pointer vers une TDataSource. La DataSource représente une table et est connectée aux composants de la base de données (exemples : TPSQLDatabase, TSQLiteDataSet) en définissant la propriété DataSet. Les composants sensibles aux données résident dans l'onglet Data Controls. La DataSource et les composants de base de données sont logés dans l'onglet Data Access.

Voir les tutoriels pour l'accès natif Lazarus/FPC aux bases de données, convenant pour Firebird, MySQL, SQLite, PostgreSQL etc :

Lazarus et Interbase / Firebird

  • Firebird est très bien supporté par FPC/Lazarus (en utilisant SQLDB); veuillez regarder Firebird pour les détails.
  • Autres bibliothèques pour Firebird est une liste de bibliothèques d'accès alternatives (p.ex. PDO, Zeos, FBlib).

IBDAC

Les composants d'accès aux données (Data Access Components (IBDAC)) InterBase (et FireBird) sont une bibliothèque de composants qui fournissent un accès natif à InterBase, Firebird et Yaffil depuis Lazarus (et Free Pascal) sur Windows, Mac OS X, iOS, Android, Linux et FreeBSD pour les deux plates-formes 32-bit et 64-bit. Les applications basées sur IBDAC se connectent au serveur en utilisant directement le client InterBase. IBDAC est conçu pour aider le programmeur à développer des applications InterBase plus rapides et plus propres.

IBDAC est un remplacement complet des solutions standard de connectivité InterBase. Il présente une alternative efficace aux composants InterBase Express, au moteur de base de données de Borland (BDE) et au pilote standard dbExpress pour l'accès à InterBase.

Les composants d'accès aux données Firebird pour Lazarus sont libres en téléchargement.

Lazarus et MySQL

  • SVP, voir mysql pour des détails sur les diverses méthodes d'accès, qui incluent :
  1. Support natif par SQLdb
  2. PDO
  3. Zeos
  4. Composants d'accès aux données de MySQL par Lazarus

Lazarus et MSSQL/Sybase

Vous pouvez vous connecter à une base de données microsoft SQL Server en utilisant :

  1. Composants Lazarus d'accès aux données SQL Server. Ils fonctionnent sur Windows et Mac OS X. Libres en téléchargement.
  2. Les connecteurs natifs TMSSQLConnection et TSybaseConnection de SQLdb (depuis Lazarus 1.0.8/FPC 2.6.2) : voir mssqlconn.
  3. Composant Zeos TZConnection (le plus récent CVS, voir le lien vers ZEOS quelque part dans cette page).
    1. Sur Windows, vous pouvez choisir entre la bibliothèque native ntwdblib.dll (protocole mssql) ou les bibliothèques FreeTDS (protocole FreeTDS_MsSQL-nnnn) où nnnn est l'une des quatre variantes dépendant de la version du serveur. Pour Delphi (pas Lazarus) il ya aussi un autre protocole Zeos ado pour MS SQL 2005 et suivants. L'utilisation des protocoles mssql ou ado génère du code qui n'est pas indépendant de la plate-forme.
    2. Sur Linux, la seule manière est avec les protocoles et bibliothèques FreeTDS (vous devrez utiliser libsybdb.so).
  4. ODBC (MSSQL et Sybase ASE) avec TODBCConnection de SqlDB (envisagez d'utiliser TMSSQLConnection et TSybaseConnection à la place).
    1. Voir aussi [1].
    2. Sur Windows, il utilise les bibliothèques natives ODBC de Microsoft (comme sqlsrv32.dll pour MSSQL 2000).
    3. Sur Linux, il utilise unixODBC + FreeTDS (paquets unixodbc or iodbc, and tdsodbc). Depuis 2012, il y aussi un pilote ODBC 1.0 pour Microsoft SQL Server pour Linux qui est un produit binaire (pas Open Source) et fournit une connectivité native, mais il est livré uniquement pour le 64-bit et uniquement pour RedHat.

Lazarus et ODBC

ODBC est une connection générale standard pour des bases de donnée qui est disponible sous Linux, Windows et OSX. Vous aurez besoin d'un pilote ODBC provenant de votre fournisseur de base de données et devrez configurer une "Data source" ODBC (connu aussi comme DSN).

Vous pouvez utiliser les composants SQLDB (TODBCConnection pour vous connecter à la Data source ODBC.

Voir ODBCConn pour plus de détails et d'exemples.

Microsoft Access

Vous pouvez utiliser le pilote ODBC sur Windows comme sur Linux pour accéder aux basses de données Access ; voir MS Access.

Lazarus et Oracle

  • voir Oracle. Mes méthodes d'accès incluent :
  1. Support natif SQLDB.
  2. Zeos.
  3. Composant Lazarus d'accès aux données Oracle

Lazarus et PostgreSQL

  • PostgeSQL est très bien supporté par FPC/Lazarus
  • Veuillez voir postgres pour des détails sur les méthodes d'accès qui incluent :
  1. Support natif par SQLdb. Utilisez le composant TPQConnection depuis l'onglet SQLdb de la palette de composants.
  2. Zeos. Utilisez le composant TZConnection avec le protocole 'postgresql' depuis l'onglet de palette Zeos Access.
  3. Composant Lazarus d'accès aux données PostgreSQL

Lazarus et SQLite

SQLite est un SGBDR embarqué ; le code de la base de données peut être distribué comme un bibliothèque (.dll/.so/.dylib) avec votre application pour la rendre auto-contenue (comparable à FireBird embedded). SQLite est plutôt populaire grâce à sa relative simplicité, sa vitesse, sa taille réduite et son support multi plate-forme.

Veuillez voir la page SQLite pour des détails sur les diverses méthodes d'accès qui incluent :

  1. Support natif par SQLDb. Utilisez le composant TSQLite3Connection depuis la palette SQLdb.
  2. Zeos
  3. SQLitePass
  4. TSQLite3Dataset
  5. Composants Lazarus d'accès aux données de SQLite

Lazarus et dBase

FPC inclut un composant simple de base de données qui est dérivé du composant Delphi TTable appelé "TDbf" (site web TDbf). Il supporte divers formats DBase et Foxpro.

TDbf n'accepte pas les ordres SQL mais vous pouvez utiliser les méthodes de DataSet etc. Vous pouvez aussi utiliser des composant sensibles aux données tels DBGrid. Il ne nécessite aucune sorte de moteur de base de données. Néanmoins ce n'est pas la meilleure option pour des applications à grande base de données.

Voir la page de tutoriel de TDbf pour le tutoriel comme la documentation.

Vous pouvez utiliser p.ex. OpenOffice/LibreOffice Base pour créer/éditer visuellement des fichiers DBase ou créer des DBFs par code en utilisant TDbf.

Lazarus et Paradox

Paradox était le format par défaut des bases de données en fichiers dans les anciennes versions de Delphi. Le concept est similaire aux fichiers DBase/DBF, où la base de données est un dossier et chaque table est un fichier dans le dossier. Chaque index est aussi un fichier. Pour accéder à ces fichiers depuis Lazarus, nous avons ces options :

  • TParadox : Installer le paquet "lazparadox 0.0" inclus dans la distribution standard. Quand vous installez ce paquet, vous verrez un composant "PDX" dans l'onglet "Data Access". Ce composant n'est pas autonome, il utilise une bibliothèque "native", bibliothèque pdxlib, qui est disponible pour Linux et Windows. Par exemple, pour l'installer sous Debian, vous pourrez obtenir pxlib1 depuis les gestionnaire de paquet. Dans Windows, vous avez besoin du fichier pxlib.dll.
  • TPdx: Le dataSet Paradox pour Lazarus et Delphi depuis ce site. Ce composant est autonome (pur Pascal Objet), ne demandant aucune librairie externe, mais il peut seulement lire (pas écrire) les fichiers Paradox. Le paquet à installer est "paradoxlaz.lpk", le composant devrait apparaître dans l'onglet "Data Access" de la palette avec l'étiquette "PDX" (mais de couleur orange).
  • TParadoxDataSet : est un TDataSet qui peut seulement lire les fichiers Paradox jusqu'à la version 7. L'approche est similaire au composant TPdx, le paquet à installer "lazparadox.lpk" et le composant devrait aussi apparaître dans l'onglet "Data Access" de la palette.

TSdfDataset et TFixedDataset

TSdfDataSet et TFixedFormatDataSet sont deux simples descendants de TDataSet qui offrent un très simple format de stockage textuel. Ces DataSets sont pertinents pour les petites bases de données. Elles sont complètement implémentées en une unité Pascal Objet et ne réclament donc pas de bibliothèque externe. Aussi, leur forme textuelle leur permet d'être facilement lus/modifiés avec un éditeur de texte.

Voir CSV pour du code exemple.

Lazarus et Advantage Database Server

Voir aussi

Liens externes

  • Pascal Data Objects - Une API de base de données qui travaillait à la fois pour Delphi et FPC et utilise les bibliothèques natives de MySQL pour les versions 4.1 et 5.0 et FireBird SQL 1.5 et 2.0. Elle est inspirée de la classe PDO de PHP.
  • Tutoriel Zeos+SQLite - Bon tutoriel utilisant des captures d'écran et des vidéographies (screencasts), il explique comment utiliser SQLite et Zeos, en espagnol (google translate fait un bon travail en le traduisant en anglais).