Differenze tra le versioni di "ODBC"
(Creata pagina con " == ODBC (Open DataBase Connectivity) == Questo wiki è realizzato grazie alle spiegazioni fornite dal membro [http://www.gambas-it.org/smf/index.php?action=profile;u=21 mili...") |
|||
Riga 64: | Riga 64: | ||
DIM oConn As New Connetion | DIM oConn As New Connetion | ||
− | |||
WITH oConn | WITH oConn | ||
.Type = "odbc" | .Type = "odbc" | ||
Riga 97: | Riga 96: | ||
DIM oConn As New Connetion | DIM oConn As New Connetion | ||
− | |||
WITH oConn | WITH oConn | ||
.Type = "odbc" | .Type = "odbc" |
Versione delle 06:32, 30 apr 2021
ODBC (Open DataBase Connectivity)
Questo wiki è realizzato grazie alle spiegazioni fornite dal membro milio del forum gambas-it.org
ODBC, più precisamente unixODBC è un driver che permette di interfacciarsi con qualsiasi database DBMS a prescindere dalla piattaforma su cui il database risiede.
Per poterci collegare al database occorre per prima cosa scaricare il driver corretto dal sito del database, successivamente dovremo sistemare correttamente i file ini di configurazione odbcinst.ini e odbc.ini.
Qui una spiegazione sulla wiki di Gambas
Faremo un esempio pratico di collegamento tramite driver unixODBC a un database FireBird:
1 - Per prima cosa scarichiamo i driver da qui: https://firebirdsql.org/en/odbc-driver/
2 - Estraiamo i driver in una cartella, ad esempio in Ubuntu li salveremo in /usr/lib/x86_64-linux-gnu/odbc/
3 - Ora dobbiamo configurare il file /etc/odbcinst.ini così:
[FireBird] Description=Firebird driver ODBC Driver=/usr/lib/x86_64-linux-gnu/odbc/libOdbcFb.so Setup=/usr/lib/x86_64-linux-gnu/odbc/libOdbcFb.so UsageCount=1 CPTimeout=0 CPTimeToLive=0 DisableGetFunctions=0 DontDLCLose=1 ExFetchMapping=1 Threading=3 FakeUnicode=0
NOTA: Il nome del tipo di database a cui si collega il driver va posto fra le parentesi quadre in questo caso [FireBird]
4 - Ora configuriamo il file /etc/odbc.ini così, cambiando con i dati corretti di Dbname, User e Password:
[Skema] Description=FireBird Driver=FireBird Dbname=192.168.1.190:C:\\Programmi\\Skema\\DB\\<NomeDelDatabase>.FDB Client= User=pippo Password=<passfrase> Role= CharacterSet=WIN1252 ReadOnly=Yes NoWait=No Dialect=3 QuotedIdentifier=Yes SensitiveIdentifier=No AutoQuotedIdentifier=No UseSchemaIdentifier=0 - Set null field SCHEMA LockTimeoutWaitTransactions=0 SafeThread=Yes
NOTA: Il nome della connessione che usa il driver per quel tipo di collegamento va posto fra parentesi quadre, in questo caso [Skema]
Per vedere se il tutto funziona a dovere da terminale diamo il seguente comando, naturalmente cambiando anche qui con i dati corretti:
isql Skema pippo passfrase
Su Gambas la connessione andrà settata in questo modo:
DIM oConn As New Connetion WITH oConn .Type = "odbc" .Host = "Skema" .User = "pippo" .Password = "passfrase" .Open() END WITH
NOTA: Possiamo usare lo stesso driver su diversi database, per ogni database occorre aggiungere al file /etc/odbc.ini i nuovi dati lasciando uno spazio vuoto, ad esempio:
[Mistral] Description=Gestionale aziendale Driver=FireBird Dbname=192.168.1.175:<altroNome Di Database> Client= User=pippo Password=passfrase Role= CharacterSet=WIN1252 ReadOnly=No NoWait=No Dialect=1 QuotedIdentifier=Yes SensitiveIdentifier=No AutoQuotedIdentifier=No UseSchemaIdentifier=0 - Set null field SCHEMA LockTimeoutWaitTransactions=0 SafeThread=Yes
Quindi su Gambas si setta la nuova connessione in questo modo:
DIM oConn As New Connetion WITH oConn .Type = "odbc" .Host = "Mistral" .User = "pippo" .Password = "passfrase" .Open() END WITH
Altri collegamenti: