問題タブ [occi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
315 参照

oracle12c - OCCIでパラメータを名前でバインドしますか?

データベース層を OCI for Oracle 7 から OCCI for Oracle 12c にアップグレードしています。OCI (7) では、ステートメント内のとの位置に関係なく、ステートメント内で値とSELECT * FROM TestTable WHERE name = :2 and number = :1値をバインドできるように、パラメーターを番号でバインドすることができました。:1:2 :1:2

古いコードの上位層によって生成されたステートメントは、多くの場合 の形式SELECT * FROM TestTable WHERE name = :2 and number = :1であり、パラメーターにバインドされるために後で指定される値は、パラメーターの位置ではなく、パラメーターの番号によって番号順にリストで提供されます。 .

OCI 12c では、位置だけでなく名前でもパラメータをバインドできますが (ただし、明らかに番号ではバインドできません)、OCCI (12c) では、位置によってのみバインドできるようです。値がバインドされるパラメーターの名前/番号しか知らないため、これは明らかに問題を引き起こします。

だから、私の質問は次のとおりです。SQLステートメントを解析して名前を位置にマップする以外に、OCCIで名前または番号でバインドする方法はありますか? 名前でバインドするOCIの可能性を利用するものはありますか?

0 投票する
1 に答える
183 参照

c++ - Visual Studio 2005 で Oracle ライブラリを使用するアプリケーションを実行しようとしています

OCCI ライブラリを使用する既存のアプリケーションを実行しようとしています。たとえばLinker->Input、プロジェクトでoraocci10.lib.

Visual Studio 2005 を使用しています。

これが私がしたことです。

  1. ここから10.2.0.5パッケージをダウンロードしました(1番目と5番目のパッケージ):

    http://www.oracle.com/technetwork/topics/winsoft-085727.html

  2. 環境変数を設定します(私はOracleクライアントがインストールされているようです):

    ORACLE_HOME C:\app\g\product\11.2.0\client_2

    TNS_ADMIN C:\app\g\product\11.2.0\client_2\Network\Admin

  3. プロジェクトで oracle ライブラリへのパスを設定します。

    C/C++ -> 一般 -> インクルード ディレクトリ: D:\instantclient_10_2\sdk\include

    リンカー -> 追加のライブラリ ディレクトリ: D:\instantclient_10_2\sdk\lib\msvc

  4. コード生成 -> ランタイム ライブラリ: マルチスレッド DLL (/MD)

アプリケーションはコンパイルされますが、実行時エラーが発生します。このアプリケーションをスタンドアロンのexeとして実行すると(実行可能ファイルをコンパイルせずに、そのexeも個別に提供されました)、正常に動作し、データベースに接続します。

したがって、これらの OCCI ライブラリに対して Visual Studio を構成する方法が間違っているに違いありません。私が間違ったことを推測できないポイントに近づいているので、私が間違っていたところに助けをいただければ幸いです。

前もって感謝します

0 投票する
2 に答える
1388 参照

linux - gcc 5 での OCCI リンケージ エラー

最近、gcc を 4.1.2 から 5.2.0 にアップグレードしました。

これにより、OCCI ライブラリとのリンケージ エラーが発生しました。

実行しようとしているソースコード:

リンケージ エラー:

未定義の参照に c++11 関連のシンボルが含まれていることに気付きました。これは、使用している新しい gcc コンパイラに関係していると思われます。

occiControl.h からの関数宣言

OCCI_STD_NAMESPACE::string getString(MetaData::AttrId属性)

Centos 6.6 と最新の OCCI バージョンの instantclient-basiclite-linux.x64-12.1.0.2.0 を使用しています。

何か案は?

ありがとう、デビッド

0 投票する
0 に答える
921 参照

c++ - Visual Studio 2012 : VC++ (MFC) と Oracle OCCI ライブラリを使用した Oracle データベース プログラム

VC++ MFC (Visual Studio 2012) を使用して oracle XE (11.2.0.2.0) データベースに接続しようとしました。以下は、オラクルのウェブサイトで提供されているサンプルコードです。

上記のコードでは、4行がコメントされていますが、正常に動作します。それ以外の場合は、1 つのループ (i=1) に対してのみ機能し、適切なメッセージを表示します (1 回のみ)。その後、以下のエラーが発生します

0x51A4CCC8 (msvcp110d.dll) での初回例外。ブレークを選択すると、ファイル xutility と関数に移動します

  1. このエラーを解決するにはどうすればよいですか?
  2. 通常、VC++ MFC を使用してオラクルに接続するためのベスト プラクティスは何ですか?

環境 :
Windows 8.1 (64)
Oracle XE (11.2.0.2.0)
OCCI ライブラリ : Instant Client パッケージ - SDK: Instant Client を使用して Oracle アプリケーションを開発するための追加のヘッダー ファイルとサンプル makefile instantclient-sdk-nt-11.2.0.2 をダウンロードします。 0.zip
Visual Studio 2012 (デバッグ - 構成)

編集
このエラーは、getString() (varchar2 フィールド) の場合に発生します。getInt() で整数フィールドを使用すると、正常に動作します。

0 投票する
2 に答える
2591 参照

c++ - c++ ビジュアル スタジオ 2015 および OCCI

Microsoft Visual Studio 2015 コミュニティ内で OCCI (Oracle c++ 呼び出しインターフェイス) を使用することは可能ですか?

Oracle のダウンロード セクションでは、Visual Studio 2010 以下の OCCI しか見つかりません。VS2010 を使用するには、VS2010 に切り替える必要がありますか?

0 投票する
0 に答える
146 参照

c++ - OCCI なしで Unix システムから Oracle データベースに接続できますか?

OCCI なしで Unix システムから Oracle データベースに接続できますか? データベース接続を使用するには、Instant Client をインストールする必要がありますか?

提案をお願いします。ありがとう

0 投票する
1 に答える
1282 参照

cmake - CMake で C++ Oracle アプリの OCCI が見つからない

編集:これから十分に変更されたので、新しい質問を開きました。 ここで見つけることができます


OCCI を使用して C++ で Oracle 12c に接続しようとしています。サポートされているバージョンの Cygwin で CLion2016.1 を使用しています。Windows 7. Oracle インスタント クライアント (ベーシックと SDK の両方) が昨日ダウンロードされました (2016 年 3 月 29 日)

注:C:/Users/hunrt/libsシステム パスに追加されました。

私はちょうどmain.cppファイルを持っています:

この CMake ファイルを使用すると、以下のエラーが発生します。コメントアウトされた find_library() 呼び出しは、私がそれを機能させようとしたさまざまな方法です。それぞれで同じエラー メッセージが表示されます (一度に 1 つしか使用しません)。
CMake ファイル

エラー

find_library() および target_link_libraries() 呼び出しを削除すると、次のエラーが発生します。

私が試したその他のこと
CMakeLists.txt ファイルと同じディレクトリに、libs、dlls、および sym ファイルをプロジェクトに配置しようとしましたが、同じエラー メッセージが表示されます。


どんな助けでも大歓迎です。ありがとう。


usr1234567 からの提案に基づいて編集

CMake ファイル

エラー



Cygwin から MinGW への切り替え

CMake ファイル


上記と同じ main.cpp を使用すると、次のエラーが発生します。