Databases/es

From Free Pascal wiki
Revision as of 20:56, 26 August 2010 by Iskraelectrica (talk | contribs)
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

Trabajo en curso...

Databases portal

References:

Tutorials/practical articles:

Databases

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

Introducción

   Esta página será una introducción al tema "Lazarus y las bases de datos. La tabla que sigue proporciona una visión general sobre las bases de datos soportadas. Es necesario actualizarla en breve, ya que se basa en el momento en que FPC 1.9.7 fue liberado. Advertencia: Sólo debe instalar los componentes de base de datos para los que ha instalado las librerías cliente, si la base de datos necesita de ellas; de lo contrario Lazarus podría no iniciarse debido a que faltan archivos. A continuación, no tendrías más remedio que volver a instalar Lázaro, porque desinstalar el componente no es posible. (En realidad no es tan grave y sí hay alternativa: sólo hay que borrar el nombre del paquete o paquetes del archivo staticpackages.inc y compilar el IDE desde la línea de órdenes con lazbuild --build-ide=<options>)

Tabla 1

Base de Datos Nombre Paquete ¿Necesita librerías? ¿Necesita servidor? Versiones compatibles Plataformas compatibles
Textfiles sdf No No - All
In memory memds No No - All
DBase DBFLaz No No III+, IV, VII All
FoxPro DBFLaz No No 2.0, 2.5, 3.0 (no completamente) All
Paradox TParadoxDataSet No No up to Table Level 7 (and up ??) All
SQLite SQLite Yes No - i386: Linux, Win32
MySQL SQLdb Yes Yes 3.0 - 5.0 i386: Linux, Win32
Firebird IBase Yes Yes 1 - 2.0 i386: Linux, Win32
PostgreSQL SQLdb Yes Yes 6.6 - 8 i386: Linux, Win32
ODBC SQLdb Yes Depends 3.x 1) i386: Linux, Win32
Interbase IBase Yes Yes 4 - 6 i386: Linux, Win32
Oracle SQLdb Yes Yes - -

   1) Este número de versión se refiere al estándar ODBC, no al número de versión de un controlador o un gestor de controladores. Hay controladores ODBC 3.x para la mayoría de los DBMS.

Los enlaces con los clientes de base de datos

   Si deseas utilizar una de las librerías cliente de bases de datos, las librerías tienen que estar instaladas,no sólo en el equipo en que se programa, sino también en los equipos en que sen ejecutará la aplicación. Ten en cuenta que algunas bases de datos (MySQL, en particular) sólo funcionará si los enlaces usados al compilaar la aplicación son de la misma versión que los de las librerías instaladas. Puedes averiguar cómo instalar las librerías (archivos .so en sistemas *nix, y .dll en windows) en la página web de los desarrolladores de la base de datos. Las unidades de enlace se pueden encontrar en los directorios base de los paquetes base en el fuente FPC. Básicamente consisten en llamadas al API de cliente como mysql_connect_database, que son completamente diferentes para cada base de datos. Es posible escribir aplicaciones de base de datos con estas unidades, pero por lo general es mucho más trabajo y propenso a errores quee utilizar los componentes dela unidad DB de Lazarus.

   La mayoría de estos paquetes de enlace están muy vinculadas a la librería clientes. Esto implica que si la aplicación se compila con una de estas unidades, toda la aplicación no podrá enlazarse si las librerías cliente no están disponibles en el equipo. Esto significa que, si no tienes instalado -por ejemplo- MySQL en el equipo, y si estás usando la unidad mysql4.pp en tu programa, el programa no se enlazará. Si tienes éxito al compilar el programa en un equipo que tiene instalado MySQL, ni siquiera se iniciará en otra máquina sin las librerías MySQL adecuadas.

   Para evitar estos problemas algunos de los paquetes también son capaces de enlazar dinámicamente las librerías. Antes de hacer cualquier lamada a la librería, la unidad debe ser 'iniciada'. Este inicio falla si la base de datos de cliente no está instalada en el equipo. Al terminar de utilizar las librerías cliente el programa la unidad tiene que ser "liberada".

Paquetes de Bases de Datos suministrados con Lazarus

sqldblaz.lpk

This package provides access to different databases (e.g. MySQL or Interbase/Firebird). The components (TSQLQuery, TSQLTransaction, TIBConnection, TODBCConnection, TOracleConnection, TMySQL40Connection, TMySQL41Connection, TMySQL50Connection, TPQConnection) are on the 'SQLdb' tab in the component palette.

dbflaz.lpk

This package provides access to dBase and FoxPro databases. You can get more information in the Lazarus Tdbf Tutorial. The TDbf component is on the 'Data Access' tab in the component palette.

sqlitelaz.lpk

This package provides access to SQLite databases. You can get more information in the Lazarus Database Tutorial.

sdflaz.lpk

The component TSdfDataSet can be found on the 'Data Access' tab in the component palette.

lazreport.lpk

The homepage of the report generator is http://lazreport.sourceforge.net/. More informationen (et al. an additional link) can be found here. LazReport depends on the Printer4Lazarus package. With revision 11950 LazReport was included in the Lazarus SVN repository.

Paquetes y librerías externas

Zeos DataBase Objects

These components provide access to different databases. You can find more information here. This wiki also contains a Zeos tutorial.

Pascal Data Objects

There is now an alternative.

Support:

  • MySQL 4.1 and 5.0
  • sqlite-2 and sqlite-3
  • pgsql-8.1
  • interbase-5, interbase-6, firebird-1.0, firebird-1.5, firebird-1.5E, firebird-2.0, firebird-2.0E
  • mssql (Microsoft library) and sybase (FreeTDS library)
  • oracle

like prepared statements, binding, and stored procedures are supported by database API called Pascal Data Objects, which is inspired by PHP Data Objects. All the code and documentation necessary to use this new API is available on Sourceforge:

http://pdo.sourceforge.net

TPSQL

These components provide access via TCP/IP to PostgreSQL databases. You can find more information on this page.

FIBL

These components provide access to Interbase and Firebird databases. The homepage is http://sourceforge.net/projects/fibl.

FBLib Firebird, librería

FBLib is an open Source Library No Data Aware for direct access to Firebird Relational Database from Borland Delphi/Kylix, Free Pascal and Lazarus.

Current Features include:

  • Direct Access to Firebird 1.0.x, 1.5.x and 2.x Classic or SuperServer
  • Multiplatform [Win32,Gnu/Linux,FreeBSD)
  • Automatic select client library 'fbclient' or 'gds32'
  • Query with params
  • Support SQL Dialect 1/3
  • LGPL License agreement
  • Extract Metadata
  • Simple Script Parser
  • Only 100-150 KB added into final EXE
  • Support BLOB Fields
  • Export Data to HTML SQL Script
  • Service manager (backup,restore,gfix...)
  • Events Alerter

You can download documentation on FBLib's website.

Unified Interbase

UIB provides access to Interbase, Firebird and YAFFIL databases. The homepage is www.progdigy.com. A svn repository is available under https://uib.svn.sourceforge.net/svnroot/uib .

TechInsite Object Persistence Framework (tiOPF)

More information about tiOPF can be found on this page.