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!
linux oracle unixodbc odbc archlinux
Commentami!