Newsgroup: it.comp.software.database
Titolo: Da Access a Firebird

Salve a tutti,
Sto' vagliando diverse possibilità per passare un applicativo scritto in VB
che usa Access (tramite ADO) ad un database server.
La mia scelta era caduta inizialmente su SQLServer (tutto in casa; mi poteva
andare bene), ma l'alto costo delle licenze hanno spinto verso direzioni più
economiche. Ho valutato PostgreSQL (che sinceramente caldeggiavo) ma, la
versione per Windows non è di facile installazione (e sinceramente non mi
fido), mentre Linux non può essere usato!
Ho pensato a FireBird/Interbase e nonostante abbia cercato per conto mio
informazioni dettagliate non ho avuto tutte le risposte e speravo nella
vostra sapienza.
Mi interessa innanzi tutto sapere che tipo di lock effettua FB sulle tabelle
in quanto (purtroppo l'appl. VB è nato che doveva essere piccolo ed invece
adesso fa anche il caffé :) tale gestione per adesso ci risulta prioritaria;
mentre per il resto volevo sapere se qualcuno ha avuto esperienza di porting
di db access su IB/FB, e che suggerimenti mi può dare.
Grazie in anticipo a chiunque mi risponderà.
--
Martino


A parte il fatto che qualche thread più sopra si legge di installazioni 
di PostgreSQL su Windows che sono meno traumatiche di quel che 
sembrerebbe, la mia esperienza con Interbase/Firebird è la seguente:
Una applicazione tutta Access (front+back) è stata spezzata in due; il 
back è stato portato in Interbase/Firebird e il front è stato collegato 
via ODBC server Interbase/Firebird. Risultati:
1. Interbase/Firebird mi piace molto, è leggero, robusto, ha tanti 
strumenti di amministrazione e ha comvinto perfino una persona abituata 
a lavorare con PostgreSQL, abbastanza convinto, naturalmente :-)
2. Access->ODBC->Interbase/Firebird è molto lento, anche perché quando 
scrivi una applicazione con un fileserver locale non pensi a un server 
SQL, per esempio metti un ComboLookup che carica 3000 record in una 
maschera e Access non fa una piega...
3. L'unico driver ODBC che mi sembra affidabile è quello della EasySoft 
(a pagamento) che funziona, secondo la mia esperienza, solo con 
Interbase (6.0 opensource, oppure 6.5 a pagamento);
4. prevedendo i punti 2 e 3 avevo già pianificato di riscrivere piano 
piano il front in Delphi. Dalle prime esperienze è tutta un'altra cosa.
Ciao.
Michele Giordano

 ha scritto nel messaggio
news:aPqS8.7495$Jj7.2...@news1.tin.it...



Grazie e Ciao!
Martino

 ciao, Flavio
Grazie!
E' stato molto utile per fare le prime prove. L'unica cosa che non ha creato
le View e le SP. Vabbé, farň a mano.
La pongo anche a te: tu non sai che tipo di Lock effettua IB/FB se sulla
pagina o sul record?

Dopo questo sfogo ti chiedo: Tu non sai che tipo di Lock effettua IB/FB?
Pessimistico.
jk
--
Jilani Khaldi
http://space.tin.it/scuola/jkhaldi

>Dopo questo sfogo ti chiedo: Tu non sai che tipo di Lock effettua IB/FB?
Per essere più precisi. Tratto dal libro "Guida per InterBase/Firebird"
<Caratteristiche principale di InterBase/Firebird>
Versione di InterBase 6... per Windows 95/98/NT/2000, Linux/FreeBSD ed altri
Unix, in versione freeware ed open source
Ecco le principali peculiarità di InterBase:
-	Supporta il protocollo di networking TCP/IP su tutte le piattaforme  che
garantisce l'utilizzo di InterBase come SQL server sia nelle applicazioni
client/server sia in quelle web con completa trasparenza. 
-	Su piattaforma Windows si può usare anche il protocollo NetBUI. In
questo caso, InterBase può essere usato anche all'interno di una rete paritetica
basata solo su PC con Windows 95/98/2000 e senza l'utilizzo di un sistema
operativo server tipo NT o Unix. Come per esempio nel caso di piccole reti
locali dove non è indispensabile l'utilizzo di sistema operativo server.
-	È conforme allo SQL-92 Entry Level. Si può usare lo standard ANSI SQL
per scrivere delle query portabili tra diverse piattaforme. In più, InterBase ha
delle estensioni che anticipano l' SQL3 come le stored procedure e i trigger.
-	Possibilità di accedere contemporaneamente ad un database InterBase da
più applicazioni permettendo a più client di lavorare con gli stessi dati in
conformità al modello client/server.
-	Un'applicazione può accedere contemporaneamente a più database.
-	Architettura multigenerazionale. Cioè, il server, in base alle esigenze,
mantiene una copia dei vecchi record da ripristinare nel caso in cui una
transazione fallisca.
-	Supporta le transazioni. Una funzionalità indispensabile per garantire
l'esito di un'operazione di inserimento, aggiornamento o cancellazione di un
dato.
-	Quando un record viene aggiornato da un client, avviene il blocco del
singolo record anziché dell'intera pagina. In questo modo gli altri record sono
manipolabili liberamente da altri client.
-	Ottimizzazione delle query a livello di server o manualmente
dall'utente. Quando viene scritto del codice SQL, InterBase, prima di eseguirlo,
cerca di ottimizzarlo grazie al suo optimizer interno.
-	Gestione del tipo di dato BLOB con possibilità di memorizzare dati di
qualsiasi genere (immagini, suoni, animazioni, testi…).
-	Integrità referenziale dei dati con possibilità di riferire una chiave
primaria con una o più chiavi esterne mantenendo collegamenti tra colonne di
diverse tabelle.
-	Stored procedure. Sono delle applicazioni SQL che vengono memorizzate
all'interno del database e vengono eseguite a livello di server. Offrono una
grande flessibilità e potenza per svolgere i compiti più impensabili e
bilanciano il carico di lavoro tra il client ed il server.
-	Trigger. Sono simili alle stored procedure ma non vengono mai eseguiti
esplicitamente; svolgono le loro azioni in seguito a modifiche apportate alle
tabelle (inserimento, modifica o eliminazione di un dato). Sono utili quando si
cerca di ottenere un determinato risultato in seguito ad una azione specifica.
-	Messaggi di allerta che informano un'applicazione delle modifiche
avvenute nel database ed in seguito alle quali l'applicazione è chiamata a
svolgere delle specifiche azioni.
-	Viste aggiornabili in seguito ad eventi stabiliti.
-	UDF (User Defined Functions), ossia, funzioni definite dall'utente che
permettono di scrivere programmi esterni che possono essere eseguite da codice
SQL dall'interno del database.
-	Collegamento tra diverse tabelle con possibilità di eseguire su di esse
delle query anche molto complesse.
-	La lettura dei dati non è bloccante. Tutti i client possono leggere
contemporaneamente gli stessi record.
-	Uso delle matrici fino a 16 dimensioni.
-	Possibilità di richiamare le API InterBase tramite codice SQL/DSQL in
modo del tutto trasparente.
-	Possibilità di gestione di InterBase tramite l'applicazione grafica
windows IBConsole. Sono garantite l'esecuzione delle query e le operazioni
backup, restore, manutenzione e gestione della sicurezza.
-	isql, ossia Interactive SQL, è un'applicazione a linea di comando,
multipiattaforma e serve per una totale gestione di InterBase.
-	gpre, è un preprocessore per convertire codice embedded SQL/DSQL in
formati leggibili da linguaggi esterni. Ciò permette di scrivere applicazioni
esterne in altri linguaggi, in C in modo particolare, all'interno delle quali
possiamo inserire del codice SQL. In questo modo possiamo ottenere un'elevata
efficienza ed aggiungere alle nostre applicazioni qualsiasi altra funzionalità.
</Caratteristiche principale di InterBase/Firebird>


 
http://space.tin.it/scuola/jkhaldi
Martino.

 
http://space.tin.it/scuola/jkhaldi
Martino

  Tratto dal libro "Guida per InterBase/Firebird"
che naturalmente non è in italiano !?

che naturalmente non è in italiano !?
Italianissimo. Lo troverai in libreria in settembre insieme a:
- Database Relazionale (analisi, progettazione ed implementazione)
- InterBase/Firebird, amministrazione e programmazione
Non so se vale la pena metterli già in Rete (in formato PDF) prima della loro
pubblicazione ufficiale.


 ha scritto nel messaggio
news:3d21fda1...@news.tin.it...
