Databases/es
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
italiano (it) │
日本語 (ja) │
português (pt) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Trabajo en curso...
Artículos de programación de Bases de Datos
Referencias:
- Databases - Información General sobre las capacidades de Lazarus/FPC con bases de datos (BBDD).
- Librerias de bases de datos - Comparación de librerias para Lazarus/FPC para conexión con bases de datos conocidas.
- Tipos de campos de una base de datos - Listado de los diversos tipos de campos que pueden utilizarse en pogramación con Lazarus/FPC.
- Preguntas frecuentes sobre bases de datos en Lazarus
- SqlDBHowto- Documentos de como hacer que sobre SQL.
- Trabajando con TSQLQuery - Trabajando con el tipo de consultas de SQL (TSQLQuery).
Tutoriales / artículos prácticos:
- Tutorial de Bases de Datos con Lazarus - Una Introducción sobre el uso de bases de datos con Lazarus.
- Tutorial SQLdb - Tutorial orientado a componentes de vinculación de datos (data-bound) para principiantes. Basado en Firebird pero aplicable a otros tipos de bases de datos SQL.
- Databases in Lazarus - Información general de las capacidades de Lazarus / FPC para Bases de Datos.
- How to write in-memory database applications in Lazarus/FPC - Instrucciones prácticas para programar con BufDataset y MemDatasets.
- MySQLDatabases - Crear una aplicación de Bases de Datos utilizando MySQL
- Tutoría sobre Zeos - Crear una aplicación de Bases de Datos utilizando componentes Zeos
- Tutoría sobre Zeos y SQLite - Buena tutoría con capturas de pantalla que explican cómo utilizar SQLite y Zeos.
- Pascal Data Objects es una API de base de datos que trabaja para FPC y Delphi y utiliza librerías nativas MySQL de las versiones 4.0,4.1,5.0,5.1 y 5.5 y Firebird SQL 1.5 y 2.0. Está inspirado en la clase PDO de PHP.
- Tutoría de Tdbf - Utilizar bases de datos en fichero.
- FAQ sobre la programación Lazarus con bases de datos
- Firebird - Usar Firebird con FPC/Lazarus
- ODBCConn - Usar ODBC con FPC/Lazarus.
- MS Access - Como acceder a una base de datos MS Access.
- SQLite para principiantes (en español) - Tutorial de SQLite para principiantes (por Héctor F. Fiandor Rosario)
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, hay una alternativa: borrar el nombre del paquete o paquetes del archivo staticpackages.inc -en las últimas versiones este archivo se crea a partir del contenido de miscellaneousoptions.xml, y es este el archivo que hay que editar- y compilar el IDE desde la línea de órdenes con lazbuild --build-ide=)
Tabla 1
Base de Datos |
Nombre Paquete |
¿Necesita librerías? |
¿Necesita servidor? |
Versiones compatibles |
Plataformas compatibles |
---|---|---|---|---|---|
Textfiles | sdf | No | No | - | Todas |
In memory | memds | No | No | - | Todas |
DBase | DBFLaz | No | No | III+, IV, VII | Todas |
FoxPro | DBFLaz | No | No | 2.0, 2.5, 3.0 (parcial) | Todas |
Paradox | TParadoxDataSet | No | No | hasta tablas de nivel 7 (¿y más ?) | Todas |
SQLite | SQLite | Sí | No | - | i386: Linux, Win32 |
MySQL | SQLdb | Sí | Sí | 3.0 - 5.0 | i386: Linux, Win32 |
Firebird | IBase | Sí | Sí | 1 - 2.0 | i386: Linux, Win32 |
PostgreSQL | SQLdb | Sí | Sí | 6.6 - 8 | i386: Linux, Win32 |
ODBC | SQLdb | Sí | Según SGDB | 3.x 1) | i386: Linux, Win32 |
Interbase | IBase | Sí | Sí | 4 - 6 | i386: Linux, Win32 |
Oracle | SQLdb | Sí | Sí | - | - |
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 estas tienen que ser "liberadas".
Paquetes de Bases de Datos suministrados con Lazarus
sqldblaz.lpk
Este paquete provee acceso a diferentes bases de datos (v.g. MySQL o Interbase/Firebird). Los componentes (TSQLQuery, TSQLTransaction, TIBConnection, TODBCConnection, TOracleConnection, TMySQL40Connection, TMySQL41Connection, TMySQL50Connection, TPQConnection) se encuentran en la pestaña 'SQLdb' en la paleta de componentes.
dbflaz.lpk
Este paquete provee acceso a las bases de datos dBase y FoxPro.Puedes obtener más información en la Tutoría de Lazarus Tdbf. El componente TDbf se localiza en la pestaña 'Data Access' en la paleta de componentes.
sqlitelaz.lpk
Este paquete provee acceso a las bases de datos SQLite. Puedes obtener más información en la Tutoría de Bases de Datos Lazarus.
sdflaz.lpk
El componente TSdfDataSet se encuentran en la pestaña 'Data Access' en la paleta de componentes.
lazreport.lpk
La página principal del generador de informes es http://lazreport.sourceforge.net/. Más información y enlaces adicionales se encuentran en aquí. LazReport depende del paquete Printer4Lazarus. Con la revisión 11950 LazReport fué incluido el repositorio SVN de Lazarus.
Paquetes y librerías externas
Zeos DataBase Objects
Los componentes de este paquete proveen acceso a diferentes bases de datos. Puedes obtener más información aquí. Este wiki contiene una tutoría Zeos.
Pascal Data Objects
Ahora hay una alternativa.
Soporta:
- MySQL 4.1 y 5.0
- sqlite-2 y 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 (librería Microsoft) y sybase (librería FreeTDS)
- oracle
- así como sentencias preparadas, enlace, y procedimientos almacenados son soportados por la API de base de datos llamada Pascal Data Objects, que se inspira en PHP Data Objects. Todo el código y la documentación necesaria para utilizar esta nueva API está disponible en aquí en Sourceforge:
TPSQL
Los componentes de este paquete proveen acceso vía TCP/IP a bases de datos PostgreSQL. Puedes obtener más información en esta página.
FIBL
Los componentes de este paquete proveen acceso a bases de datos Interbase y Firebird. La página principal está aquí.
FBLib Firebird, librería
FBLib es una librería de fuente abierta sin componentes ligados a datos (No Data Aware) para acceso directo a bases de datos relacionales Firebird desde Borland Delphi/Kylix, Free Pascal y Lazarus.
Las características actuales incluyen:
- Acceso directo a to Firebird 1.0.x, 1.5.x y 2.x Classic o SuperServer
- Multiplataforma [Win32,Gnu/Linux,FreeBSD)
- Selección automática de la librería cliente 'fbclient' o 'gds32'
- Consultas con parámetros
- Soporte del dialecto SQL 1/3
- Acuerdo de Licencia LGPL
- Extracción de Metadata
- Analizador simple de secuencias de comandos
- Únicamente añade 100-150 KB al EXE final
- Soporta campos BLOB
- Exporta datos a HTML SQL Script
- Administrador de servicios (copia de seguridad, restauración,gfix...)
- Eventos de alerta
Puedes descargar la documentación desde el sitio web FBLib's.
Unified Interbase
UIB provee acceso a bases de datos Interbase, Firebird y YAFFIL. TLa página principal es www.progdigy.com. Un repositorio SVN está disponible aquí .
TechInsite Object Persistence Framework (tiOPF)
Más información acerca de tiOPF se puede encontrar en esta página.