LoginSignup
4
8

More than 5 years have passed since last update.

unixODBCをインストールしてみた

Last updated at Posted at 2018-07-07

●unixODBCダウンロード

unixODBC は次のサイトからダウンロードすることができます。
  http://www.unixodbc.org/
今回は最新のunixODBC-2.3.6.tar.gzをダウンロードしました。

●OSバージョン確認

[root@ol6 ~]# cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 6.9 (Santiago)

●unixODBCインストール

①ダウンロードしたunixODBC-2.3.6.tar.gzを解凍

[root@ol6 tmp]# ls
    unixODBC-2.3.6.tar.gz
[root@ol6 tmp]# tar zxvf ./unixODBC-2.3.6.tar.gz
  unixODBC-2.3.6/
  unixODBC-2.3.6/depcomp
  unixODBC-2.3.6/exe/
  ・・・ 

②./configure

[root@ol6 tmp]# cd unixODBC-2.3.6
[root@ol6 unixODBC-2.3.6]# ./configure
 checking for a BSD-compatible install... /usr/bin/install -c
 checking whether build environment is sane... yes
 checking for a thread-safe mkdir -p... /bin/mkdir -p
 ・・・

③make

[root@ol6 unixODBC-2.3.6]# make
 make  all-recursive
 make[1]: Entering directory `/tmp/unixODBC-2.3.6'
 Making all in extras
 ・・・

④make install

[root@ol6 unixODBC-2.3.6]# make install
 Making install in extras
 make[1]: Entering directory `/tmp/unixODBC-2.3.6/extras'
 make[2]: Entering directory `/tmp/unixODBC-2.3.6/extras'

④インストール確認

[root@ol6 unixODBC-2.3.6]#  odbcinst -j
 unixODBC 2.3.6
 DRIVERS............: /usr/local/etc/odbcinst.ini
 SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
 FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
 USER DATA SOURCES..: /root/.odbc.ini
 SQLULEN Size.......: 8
 SQLLEN Size........: 8
 SQLSETPOSIROW Size.: 8

●ODBC接続設定

①tnsnames.ora設定
DBに接続するためのClient接続情報を設定

[oracle@db01 ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
 pdb01 =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = db01)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = pdb01)
     )
   )

②odbcinst.ini設定
odbcinst -j で出力された"DRIVERS"項のファイルパスにあるodbcinst.iniを設定

[oracle@db01 ~]$ cat /usr/local/etc/odbcinst.ini
  [odbcOracle18c]
  Description = Oracle 18c ODBC driver.
  Driver = /u01/app/oracle/product/18.1/dbhome_1/lib/libsqora.so.18.1

③odbcinst.ini設定
odbcinst -j で出力された"USER DATA SOURCES"項のファイルパス(実行ユーザーのHOMEディレクトリ配下) ~/.odbc.iniを設定

[oracle@db01 ~]$ cat ~/.odbc.ini
  [DSNOracle18c]
  Driver = odbcOracle18c
  ServerName = pdb01

④環境変数設定
 LD_LIBRARY_PATHを設定
 以下は設定例

[oracle@db01 ~]$ cat .bash_profile
    # .bash_profile

    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi

    # User specific environment and startup programs

    PATH=$PATH:$HOME/bin

    export PATH
    umask 022

    export ORACLE_HOME=/u01/app/oracle/product/18.1/dbhome_1
    export PATH=$PATH:$ORACLE_HOME/bin
    export ORACLE_SID=orcl
    export NLS_LANG=American_America.AL32UTF8
    export LANG=C
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

[oracle@db01 ~]$ . ~/.bash_profile
[oracle@db01 ~]$ env | grep LD_LIBRARY_PATH
    LD_LIBRARY_PATH=/u01/app/oracle/product/18.1/dbhome_1/lib:/u01/app/oracle/product/18.1/dbhome_1/lib:/u01/app/oracle/product/18.1/dbhome_1/lib:/u01/app/oracle/product/18.1/dbhome_1/lib:

⑤ODBC接続確認

[oracle@db01 ~]$ isql DSNOracle18c system <pass>
    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL> select BANNER from v$version;
        +---------------------------------------------------------------------------------+
        | BANNER                                                                          |
        +---------------------------------------------------------------------------------+
        | Oracle Database 18c EE High Perf Release 18.0.0.0.0 - Production                |
        +---------------------------------------------------------------------------------+
        SQLRowCount returns -1
        1 rows fetched
    SQL>

何らかのエラーが表示されるようであれば、-v オプションをつけることで、エラ
ー内容を知ることができます。

[oracle@db01 ~]$ isql DSNOracle18c system <pass> -v
 [01000][unixODBC][Driver Manager]Can't open lib '/u01/app/oracle/product/18.1/db                      home_1/lib/libsqora.so.18.1' : file not found
 [ISQL]ERROR: Could not SQLConnect

■参考
 ・The unixODBC Project home page
  http://www.unixodbc.org/download.html

 ・ODBC Driver Release Notes
  https://docs.oracle.com/cd/E96517_01/odbcr/index.html

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8