Home / Database & Server / Database & Server / Connessione a Oracle con ODBC su Linux
Mattepuffo

Connessione a Oracle con ODBC su Linux

Connessione a Oracle con ODBC su Linux

Ci ho messo un pò, perchè non easy come su Windows, ma alla fine ce l'ho fatta.

E a questo punto posso connettere la mia macchina Linux direttamente a Oracle senza passare per SQLDeveloper.

Sostanzialmente gli step sono tre:

  • installaazione dell'ODBC (unixodbc nel mio caso)
  • installazione dell'Oracle client
  • creare dei file di configurazione

Cominciamo con il primo punto, considerando che io sto su Archlinux, e quindi su altre distro può essere diverso.

Innanzitutto dobbiamo installare unixodbc:

# pacman -Sy unixodbc

Dopo di che dobbiamo installare l'Oracle client.

Se siete su Archlinux è molto semplice; aggiungete questo repo in fondo:

# vim /etc/pacman.conf

[oracle]
SigLevel = Optional TrustAll
Server = http://linux.shikadi.net/arch/$repo/$arch/

Per altre distro, seguite uno dei vari tutorial in giro; io lo dovrò installare su Debian, ma ancora non l'ho fatto.

Adesso installate il client:

# pacman -Sy oracle-instantclient-basic oracle-instantclient-odbc oracle-instantclient-sdk

Io ho installato tutto direttamente.

Adesso dobbiamo creare tre file di configurazione.

Il primo si chiama tnsnames.ora; in pratica questo file funge tipo da DNS verso la macchina:

# vim /etc/tnsnames.ora

C4B =
 ( DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS =
  (PROTOCOL = TCP)
  (Host = INDIRIZZO_SERVER)
  (Port = 1521)
  )
 )
 (CONNECT_DATA = (SID = C4B)
 )
)

Il secondo si chiama odbcinst.ini; file di configrazione generale per l'ODBC verso Oracle, in quanto indica dove prendere le librerie per la connessione:

# vim /etc/odbcinst.ini

[OracleODBC]
Description = Oracle ODBC driver
Driver = /usr/lib/libsqora.so
FileUsage = 1
Driver Logging = 7

Il terzo odbc.ini; file di configurazione specifico per la connessione, ne potete mettere altri con altre credenziali ad esempio:

# vim /etc/odbc.ini

[C4B]
Driver = OracleODBC
ServerName = C4B
Database = C4B
UserID = USENRNAME
Password = PASSWORD

Adesso provate a dare il seguento comando:

$ isql -v C4B
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

Questo vuol dire che tutto funziona; a questo punto potete fare tutte le query che volete, o agganciare LibreOffice a quella connessione ODBC.

Enjoy!