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」を選択します。
ここでは、 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 | ProC およびProCOBOLプリコンパイラを備える追加ツールとライブラリ | ProC ,ProCOBOL |
JDBC-OCI Supplement | 国際化に対応するための追加ライブラリ | JDBC-OCI |
Oracle Instant Client のインストール
Instant Client Package - Basic の展開
Instant Client Package - Basic は、ダウンロードしたファイルを任意のフォルダーに展開することでインストールが完了します。ここでは、「c:\oracle」フォルダーを作成し展開します。
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 が表示され設定できないのでインストールを実施します。
次のサイトからダウンロードし、実行してインストールを行います。
ODBC のインストール
ダウンロードした Instant Client Package - ODBC を Basic を展開したフォルダーに展開します。
ここでは、「C:\Oracle\instantclient_11_2」に展開しています。
次に 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 のインストールが完了します。