Connessione ad un database Firebird
Per connettersi ad un database Firebird bisogna specificare:
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 <numero_porta> è disponibile da Firebird 1.
- La possibilità di specificare un <servizio> è 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 <char_set>;).
- 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…).