Oracle Database Instant Clientの使用

Oracle Database Instant Clientを使用するC/C++アプリケーションを構築し、Oracle Databaseサーバーに接続できます。64ビット版のアプリケーションを構築し、instantclient_19_8/sdk/demo.mkファイルを使用する場合は、次のステップを実行します。
  1. instantclient_19_8/sdk/demo.mkファイルを編集し、CCおよびccgccの場所に設定します。
  2. demo.mkファイルで指定されているフラグ( -idirafter . -DMAC_OSX -D_GNU_SOURCE -D_REENTRANT -g -m64 -mmacosx-version-min=10.13 <c_file_name> -I../include)を使用してC/C++アプリケーションをコンパイルします。
  3. オプションの作業デモのmake -f demo.mk buildoci EXE=cdemo81 OBJS=cdemo81.oを開始します。
  4. 次の問題が発生した場合は、ottスクリプトにJavaライブラリ・パスを追加します。
    Exception in thread "main" java.lang.UnsatisfiedLinkError: no ocijdbc18 in java.library.path

    -Djava.library.path=location_of_libocijdbc18

    たとえば、libocijdbc18.dylib/home/oracle/OTN/instantclient_19_8/のパスにある場合、ottスクリプトに次の行を追加する必要があります。

    JAVA_PATH=-Djava.library.path=/home/oracle/OTN/instantclient_19_8/

    次のコマンドを実行します。

    exec java $JAVA_PATH $JREOPTIONS oracle.ott.c.CMain nlslang=${NLS_LANG} $args

  5. ライブラリへのパスが含まれるようにdemo.mkICLIBHOMEを変更します。
    たとえば、ライブラリが/home/oracle/OTN/instantclient_19_8/にある場合は、demo.mkファイルに配置します。

    ICLIBHOME=/home/oracle/OTN/instantclient_19_8/

コンパイル・オプションは次のとおりです。

-idirafter . -DMAC_OSX -D_GNU_SOURCE -D_REENTRANT -g -m64 -mmacosx-version-min=10.13 <c_file_name> -I../include

リンク・オプションは次のとおりです。

-g -m64 -mmacosx-version-min=10.13 -rpath full_path_to_instantclient_19_8_libs application_name -L../../ -locci -lclntsh -lpthread