問題タブ [ora-24338]

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 投票する
1 に答える
6407 参照

sql - dblink を介してストアド プロシージャを呼び出す

データベース リンクを介してストアド プロシージャを呼び出そうとしています。コードは次のようになります。

package_name が属する同じ DB インスタンスとスキーマからこれを実行すると、問題なく実行できます。ただし、データベース リンクを介してこれを実行すると (ストアド プロシージャ名などに必要な変更を加えて)、Oracle エラーが発生します: ORA-24338: ステートメント ハンドルが実行されませんでした。

dblink 上のこのコードの修正版は次のようになります。

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

asp.net - .Net Oracle ORA-24338 'ステートメント ハンドルが実行されていません' エラーと 1 つのストアド プロシージャでのエラー

次のストアドプロシージャがあります

そして、私はこのコードでアプリケーションからそれらを呼び出しています:

この例では、WEB_AC SP常に sp を実行します。WEB_UPDOC1C6

これには2つの問題があります。

最初の問題:アプリケーションのある時点で、valor(Visual Basic 関数の) パラメーターをスペースを含む文字列として持っています。これは、「スペースを含む文字列」のようなものです。この場合、ストアド プロシージャはテーブルを更新しません。DBで(SQL Developerを使用して)SPを直接実行すると、すべて正常に動作します。いくつかの引用符( ')が欠落している文字列と関係があることは知っていますが、まだ機能させていません。これに関するいくつかのアイデアはありますか?

2 番目の問題:アプリケーションのデバッグ中に実行を中断すると、再度実行しようとするたびにORA-24338 'ステートメント ハンドルが実行されていません' エラーが何時間も発生することがあります。オープントランザクションと関係があると思います。しかし、正直なところ、私は Oracle を使用するのは初めてなので、何が問題なのかまったくわかりません。

手伝って頂けますか?

更新: ORA-24338 の本当の理由を見つけました。エラーの原因となったのは別の SP でした。他の問題の解決策を見つけたら、ここにすべて投稿します。

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

oracle - データベースリンクを介したResultSet/RefCursorの取得

dblinkを介してストアドプロシージャを呼び出すための回答から、リモートDBリンクを介してSP呼び出しを行っている場合、ストアドプロシージャを呼び出してResultSet/RefCursorを取得することはできないようです。Oracle10gも使用しています。

リンク全体で単一値の結果を正常に取得でき、SPを正常に呼び出してローカルで結果を取得できますが、リモートDBからResultSetを読み取るときに、同じ「ORA-24338:ステートメントハンドルが実行されません」というエラーが発生します。

私の質問-ストアドプロシージャを使用するための回避策はありますか?共有ビューはより良い解決策ですか?パイプ行?

サンプルストアドプロシージャ:

ローカルでは機能するがリモートでは機能しないサンプルJavaコード:

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

sql - データベースリンクを使用してOracle関数を呼び出す

リモート データベースで呼び出される Oracle 関数を作成し、getEmployee(id in varchar)データベース リンクを使用してローカル データベースから呼び出そうとしています。

ではgetEmployee、従業員データを含むカーソルを返そうとしています。 (テーブル: 従業員 (ID、名前、住所)):

列名 (ID、名前、アドレス) で結果セットを取得するにはどうすればよいですか?

Contrad によると、ローカル関数を次のように変更しました。

しかし、Java コードからこの関数を呼び出すと、次のエラーが発生します。

「ORA-24338: 文ハンドルが実行されていません」

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

sql - Java からの Oracle 関数の呼び出し

リモート データベースで呼び出される Oracle 関数を作成し、getEmployee(id in varchar)データベース リンクを使用してローカル データベースから呼び出そうとしています。

ではgetEmployee、従業員データを含むカーソルを返そうとしています。 (テーブル: 従業員 (ID、名前、住所)):

しかし、Java Code からこの関数を呼び出すと、ORA-24338: statement handle not executedエラーが発生します。ここに私のリモート機能があります:

ここに私のJavaコードがあります: