Lazarus Database Overview/es

From Free Pascal wiki
Jump to navigationJump to search

Descripción

Este artículo es una descripción sobre que tipos de bases de datos pueden utilizarse con Lazarus.

Lazarus soporta varios tipos de bases de datos (utilizando e.g. el framework de SQLDB), sin embargo el desarrollador debe instalar los paquetes requeridos (librerías cliente) para cada una.

Se puede acceder a la base de datos por medio de código o ubicando componentes en un formulario. Los componentes data-aware representan campos y se conectan estableciendo la propiedad de fuente de datos (DataSource) de manera que apunte a un TDataSource. El DataSource reoresenta una tabla y se conecta a los componentes de bases de datos (ejemplos: TPSQLDatabase, TSQLiteDataSet) estableciendo la propiedad DataSet. Los componentes data-aware están localizados en la solapa "Data Controls". Los controles DataSource y DataBase están localizados en la solapa "DataAccess".

Lazarus e Interbase / Firebird

  • Por favor ver Firebird en acción para detalles sobre los distintos métodos de acceso, los cuales incluyen:
  1. Soporte incluido internamente de SQLDB.
  2. FBLib.
  3. IBX.
  4. PDO.
  5. Zeos.

Para un tutorial que te guie a través de la manera de crear un GUI (Graphical User Interface) para una base de datos Firebird, ver:

Lazarus y MySQL

  • Por favor echa un vistazo a mysql para más detalles sobre los distintos métodos de acceso, los cuales incluyen:
  1. Soporte incluido internamente en SQLDB.
  2. PDO.
  3. Zeos.

Lazarus y MSSQL/Sybase

Se puede conectar a un servidor de bases de datos SQL de Microsoft utilizando:

  1. Incluido internamente en SQLdb (recientemente con Lazarus/FPC 2.6.1+): TMSSQLConnection (MS SQL) y TSybaseConnection (Sybase ASE)
    1. Para Windows puedes descargar una versión reciente de la librería FreeTDS (disponible en versiones de 32 y 64 bits) dblib.dll desde: | aquí
    1. No necesario normalmente: mediante la modificación del fichero dblib.pas de FPC, SQLDB puede utilizar la librería "nativa" ntwdblib.dll en lugar de la librería por defecto FreeTDS dblib.dll (en este caso FPC necesita recompilarse).
    1. En Linux por defecto se utiliza la librería FreeTDS libsybdb.so (por ejemplo, en Debian se encuentra en el paquete libsybd5).
  1. Componente Zeos mediante TZConnection (para el último CVS, ver enlaces a Zeos en esta página).
    1. En Windows se puede escoger entre la libería nativa ntwdblib.dll (protocolo mssql) o las librerías FreeTDS (protocolo FreeTDS_MsSQL-nnnn) donde nnnn es una de cuatro variantes dependiendo de la versión de servidor. Para Delphi (no Lazarus) existe además otro protocolo Zeos ado para MSSQL 2005 o posterior. Utilizando protocolos mssql o ado se genera código que no es independiente de la plataforma.
    1. En Linux el único camino es con los protocolos y librerías FreeTDS (debería utilizarse libsybdb.so).
  1. ODBC (MSSQL y Sybase ASE) con SQLdb TODBCConnection ( ver además)
    1. En Windows utilizalas librerías nativas de Microsoft para ODBC (tales como sqlsrv32.dll para MSSQL 2000)
    1. En Linux utiliza unixODBC + FreeTDS (paquetes unixodbc o iodbc, y tdsodbc). Desde 2012 se tiene también un driver ODBC (versión 1.0) para Microsoft SQL Server. Existe además un driver ODBC (versión 1.0) para Linux que permite conectar con Microsoft SQL Server pero es un producto binario (no código abierto), de 64 bits y solamente para la distribución RedHat.

Para más detalles sobre el uso de SQLDB orientado a Sybase ASE y MSSQL Server consultar los ficheros de ayuda de FPC y Lazarus.

Light bulb  Nota: En cualquiera de las maneras mostradas se puede conectar utilizando el protocolo TCP/IP, e.g en el puerto 1433.


Si se utilizan librerías nativas de Microsoft (bajo Windows) es posible conectar a un servidor remoto con Named Pipes. Por contra las libería FreeTDS no soportan Named Pipes.

Light bulb  Nota: Lazarus 1.0 se ha creado con FPC 2.6.0 y no incluye TMSSQLConnection o TSybaseConnection. Si se necesitan la manera más sencilla es descargar el snapshot de la última compilación con FPC 2.6.1, instalándolo en un directorio diferente de la versión 1.0. Se puede utilizar --primary-config-path para establecer un ambiente diferente para que no interfiera con la existente.(ver)

Lazarus y ODBC

ODBC es un estandar genérico de conexión a bases de datos que está disponible en Linux, Windows y OSX. Para la conexión a la base de datos se necesita un driver ODBC y establecer una fuente de datos (data source) que también se conoce con DSN. Se pueden utilizar los componentes SQLDB (TODBCConnection) para conectar a una fuente de datos ODBC.

Para más detalles y ejemplos ver enlace.