L'autore dell'articolo è Ivan Prenosil. L'originale, in inglese, è reperibile all'indirizzo: Ivan Prenosil's Firebird/InterBase site.
Per connettersi ad un database Firebird bisogna specificare:
- Nome del database
- Nome del server
- Protocollo
- Informazioni per il login
- Altri parametri di connessione
Il nome del database, del server ed il protocollo vengono combinati nella stringa di connessione.
Nome del database
Si tratta o del nome del file contenente i dati o di un alias definito in
aliases.conf
. È meglio, anche se non obbligatorio, utilizzare percorsi completamente specificati (
fully qualified filename):
d:\databases\db.fdb
(evitando
d:databases\db.fdb
).
Nome del server
È il nome dell'elaboratore su cui risiede il server Firebird (il file dati è sempre sullo stesso elaboratore del server). Connettendosi mediante il protocollo tcp/ip è solitamente possibile specificare un indirizzo al posto di un nome (per esempio
192.168.12.34:D:\DB.FDB
), ma questa funzionalità non è incorporata in Firebird, bensì offerta dal network layer (per esempio
WinSock2). Bisogna considerare che in certe situazioni/configurazione questo meccanismo può essere molto più lento che ricorrere al nome.
Protocollo
Segue una lista di protocolli supportati e di come specificarli nella stringa di connessione:
| Sintassi | Esempio |
Locale | <db_file> | D:\DB.FDB |
tcp/ip | <server>:<db_file> | myserver:D:\DB.FDB |
<server><numero_porta>:<db_file> | myserver/3050:D:\DB.FDB |
<server>/<servizio>:<db_file> | myserver/gds_db:D:\DB.FDB |
NetBEUI | \\<server>\<db_file> | \\myserver\D:\DB.FDB |
Note
- Per connessioni all'embedded Firebird engine è obbligatorio utilizzare il protocollo locale.
- Non è possibile utilizzare il protocollo locale per connettersi al Classic Firebird engine.
- La possibilità di specificare il è disponibile da Firebird 1.
- La possibilità di specificare un è disponibile in tutte le versioni di Firebird/Interbase.
- Si può utilizzare NetBEUI solo se il server adotta Windows NT/2000/XP.
- Sebbene la sintassi del protocollo NetBEUI ricordi quella per la connessione a risorse condivise, la similarità è una semplice coincidenza. Non si dovrebbero mai condividere cartelle contenenti file dell'archivio.
- Con Firebird 1.5 il server può essere configurato in modo da disabilitare certi protocolli.
- Firebird 1.5 permette di utilizzare alias, specificati in aliases.conf, al posto di nomi di file.
-
Sebbene Firebird non abbia preferenze per l'estensione da utilizzare per un database, è meglio utilizzare:
- *.fdb - Firebird
- *.ib - Intebase
- *.gdb - versioni interbase pre-6 (non raccomandato a causa di problemi col Windows System Restore)
Informazioni per il login
Gli utenti sono identificati tramite username e autenticati tramite password. I loro privilegi vengono determinati specificando un ruolo (
role) durante la connessione.
Username e password possono esser specificati:
- sulla linea comando dell'applicazione
ISQL D:\DB.FDB -U SYSDBA -P masterkey
- tramite comando SQL
CONNECT 'D:\DB.FDB' USER 'SYSDBA' PASSWORD 'masterkey';
- tramite variabili d'ambiente
SET ISC_USER=SYSDBA e SET ISC_PASSWORD=masterkey
.
Questa funzionalità è incorporata nelle librerie lato client di Firebird e non richiede un esplicito supporto da parte dell'applicazione.
Note
- Vengono controllati solo i primo 8 caratteri della password.
- Se si specifica un ruolo inesistente, non vengono mostrati messaggi di errore ed all'utente viene assegnato il ruolo di default (
NONE
).
Altri parametri di connessione
Il modo in cui specificare altri parametri dipende dal metodo di accesso utilizzato (ISQL, FB API, IBO, FIB+…). Questa è solo una lista parziale:
- Set di caratteri (e.g.
SET NAMES ;
).
- Numero di pagine buffer (e.g. clausola
CACHE
in un comando CONNECT
).
- Richiesta di mantenere valori stabili per RDB$DB_KEY durante la connessione (e.g. parametro
isc_dpb_dbkey_scope
in DPB).
- Richiesta di disabilitare il garbage collection durante la connessione (e.g. switch
-garbage_collect
del programma gbak.
- Eliminazione crittografia password sul client.
- Nome del file messaggi.
- Settaggio proprietà (Forced Writes, Read Only…).