DataGrip 2026.1 Help

OCI を使用して Oracle に接続できない

OCI を使用して Oracle データベースに接続できない場合は、次の手順を試して問題を解決してください:

  1. バージョンに互換性があることを確認する

  2. ファイルや環境を確認する

バージョンの互換性を確認する

別のマシンへのインストール

Oracle インスタントクライアントが別のマシンにインストールされている場合、Oracle インスタントクライアントと Oracle サーバーのバージョンが異なる場合があります。 例えば、Oracle クライアント 19.x は Oracle サーバー 11.2 に正常に接続できます。 ただし、JDBC ドライバーは Oracle インスタントクライアントと同じバージョンである必要があります。 それ以外の場合は、 Native library cannot be loadedIncompatible version of libocijdbc などのエラーが表示されます。

例: 次の Oracle セットアップを検討してください:

  • Oracle データベース 12cEnterpriseEdition リリース 12.2.0.1.0-64 ビット本番

  • Oracle インスタントクライアント 19.8.0.0

Oracle ドライバー 19.3.0.0 を使用する場合、 Incompatible version of libocijdbc を取得します。 ただし、Oracle ドライバー 19.8.0.0 に切り替えると、接続は成功します。 次のアニメーションについて考えてみます。

Incompatible version of libocijdbc

同じマシンへのインストール

Oracle インスタントクライアントが Oracle サーバーを搭載したマシンにインストールされている場合、JDBC ドライバーはネイティブライブラリを使用して Oracle サーバーに接続します。 そして、このネイティブライブラリは Oracle サーバーソフトウェアの一部です。 そのため、JDBC ドライバーは Oracle サーバーと同じバージョンである必要があります。

要約表

別々のマシン

同じマシン

Oracle インスタントクライアントおよびサーバーのバージョン

異なる場合があります

同じになります(Oracle インスタントクライアントは Oracle サーバーソフトウェアの一部であるため)

JDBC ドライバーのバージョン

Oracle インスタントクライアントと同じ

Oracle サーバーと同じバージョン

バージョンを確認する

  1. DataGrip で JDBC ドライバーのバージョンを確認するには、次の手順を実行してください:

    1. データソースおよびドライバー ダイアログ (Ctrl+Alt+Shift+S) でデータソースを選択し、 ドライバー リストをクリックして ドライバーに移動 を選択し、ダイアログの ドライバー タブにアクセスします。

    2. ドライバー 」タブの「ドライバーファイル 」ペインで JDBC ドライバーのバージョンを見つけます。

    ドライバーの設定の詳細については、 既存のデータソース用の JDBC ドライバーを構成する を参照してください。

  2. Oracle インスタントクライアントとサーバーのバージョンを確認します。

ファイルと環境変数

要件

次の OCI パッケージが必要です。

  1. ベーシックパッケージ

  2. SQL*Plus パッケージ

  3. JDBC サプリメントパッケージ

オペレーティングシステムのパッケージは oracle.com の Oracle インスタントクライアントダウンロードページ(英語)からダウンロードできます。

ステップ 1。 解凍したファイルを確認する

ダウンロードしたパッケージのすべてのファイルは、同じディレクトリに抽出する必要があります。

  • 抽出されたインスタントクライアントファイル ( ~/Oracle/instantclient_19_8/ など) が含まれるディレクトリを見つけて、不足しているファイルがないことを確認します。

  1. インスタントクライアントファイル (たとえば、 ~/Oracle/instantclient_19_8/ ) が含まれるディレクトリを見つけます。

  2. ファイルが不足していないことを確認してください。

  3. oraclepki.jar がそのディレクトリにあることを確認してください。

  4. ウォレットファイルが network ディレクトリ内の wallet ディレクトリにあることを確認してください。 ウォレットファイルへのパスは次のようになります: ~/Oracle/instantclient_19_8/network/wallet

    ウォレットファイルへのパス

ステップ 2. (オプション) 環境変数を確認する

これはオプションです。 環境変数を設定すると、sqlplus ツールを使用して Oracle インスタンスに接続できます。 これらの設定は、コマンドプロンプトの現在のセッションでのみ機能することに注意してください。

  • 次の環境変数を確認してください。

    export ORACLE_HOME=~/Oracle/instantclient_19_8
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export NLS_LANG=English_America.UTF8
    export PATH=$PATH:$ORACLE_HOME
    set ORACLE_HOME=C:\Oracle\instantclient_19_8
    set TNS_ADMIN=%ORACLE_HOME%\network\admin
    set NLS_LANG=English_America.UTF8
    set PATH=%PATH%:%ORACLE_HOME%

ステップ 3. ORA ファイル構成を確認する

tnsnames.ora ファイルが次の方法を使用して作成されていることを確認してください。

  1. ファイルの場所は次のようになります: <directory_with_extracted_files>/network/admin directory_with_extracted_filesステップ 1 でチェックされます。

    例: ~/Oracle/instantclient_19_8/network/admin

  2. tnsnames.ora ファイルは次の構造になっている必要があります。

    MyTNSAlias = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db.my.domain.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = my_service.my.domain.com) ) )

    次のファイルの例を考えてみましょう。

    # tnsnames.ora Network Configuration File: /Users/jetbrains/Oracle/instantclient_19_8/network/admin/tnsnames.ora # Generated by Oracle configuration tools. MyTNSAlias = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) HOST = my_host.jetbrains.com) (PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = datagrip.jetbrains.com) ) ) AnotherAlias = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = another_host.jetbrains.com) (PORT = 1521))

tnsnames.ora および sqlnet.ora ファイルは、ウォレットファイルとともに ZIP アーカイブに含まれています。 ウォレットのダウンロードの詳細については、 docs.oracle.com の「クライアント資格証明 (ウォレット) のダウンロード」(英語)を参照してください。

  1. ファイルの場所は ~/Oracle/instantclient_19_8/network/admin のようになります。

  2. テキストエディターで admin ディレクトリから sqlnet.ora ファイルを開き、 DIRECTORY 属性の値がウォレットへのパスであることを確認します。 この場合、パスは次のようになります。

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/Users/jetbrains/Oracle/instantclient_19_8/network/wallet"))) SSL_SERVER_DN_MATCH=yes

    次の admin ディレクトリと構成ファイルのスクリーンショットを検討してください。

    TNS ファイルの構成
2026 年 5 月 22 日