Databases/it
│
Deutsch (de) │
English (en) │
español (es) │
français (fr) │
italiano (it) │
日本語 (ja) │
português (pt) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Lavori in corso...
Introduzione
Questa pagina sarà una introduzione all'argomento 'Lazarus e database'. La seguente tabella fornisce una panoramica sui database supportati. Necessita di essere aggiornata appena possibile, perché è basata sulla release 1.9.7 di FPC. Attenzione: E' consigliabile installare soltanto i componenti per database per i quali si abbiano installate le librerie client (se il database necessita di librerie client). Altrimenti Lazarus potrebbe non avviarsi a causa dei files non trovati. In questo caso l'unica possibilità è quella di reinstallare Lazarus, perché disinstallare i componenti non è possibile.
Tabella 1
Database | Package name | Need client lib? | Need server? | Supported versions | Supported platforms |
---|---|---|---|---|---|
Textfiles | sdf | No | No | - | All |
In memory | memds | No | No | - | All |
DBase | DBFLaz | No | No | III+, IV, VII | All |
FoxPro | DBFLaz | No | No | - | All |
Paradox | TParadoxDataSet | No | No | up to Table Level 7 (and up ??) | All |
SQLite | SQLite | Yes | No | - | - |
MySQL | SQLdb | Yes | Yes | 3 - 4.0 | i386: Linux, Win32 |
Firebird | IBase | Yes | Yes | 1 - 1.5 | 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) Questo numero di versione si riferisce a ODBC standard, non al numero di versione del driver o del driver manager. Esistono driver ODBC 3.x per la maggior parte dei DBMS.
I binding per i database-client
Se si vuole utilizzare una delle librerie database-client, queste librerie devono essere installate. Non soltanto sul computer sul quale si programma, ma anche sui computer dove l'applicazione dovrà girare. Notare che alcuni database (in particolare MySQL) funziona solo se i binding compilati con l'applicazione sono della stessa versione delle librerie installate. E' possibile trovare come installare queste librerie (file .so sui sistemi *nix e .dll su windows) sul sito web degli sviluppatori del database. Le unità binding possono essere trovate nella directory packages/base nei sorgenti di fpc. Fondamentalmente consistono in chiamate api al client come mysql_connect_database, che sono completamente differenti per ogni database. E' possibile scrivere applicazioni database utilizzando queste unit, ma di norma richiedono molto più lavoro e sono più prone a bug rispetto ai componenti DB-unit di Lazarus.
La maggior parte di questi binding-package sono hard-linked alle librerie client. Ciò significa che se l'applicazione è compilata con una di queste unit, l'intera applicazione non può essere linkata se le librerie client non sono disponibili sulla workstation. In altre parole, se non si ha installato - ad esempio - MySQL sul proprio computer, e si sta utilizzando la unit mysql4.pp nel proprio programma, il programma non verrà linkato. Se si riesce a compilare il programma su un computer sul quale è installato MySQL, potrebbe comunque non partire su un altro computer senza le librerie MySQL appropriate.
Per evitare questo tipo di problemi, alcuni package possono anche essere linkati dinamicamente alle librerie. Prima che una qualsiasi chiamata a queste librerie possa essere effettuata, la unit deve essere 'inizializzata'. Questa inizializzazione non riesce se il database-client non è installato sul computer. Se il programma è pronto ad utilizzare la libreria client, la unit deve essere 'rilasciata'.
Information addizionali su Lazarus e i database
- FAQ: Lazarus database FAQ
- Tutorial: Lazarus Database Tutorial
- MySQL: MySQLDatabases
- Firebird: Firebird
- ODBC: ODBCConn
Database packages contenuti in Lazarus
sqldblaz.lpk
Questo package fornisce accesso a diversi database (es. MySQL o Interbase/Firebird). I componenti (TSQLQuery, TSQLTransaction, TIBConnection, TODBCConnection, TOracleConnection, TMySQL40Connection, TMySQL41Connection, TMySQL50Connection, TPQConnection) si trovano nel tab 'SQLdb' nella palette dei componenti.
dbflaz.lpk
Questo package fornisce accesso ai database dBase e FoxPro. E' possibile ottenere maggiori informazioni nel Lazarus Tdbf Tutorial. Il componente TDbf si trova nel tab 'Data Access' nella palette dei componenti.
interbaselaz.lpk
Il package è stato rimosso.
sqlitelaz.lpk
Questo package fornisce accesso ai database SQLite. E' possibile ottenere maggiori informazioni nel Lazarus Database Tutorial.
sdflaz.lpk
Il componente TSdfDataSet può essere trovato nel tab 'Data Access' nella palette dei componenti.
lazreport.lpk
La homepage del generatore di report è http://lazreport.sourceforge.net/. Altre informazioni (e un link addizionale) possono essere trovate qui. LazReport dipende dal package Printer4Lazarus. Dalla revision 11950 LazReport è stato inserito nel repository SVN di Lazarus.
Package / librerie esterne
Zeos DataBase Objects
Questi componenti forniscono accesso a diversi database. E' possibile trovare maggiori informazioni qui. Questo wiki contiene anche un tutorial su Zeos.
Pascal Data Objects
Ora esiste una alternativa. Le funzioni introdotte con MySQL 4.1 e 5.0 come i prepared statements, binding, e stored procedures sono supportate da una database API chiamata Pascal Data Objects, ispirata a PHP Data Objects. Il codice e la documentazione necessaria per l'utilizzo di queste nuove API si trovano su Sourceforge:
Jan 30, 2007: sono stati aggiunti a PDO i driver per Firebird 1.5 e Firebird 2.0
TPSQL
Questi componenti forniscono accesso via TCP/IP ai database PostgreSQL. E' possibile trovare ulteriori informazioni su questa pagina.
FIBL
Questi componenti forniscono accesso ai database Interbase e Firebird. La homepage è http://sourceforge.net/projects/fibl.
FBLib Firebird Library
FBLib è una libreria Open Source No Data Aware per l'accesso diretto a Firebird Relational Database per Borland Delphi/Kylix, Free Pascal e Lazarus.
Caratteristiche correnti:
- Accesso diretto a Firebird 1.0.x, 1.5.x e 2.x Classic o SuperServer
- Multipiattaforma (Win32, Gnu/Linux, FreeBSD)
- Selezione automatica della libreria client 'fbclient' o 'gds32'
- Query con parametri
- Supporto a SQL Dialect 1/3
- LGPL License
- Extract Metadata
- Simple Script Parser
- Solo 100-150 KB ulteriori sull'EXE finale
- Supporto ai BLOB Fields
- Esportazione dei dati in HTML SQL Script
- Service manager (backup, restore, gfix...)
- Events Alerter
La documentazione è scaricabile dal sito di FBLib.
Unified Interbase
UIB fornisce accesso ai database Interbase, Firebird e YAFFIL. La homepage è www.progdigy.com. Un repository svn è disponibile qui: https://uib.svn.sourceforge.net/svnroot/uib .
TechInsite Object Persistence Framework (tiOPF)
Ulteriori informazioni su tiOPF possono essere trovate su questa pagina.