fcl-db/fr

From Free Pascal wiki
Jump to: navigation, search

English (en) français (fr)

The package fcl-db contains most of FPC's higher level database system, plus table drivers for some popular systems. (<LAZDIR>/fpc/3.0.0/source/packages/fcl-db)

Problèmes connus/Lacunes

  • Les relations Maître/détail ne sont pas complètes ; Mais vous pouvez l'implémenter en utilisant MasterDetail
  • La prise en charge des champs calculés n'est pas complète.
  • Aucun transfert de données binaires utilisant les paramètres (tout est converti en ASCII) dans la plupart des pilotes.
  • Il y a des quelques problèmes sur la virgule flottante, avec la prise en charge minimale de la précision et de l'échelle dans quelques pilotes (entre autres MySQL).
  • La plupart des problèmes de codage de caractères sont résolus assez ad hoc. Il n'y a rien pour définir les encodages fondamentaux manuellement :
    1. l'encodage de la connexion
    2. l'encodage de stockage interne des composants
    3. l'encodage des composants IHM
    4. (facultativement, l'encodage des exports, ou des formats de fichier)
  • Certains problèmes dépendant des pilotes dans la prise en charge des types DateTime et TimeZone.
  • Entre les pilotes, Firebird est le plus utilisé, puis Mysql, SQLite, PostgreSQL et ODBC. Finalement, vient Oracle qui est plutôt au niveau de la preuve du concept. Les pilotes Microsoft SQL Server et Sybase ASE sont un ajout récent à FPC (2.6.1 et supérieur) et Lazarus.
  • Avant FPC 2.6 : pas de ResultSet de procédure stockée > 1 ligne.

La plupart de ces points sont en cours de traitement, et le statut change régulièrement, alors assurez-vous de faire vos propres tests et l'inspection des sources, car cela sera certainement dépassé.

Une testsuite existe (test/testresult-db) et est étendu lorsque dse nouveaux bugs et de nouvelles fonctionnalités apparaissent.

Unités

(Dans la table ci-dessous, le sous-répertoire est listé comme "sous-module", ainsi chacun peut facilement voir à quel sous-système l'unité appartient). In the below table the subdirectory is listed as "submodule", so one can see easily to which subsystem the unit belongs.

Unité sous-module Commentaire
browseds sqlite
bufdataset base DataSet en mémoire. Plus étendu que memds. Voir TBufDataSet pour quelques exemples d'emploi.
bufdataset_parser base
bufdataset_parser sqlite
createds sqlite
customsqliteds sqlite
db base
dbcoll base
dbconst base
dbf dbase Composants TDBF pour des tables DBase/FoxPro/Visual Foxpro (Code en amont : Projet Sourceforge TDBF). Voir aussi Tutoriel Lazarus TDbf
dbf_avl dbase
dbf_collate dbase
dbf_common dbase
dbf_cursor dbase
dbf_dbffile dbase
dbf_fields dbase
dbf_idxcur dbase
dbf_idxfile dbase
dbf_lang dbase
dbf_memo dbase
dbf_parser dbase
dbf_pgcfile dbase
dbf_pgfile dbase
dbf_prscore dbase
dbf_prsdef dbase
dbf_prssupp dbase
dbf_reg dbase
dbf_str dbase
dbf_str_es dbase
dbf_str_fr dbase
dbf_str_ita dbase
dbf_str_nl dbase
dbf_str_pl dbase
dbf_str_pt dbase
dbf_str_ru dbase
dbf_wtil dbase
dblib Enveloppe autour de FreeTDS; requis pour le pilote SQLdb mssqlconn pour Microsoft SQL Server et Sybase ASE
dbwhtml base
fillds sqlite
fpcgcreatedbf codegen
fpcgdbcoll codegen
fpcgsqlconst codegen
fpcgtiopf codegen
fpcsvexport export
fpdatadict datadict
fpdbexport export Voir l'exemple dbftool inclus dans FPC 2.7.1+ : création, utilisation de fichiers DBF et exportation de données utilisant l'export db. Aussi utilisé dans le composant d'export de Lazarus.
fpdbfexport export
fpddcodegen codegen
fpdddbf datadict
fpdddiff datadict
fpddfb datadict
fpddmysql40 datadict
fpddmysql41 datadict
fpddmysql50 datadict
fpddodbc datadict
fpddoracle datadict
fpddpopcode codegen
fpddpq datadict
fpddregstd datadict
fpddsqldb datadict
fpddsqlite3 datadict
fpfixedexport export Export de DataSet vers un fichier en format largeur fixe
fprtfexport export Export de DataSet vers du format RTF
fpsimplejsonexport export Export de DataSet vers du format JSON
fpsimplexmlexport export Export de DataSet vers du format XML encodé en ASCII
fpsqlexport export Export de DataSet vers un fichier d'ordres SQL Insert/Update
fpstdexports export
fptexexport export Export de DataSet vers du format Latex
fpXMLXSDExport export Export de DataSet vers divers formats XML : Access, ADO.Net, Excel, Delphi ClientDataset
ibconnection sqldb/interbase
memds memds DataSet en mémoire. Pas aussi étendu que BufDataSet. Voir Comment écrire des applications BDD en mémoire pour quelques exemples d'emploi
mssqlconn sqldb/mssqlconn * * A FINIR * *

Pilotes Microsoft SQL Server et Sybase ASE, introduits dans FPC 2.6.1. Nécessite dblib.

mysql40conn sqldb/mysql Connecteur pour MySQL server utilisant la bilbliothèque client MySQL 4.0
mysql41conn sqldb/mysql Connecteur pour MySQL server utilisant la bilbliothèque client MySQL 4.1
mysql4conn sqldb/mysql Connecteur pour MySQL server utilisant la bilbliothèque client MySQL 4??
mysql50conn sqldb/mysql Connecteur pour MySQL server utilisant la bilbliothèque client MySQL 5.0
mysql51conn sqldb/mysql Connecteur pour MySQL server utilisant la bilbliothèque client MySQL 5.1
mysql55conn sqldb/mysql Connecteur pour MySQL server utilisant la bilbliothèque client MySQL 5.5
odbcconn sqldb/odbc Connecteur pour des bases de données ODBC (p.ex. Microsoft Access, DB2)
oracleconnection sqldb/oracle Connecteur pour des bases de données Oracle (XE)
pqconnection sqldb/postgres Connecteur pour des bases de données PostgreSQL
sqlite3conn sqldb/sqlite
paradox paradox
sdfdata sdf Prise en charge des DataSet CSV
sqldb sqldb
sqlite3ds sqlite
sqliteds sqlite
sqlscript base Composant de scripting SQL qui vous laisse exécuter de multiples ordres SQL comme un batch. Prend en charge le SET TERM de Firebird. Voyez l'exemple dans Lazarus examples/database/tsqlscript et Création d'objet par code dans Firebird
tdbf_l dbase
testcp memds
testdbf dbase
testds sqlite
testfix sdf
testld memds
testopen memds
testpop memds
testsdf sdf
testsqldb sqldb
xmldatapacketreader base

Voir aussi