Differenze tra le versioni di "ODBC"

Da Gambas-it.org - Wikipedia.
Riga 56: Riga 56:
 
    
 
    
 
'''NOTA''': Il nome della connessione che usa il driver per quel tipo di collegamento va posto fra parentesi quadre, in questo caso [Skema]
 
'''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:
 
Per vedere se il tutto funziona a dovere da '''terminale''' diamo il seguente comando, naturalmente cambiando anche qui con i dati corretti:
Riga 71: Riga 72:
 
     .Open()
 
     .Open()
 
   END WITH
 
   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:
 
'''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]
 
   [Mistral]

Versione delle 07:41, 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:

unix ODBC

connection