問題タブ [java-stored-procedures]

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

mysql - SQLストアドプロシージャと外部言語プロシージャ

SQLストアドプロシージャといくつかの一般的なプログラミング言語で記述されたプロシージャの利点と欠点、より正確には、どの方法がどの状況で好まれるのかを知りたいです。

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

java - 呼び出し可能ステートメントのOUTパラメーターから予期しないnullを取得する

静的メソッドO.execute()にリンクされているJavaストアドプロシージャJAVA_P()とpl / sqlプロシージャSQL_P(in_param IN CUSTOM_TYPE_1、out_param OUT CUSTOM_TYPE_2)の2つのプロシージャがあります。

JAVA_Pは、CallableStatementを使用してSQL_Pを呼び出します。

そして今、大きなWTF:Oracleの外部で(外部jvmから)O.execute()を実行すると、受信したout_paramが期待どおりに設定されます。O.execute()をJAVA_P()として(oracle組み込みjvmを使用して)実行すると、out_paramがnullに設定されます(SQL_Pは例外なく実行され、出力パラメーターを設定する必要があります)。

なぜこれが起こるのか考えがありますか?

Oracle Database 10gEnterpriseEditionリリース10.2.0.5.0-テスト1.4.2_04に使用される64biJREバージョン。JDBCバージョン10.2.0.3.0

@Juergen Hartelt私の英語はこれを明確に説明するのに十分ではないかもしれませんが、私はこの方法を試します:

1)いつものように私のIDEを使用していくつかのJavaコードを書きました:

2)私はこのコードを実行します-wooha!できます

3)私は変わった

4)クラスをコンパイルしてOracleにロードします

5)P141_JAVABridge.execute()をP141_JBにリンクしました

6)次にP141_JBを実行しました

でNullPointerExceptionを取得しました

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

oracle - Java ストアド プロシージャは Oracle の PL/SQL より遅いですか?

これは簡単な質問です。Java ストアド プロシージャが Oracle データベースの PL/SQL より遅いかどうか知っていますか?

ストアド プロシージャを PL/SQL から Java に移行してベンチマークを実施しましたが、PL/SQL の約 2 倍の時間がかかりました。これも経験ですか?

ありがとう。

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

java - Javaストアドプロシージャを使用してテーブルデータを表示するにはどうすればよいですか?

stored procedures現在、いくつかをテストしJAVAているoracle dbので、すべてのempエンティティを表示しようとしました。

だから私の質問は、Javaストアドプロシージャを介してテーブル全体を表示するにはどうすればよいですか?

これは私が試したものです:

この方法での私の問題は、を使用できないことSystem.out.println("");です。この後は何も表示されません。

前もって感謝します!

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

java - OracleのJavaストアドプロシージャにjarファイルを含める方法は?

ストアドプロシージャを実現しているので、JREの標準デプロイメントに属していないjarファイルをストアドプロシージャに含める機能が必要になりました。これどうやってするの?私が知っているように、Oracle9ではそれは不可能でした...

手伝ってくれてありがとう!

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

oracle - 複雑な入力および出力タイプを使用して、JDBCからOracleストアドプロシージャを呼び出します

私はこの質問の解決に非常に近づいていますが、どうやら何かが足りないようです。私の要件は、JDBCからOracleのストアドプロシージャを呼び出すことです。ストアドプロシージャは、1つのユーザー定義のOracleオブジェクトをINputとして受け取り、別のユーザー定義のOracleオブジェクトをOUTputとして受け取ります。INputオブジェクトとOUTputオブジェクトには、基本的なOracleデータ型とユーザー定義オブジェクトの別のセットのコレクションの両方が混在しています。INputオブジェクトとOUTputオブジェクトのコレクションタイプにNULLを設定している限り、ストアドプロシージャを正常に呼び出して、結果を返すことができます。Oracleオブジェクトのリスト用のArrayDescriptorを作成してストアドプロシージャに送信しようとすると、障害が発生し続けます。したがって、配列をINputオブジェクトに設定し、それをCallableStatementに設定する方法を理解するための支援が必要です。ご注意ください、プリミティブ型と配列をストアドプロシージャへの直接入力として送信する方法を知っています。しかし、後でプロシージャに10個の追加フィールドを送信する必要があるため、そのようにはしたくありません。メソッドシグネチャに追加したくありません。これがクラスのリストです。また、以下のコードのコンパイルエラーはありません。

オラクルのパッケージ:

ストアドプロシージャの入力オブジェクト

INputオブジェクトの一部としての配列オブジェクト

INputオブジェクトのUserDefinedオブジェクト部分

TestDataINObj.java:

TestDataINObjConverter.java

ストアドプロシージャの呼び出しを実際に実行するコード

その他:1。オブジェクトはスキーマレベルで宣言されており、dbユーザーがアクセスできます。2.より多くのスペースが必要になるため、対応するJavaオブジェクトのすべてをここに含めませんでした。それらはSQLDataインターフェースを実装し、それらのタイプ名はDB名と一致します。readおよびwriteSQLメソッドは、getString、getArray、および対応するsetterメソッドを使用します。

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

stored-procedures - Java ライブラリーと DB2 Java ストアード・プロシージャーのバンドル

IBM Data Studio を使用して DB2 Java ストアード・プロシージャーを作成すると、クラスパスに必要なライブラリーがいくつかあります。VM で Data Studio を実行し、Cloud インスタンスの DB2 サーバーにリモートでデプロイしています。

jar をストアド プロシージャにバンドルするにはどうすればよいですか?

0 投票する
4 に答える
3110 参照

java - Oracle 11.2.0.2.0(64ビット)で接続を取得しようとしたときのjava.lang.ArithmeticException

現在、OracleでJavaストアドプロシージャを使用していますが、Javaコード内で接続を取得しようとすると奇妙な動作が見られます。

私のJavaはjarファイルにパッケージ化されてから、loadjavaコマンドラインユーティリティを使用してOracleにデプロイされます。次に、データベースにApackageが作成され、指定されたJavaクラスの各メソッドが呼び出し仕様を介してPL/SQL関数にマップされます。

私が扱っている列のいくつかはCLOBsです。CLOBJavaでは、これの値(呼び出し仕様にとしてマップされているoracle.sql.CLOB)をString:に抽出しようとします。

このコードを実行すると、SQL*Plusに次のスタックトレースが表示されます。

のメッセージが表示される前にException、問題のあるメソッドの内容をでラップしてtry / catch、完全なスタックトレースをにダンプできるようにしましたSystem.out

これはOracle11.2.0.1.0(32ビット)では機能していましたが、Oracle 11.2.0.2.0(64ビット)では機能していません

他のJavaベースのPL/SQLfunctionも問題なく動作しました。失敗するのは接続を確立しようとするものだけです。

私が調べた<ORACLE_HOME>\jdbc\libところ、jarは同じ名前ですが、これら2つのディストリビューションでは異なっているようです。ディレクトリ内のjarファイルは次のとおりです(11.2.0.1.0サイズと11.2.0.2.0サイズが表示されています)。

  • ojdbc5.jar(1,950KB | 1,983KB)
  • ojdbc5_g.jar(3,010KB | 3,271KB)
  • ojdbc5dms.jar(2,374KB | 2,489KB)
  • ojdbc5dms_g.jar(3,030KB | 3,291KB)
  • ojdbc6.jar(2,062KB | 2,102KB)
  • ojdbc6_g.jar(3,323KB | 3,782KB)
  • ojdbc6dms.jar(2,594KB | 2,698KB)
  • ojdbc6dms_g.jar(3,344KB | 3,805KB)
  • simplefan.jar(20KB | 20KB)<-おそらく同じ

これらのjarのマニフェストファイルは、特定のバージョン、つまり11.2.0.1.0または11.2.0.2.0用にビルドされていることを確認します。11.2.0.2.0でバグが発生した可能性はありますか?または、ユーザー、つまり私のエラーである可能性が高いですか:-)

また、oracle.jdbc.driver.T2SConnectionクラスはどこに住んでいますか?

どんな助け/ガイダンスも大歓迎です。さらに詳しい情報が必要な場合はお知らせください。

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

oracle10g - ストアド プロシージャからの出力値の取得 - GetColumn

ストアド プロシージャを呼び出す必要がありますが、OUT パラメータがなく、代わりに putcolumn を呼び出してバッファ マネージャに書き込みます。Java アプリケーションから put column を使用してデータ セットを取得するにはどうすればよいですか。私のストアド プロシージャはオラクルです。誰かが私の問題をソートするためにあなたの入力を提供できますか?

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

sql-server-2008 - ms sqlを使用してテーブルにコンマ区切りの値を挿入するためのストアドプロシージャ?

私はassignRoleという名前のテーブルを持っています。

userid(int)csvの文字列を渡し、roleid(int)を渡します。

ユーザーIDを文字列から分割してロールIDを取得し、これらの値をテーブルに挿入するストアドプロシージャが必要です。これは、ユーザーID文字列のすべての値に対して発生します。