Databases/it

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) italiano (it) 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

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:

http://pdo.sourceforge.net

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.