Configurazione ODBC in Linux

Mini-guida per la connessione da sistemi linux a database esterni tramite unix ODBC e FreeTDS.

odbc
Il primo passo è installare i pacchetti necessari per iniziare la configurazione poi testare le funzionalità.

# sudo apt-get install unixodbc unixodbc-dev freetds-dev sqsh tdsodbc


Una volta completata l’installazione andremo a modificare il file di configurazione freetds.conf nel forder /etc/freetds/

# vi /etc/freetds/freetds.conf

Aggiungeremo le seguenti righe:

[SQLEXPRESS] #nome percorso di connessione
host = ip.add.ress
#port = 1433
instance  = nomeinstanza
tds version = 7.0

Nel caso in cui volessimo collegarci ad un server SQL mono instanza basterà indicare la porta alla quale ci collegheremo port = 1433, altrimenti questa non va indicata e deve essere definita la variabile instace = nomeinstanza

Salvato il file freetds.conf andremo ad eseguire un test di connessione diretta al server SQl tramite sqsh utilizzando il nome dato in configurazione

# sqsh -S SQLEXPRESS -U username -P password

oppure tramite IP

# sqsh -S ip.add.ress -U username -P password

Esempio connessione tramite sqsh

Esempio connessione tramite sqsh


Cerco il file configurazione odbc

# odbcinst -j

Appurato che la connessione tra FreeTDS ed il nostro SQL server funzioni vado a configurare ODBC indicando i driver da utilizzare nel file odbcinst.ini

# vi /etc/odbcinst.ini

inserendo le righe:

[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
CPTimeout = 5
CPReuse = 5
FileUsage = 1

L’ultimo passo è la creazione di DataSource che faranno da ponte tra i nostri applicativi e FreeTDS per comunicare con SQL Server

# vi /etc/odbc.ini
[datasourcename]
Driver = FreeTDS
Description  = ODBC connection via FreeTDS
Trace = No
Server = SQLEXPRESS  #indico il nome percorso di connessione impostato in freetds.conf
Database = databasename

Test connessione DataSource

# isql -v datasourcename username password

Un esempio per l’utilizzo può essere PHP, dove andremo a collegarci trmite le funzioni odbc_connect e odbc_exec. Se non è installato php5-odbc procedo con apt per prelevare i pacchetti.

# sudo apt-get install php5-odbc

Creo il file test_odbc.php nella nostra directory di accesso web, ad esempio /var/www/html/

<?php $connection = odbc_connect('datasourcename', 'username', 'password'); if (!$connection) die("Connection failed!"); else echo "It Works!"; $query = odbc_exec($connection, 'SELECT column FROM table') or die (odbc_errormsg()); //........?> 

Link Utili:

unicODBC/
FreeTDS/
Open Database Connectivity/

Ti potrebbe interessare anche...