Oracle 10g (pro*c およびライブラリー) を使用してコンパイルされたマルチスレッド C アプリケーションがあります。このプログラムは、スレッドごとに 1 つのデータベース接続を使用します。11g に移行しており、11g に対するテストでは、グローバル コンテキスト以外のコンテキストを使用するものはすべてSQL-02134: Invalid runtime context
、データベースへの接続時に を生成します。グローバル コンテキストを使用すると問題なく動作します。これは 10g から 11g への移行における既知の非互換性ですか、それとも何か間違っていますか? 最終的にはすべてを 11g に対して再コンパイルしますが、実装目的のために、すべてのデータベースが変換されるまで 10g プログラムを実行できれば、はるかに簡単です。
価値があるのは、コードには、私が通常のものであると信じているものが含まれていることです。
EXEC SQL ENABLE THREADS;
EXEC SQL CONTEXT ALLOCATE :thread_ctx
EXEC SQL CONTEXT USE :thread_ctx