Windows 10 に Oracle Instant Client と ODBC x64 をインストールする

メモ:

Windows 10 64bit に ODBC をインストールする際、「エラーコード 14001」 や 「sqresus.dll が存在しない」などのエラーに悩まされた事を記録します。エラーコード 14001 は、ダウンロードサイトの記載をしっかり読んでいれば回避できることでしたね。

ここでインストールする Oracle Instant Client は、 Version 11.2.0.4.0 で少し古いものを対象としています。

Oracle Instant Client とは

Oracle Instant Client とは、Oracle 社が提供する無料かつ軽量なライブラリ及び SDK (ソフトウェア開発キット)です。旧来の Oracle Universal Installer(OUI) を使ったインストールと違い、ファイルのコピー及び環境変数の設定等で Oracle データベースに接続できるようになります。

Oracle Instant Client のダウンロード

Oracle Instant Client のダウンロードサイトへアクセスします。

ダウンロードをするには、アカウントが必要となるため持っていない場合はアカウントを作成します。

Oracle のサイトからダウンロードするには、ライセンスに同意する必要があるので「Accept License Agreement」を選択します。

Oracle ダウンロードサイト

ここでは、 ODBC をインストールしたいのですが Oracle Instant Client の Package Basic は必須ということなので Instant Client Package - Basic と Instant Client Package - ODBC をダウンロードします。

  • Instant Client Package - Basic
  • Instant Client Package - ODBC

ちなみに ODBC 以外では、次の環境を構築することができます。

Instant Clientのパッケージ 説明 参考
Basic Oracle DatabaseでOCI、OCCI、ODBC、JDBC-OCIアプリケーションを実行するのに必要なすべてのファイル OCI,OCCI,JDBC-OCI
Basic Light Basicパッケージの簡易バージョン。英語のエラー・メッセージとUnicode、ASCII、西欧キャラクタ・セットのみをサポート OCI,OCCI,JDBC-OCI
SDK OCIおよびOCCIアプリケーションを開発するための追加のヘッダー・ファイルとmakefileサンプル
SQL*Plus SQLとPL/SQLの文およびスクリプトを実行するためのSQL*Plusコマンドライン・ツールを備える追加のパッケージ SQL*Plus
Tools Data Pump、SQL*Loader、Workload Replay Clientなどの追加のツール Data PumpとSQL*Loader ,WRC
ODBC ODBCを備える追加ライブラリ ODBC
Precompilers Pro*C およびPro*COBOLプリコンパイラを備える追加ツールとライブラリ Pro*C ,Pro*COBOL
JDBC-OCI Supplement 国際化に対応するための追加ライブラリ JDBC-OCI

Oracle Instant Client のインストール

Instant Client Package - Basic の展開

Instant Client Package - Basic は、ダウンロードしたファイルを任意のフォルダーに展開することでインストールが完了します。ここでは、「c:\oracle」フォルダーを作成し展開します。

Instant Client Package - Basic を展開

Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x64) のインストール

Oracle のダウンロードサイトにも記載されていますが、 Instant Client Package - Basic には Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x64) が必要となります。この Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x64) がインストールされていない場合、 ODBC の設定を行おうとするとエラーコード 14001 が表示され設定できないのでインストールを実施します。

エラーコード 14001

次のサイトからダウンロードし、実行してインストールを行います。

ODBC のインストール

ダウンロードした Instant Client Package - ODBC を Basic を展開したフォルダーに展開します。

ここでは、「C:\Oracle\instantclient_11_2」に展開しています。

Instant Client Package - ODBC を展開

次に ODBC ドライバをインストールするため、管理者権限でコマンドプロンプトを開いて次のコマンドを実行します。

> cd C:\Oracle\instantclient_11_2
> odbc_install JA
Oracle ODBC Driver is installed successfully.

「Oracle ODBC Driver is installed successfully.」と表示されれば ODBC のインストールは完了です。

環境変数の設定( PATH , TNS_ADMIN , NLS_LANG)

Oracle Instant Client ファイルを参照できるよう、展開したフォルダーを環境変数( PATH )に追加します。ここでは、「C:\Oracle\instantclient_11_2」を追加しています。

次に接続情報などが参照できるよう環境変数に TNS_ADMIN を新規で追加します。この TNS_ADMIN も同様に「C:\Oracle\instantclient_11_2」を指定しています。

デフォルトで、tnsnames.oraファイルはORACLE_HOME/network/adminディレクトリに配置されます。Oracle Netはこの構成ファイルを探すために他のディレクトリを確認することもあります。たとえば、次の順序でtnsnames.oraファイルを確認します。

1.環境変数TNS_ADMINで指定されたディレクトリ。指定されたディレクトリにファイルがない場合、ファイルは存在しないとみなされます。

2.TNS_ADMIN環境変数が設定されていない場合、Oracle NetはORACLE_HOME/network/adminディレクトリを確認します。

なお環境変数TNS_ADMINを設定した場合上記パスではなくTNS_ADMINの値がデフォルトパスになります。 また、windowsの場合プログラムのカレントディレクトリにtnsnames.oraがあった場合そちらを優先して読み込む場合があります。

最後に使用文字コードを指定するため NLS_LANG を環境変数に追加し、環境に応じた文字コードを設定します。 (Japanese_Japan.JA16SJISTILDE 等)

Error Connot Load Resource File sqresus.dll

ODBC の設定でシステムDNSを作成するには、「コントロールパネル」ー「管理ツール」ー「ODBC」から[システムDNS]のタブで追加を選択します。 データソースのドライバーで Oracle を選択すると「Error Connot Load Resource File sqresus.dll」とエラーになります。

展開した Instant Client Package - ODBC には sqresus.dll ファイルがいたはずなのですが、いつの間にやらいなくなっています。

あらためて Instant Client Package - ODBC から sqresus.dll ファイルを取出し、インストールフォルダーに展開します。

以上で、Oracle Instant Client による ODBC のインストールが完了します。