Databases/it: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Databases/it
| Old | New | Line | |
|---|---|---|---|
| 1 | + | Lavori in corso... | |
| 2 | + | ||
| 3 | + | ## Introduzione | |
| 4 | + | ||
| 5 | + | 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. | |
| 6 | + | ||
| 7 | + | ### Tabella 1 | |
| 8 | + | ||
| 9 | + | | **Database** | **Package name** | **Need client lib?** | **Need server?** | **Supported versions** | **Supported platforms** | | |
| 10 | + | |----|----|----|----|----|----| | |
| 11 | + | | **Textfiles** | sdf | No | No | \- | All | | |
| 12 | + | | **In memory** | memds | No | No | \- | All | | |
| 13 | + | | **DBase** | [[Lazarus Tdbf Tutorial|DBFLaz]] | No | No | III+, IV, VII | All | | |
| 14 | + | | **FoxPro** | [[Lazarus Tdbf Tutorial|DBFLaz]] | No | No | \- | All | | |
| 15 | + | | **Paradox** | [[TParadoxDataSet]] | No | No | up to Table Level 7 (and up ??) | All | | |
| 16 | + | | [**SQLite**](http://www.sqlite.org/) | SQLite | Yes | No | \- | \- | | |
| 17 | + | | [**MySQL**](http://www.mysql.com/) | SQLdb | Yes | Yes | 3 - 4.0 | i386: Linux, Win32 | | |
| 18 | + | | [**Firebird**](http://www.firebirdsql.org/) | IBase | Yes | Yes | 1 - 1.5 | i386: Linux, Win32 | | |
| 19 | + | | [**PostgreSQL**](http://www.postgresql.org/) | SQLdb | Yes | Yes | 6.6 - 8 | i386: Linux, Win32 | | |
| 20 | + | | **ODBC** | [[ODBCConn|SQLdb]] | Yes | Depends | 3.x <sup>1)</sup> | i386: Linux, Win32 | | |
| 21 | + | | [**Interbase**](http://www.borland.com/us/products/interbase/index.html) | IBase | Yes | Yes | 4 - 6 | i386: Linux, Win32 | | |
| 22 | + | | [**Oracle**](http://www.oracle.com/) | SQLdb | Yes | Yes | \- | \- | | |
| 23 | + | ||
| 24 | + | <sup>1)</sup> 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. | |
| 25 | + | ||
| 26 | + | ## I binding per i database-client | |
| 27 | + | ||
| 28 | + | 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. | |
| 29 | + | ||
| 30 | + | 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. | |
| 31 | + | ||
| 32 | + | 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'. | |
| 33 | + | ||
| 34 | + | ## Information addizionali su Lazarus e i database | |
| 35 | + | ||
| 36 | + | - FAQ: [[Lazarus DB Faq|Lazarus database FAQ]] | |
| 37 | + | - Tutorial: [[Lazarus Database Tutorial]] | |
| 38 | + | - MySQL: [[MySQLDatabases]] | |
| 39 | + | - Firebird: [[Firebird]] | |
| 40 | + | - ODBC: [[ODBCConn]] | |
| 41 | + | ||
| 42 | + | ## Database packages contenuti in Lazarus | |
| 43 | + | ||
| 44 | + | ### sqldblaz.lpk | |
| 45 | + | ||
| 46 | + | 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. | |
| 47 | + | ||
| 48 | + | - [[SQLdb Package]] | |
| 49 | + | ||
| 50 | + | ### dbflaz.lpk | |
| 51 | + | ||
| 52 | + | 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. | |
| 53 | + | ||
| 54 | + | ### ~~interbaselaz.lpk~~ | |
| 55 | + | ||
| 56 | + | Il package è stato rimosso. | |
| 57 | + | ||
| 58 | + | ### sqlitelaz.lpk | |
| 59 | + | ||
| 60 | + | Questo package fornisce accesso ai database SQLite. E' possibile ottenere maggiori informazioni nel [[Lazarus Database Tutorial]]. | |
| 61 | + | ||
| 62 | + | ### sdflaz.lpk | |
| 63 | + | ||
| 64 | + | Il componente TSdfDataSet può essere trovato nel tab 'Data Access' nella palette dei componenti. | |
| 65 | + | ||
| 66 | + | ### lazreport.lpk | |
| 67 | + | ||
| 68 | + | La homepage del generatore di report è [<http://lazreport.sourceforge.net/>](http://lazreport.sourceforge.net/). Altre informazioni (e un link addizionale) possono essere trovate [[Projects using Lazarus|qui]]. LazReport dipende dal package Printer4Lazarus. Dalla revision 11950 LazReport è stato inserito nel repository SVN di Lazarus. | |
| 69 | + | ||
| 70 | + | ## Package / librerie esterne | |
| 71 | + | ||
| 72 | + | ### Zeos DataBase Objects | |
| 73 | + | ||
| 74 | + | Questi componenti forniscono accesso a diversi database. E' possibile trovare maggiori informazioni [[ZeosDBO|qui]]. Questo wiki contiene anche un [[Zeos tutorial|tutorial su Zeos]]. | |
| 75 | + | ||
| 76 | + | ### Pascal Data Objects | |
| 77 | + | ||
| 78 | + | 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: | |
| 79 | + | ||
| 80 | + | <http://pdo.sourceforge.net> | |
| 81 | + | ||
| 82 | + | Jan 30, 2007: sono stati aggiunti a PDO i driver per Firebird 1.5 e Firebird 2.0 | |
| 83 | + | ||
| 84 | + | ### TPSQL | |
| 85 | + | ||
| 86 | + | Questi componenti forniscono accesso via TCP/IP ai database PostgreSQL. E' possibile trovare ulteriori informazioni su [[TPSQL|questa pagina]]. | |
| 87 | + | ||
| 88 | + | ### FIBL | |
| 89 | + | ||
| 90 | + | Questi componenti forniscono accesso ai database Interbase e Firebird. La homepage è [<http://sourceforge.net/projects/fibl>](http://sourceforge.net/projects/fibl). | |
| 91 | + | ||
| 92 | + | ### FBLib Firebird Library | |
| 93 | + | ||
| 94 | + | [FBLib](http://fblib.altervista.org/) è una libreria Open Source No Data Aware per l'accesso diretto a Firebird Relational Database per Borland Delphi/Kylix, Free Pascal e Lazarus. | |
| 95 | + | ||
| 96 | + | Caratteristiche correnti: | |
| 97 | + | ||
| 98 | + | - Accesso diretto a Firebird 1.0.x, 1.5.x e 2.x Classic o SuperServer | |
| 99 | + | - Multipiattaforma (Win32, Gnu/Linux, FreeBSD) | |
| 100 | + | - Selezione automatica della libreria client 'fbclient' o 'gds32' | |
| 101 | + | - Query con parametri | |
| 102 | + | - Supporto a SQL Dialect 1/3 | |
| 103 | + | - LGPL License | |
| 104 | + | - Extract Metadata | |
| 105 | + | - Simple Script Parser | |
| 106 | + | - Solo 100-150 KB ulteriori sull'EXE finale | |
| 107 | + | - Supporto ai BLOB Fields | |
| 108 | + | - Esportazione dei dati in HTML SQL Script | |
| 109 | + | - Service manager (backup, restore, gfix...) | |
| 110 | + | - Events Alerter | |
| 111 | + | ||
| 112 | + | La documentazione è scaricabile dal [sito di FBLib](http://fblib.altervista.org/). | |
| 113 | + | ||
| 114 | + | ### Unified Interbase | |
| 115 | + | ||
| 116 | + | UIB fornisce accesso ai database Interbase, Firebird e YAFFIL. La homepage è [www.progdigy.com](http://www.progdigy.com). Un repository svn è disponibile qui: <https://uib.svn.sourceforge.net/svnroot/uib> . | |
| 117 | + | ||
| 118 | + | ### TechInsite Object Persistence Framework (tiOPF) | |
| 119 | + | ||
| 120 | + | Ulteriori informazioni su tiOPF possono essere trovate su questa [[tiOPF|pagina]]. | |
| 121 | + | ||
| 122 | + | --- | |
| 123 | + | *From the Free Pascal wiki, page "Databases/it", as it stood on 2015-10-26 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 124 | + | Category: Italiano |
