問題タブ [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.
java - Oracle Java ストアド ライブラリがコンパイルされない
Oracle データベース内に Java ライブラリを格納しようとしています。初めてやりますのでご了承ください。そのライブラリは pd4ml です。これは、コンパイルされたクラスを含む 2 つの jar で構成されています。
pd4ml.jar
ss_css2.jar
(pd4ml.jar で必要)
それらを Toad でロードしてもうまくいかなかったので (Toad は正常にロードされたと言いましたが、どこにも表示されませんでした)、コマンドライン (loadjava) に行き、ss_css2.jar
正常にロードすることができました。そのすべてのクラスがロードされ、コンパイルされました。
2 番目のライブラリpd4ml.jar
もロードされましたが、いくつかのクラスがコンパイルされません。ojvmtc を実行して、参照を解決しようとしました。次のメッセージを受け取りました。
次のクラスが見つかりませんでした:
javax/サーブレット/http/HttpServletResponseWrapper
組織/ゼファー/pd4ml/npdf/パーサー/c
最初のものは、私の理解が正しければ、組み込みの 11g r2 である JRE の一部である必要があります。スキーマsys
を参照すると、存在しないようです。
2 つ目は jar ライブラリの一部です。コンパイルされた Java の構造については正確にはわかりません。これまで調べる必要はありませんでしたが、内部org/zefer/pd4ml/npdf/parser/
に.class ファイルがいくつかc$_b
ありc$_c
ますc$_g
。だけのものはありませんc
。
このライブラリは、コマンド ライン引数を渡したり、Eclipse から実行したりするときに、私のローカル マシンで適切に機能するため、機能するはずです。Toad でコンパイルしようとしたときに表示される特定のエラー メッセージはありません。依存関係/クラスパスの問題だと感じています。
pd4ml.jar
に含まれるクラスが に含まれるクラスに適切にアクセスできるようにする方法についてのヒントss_css2.jar
、または調査する潜在的な原因はありますか? おそらく、Java コードから詳細なエラー メッセージを取得する方法でしょうか?
java - Java を介して MySQL RDBMS に接続する
Java を使用して、z/OS 上の既存の COBOL アプリケーションをリモートの MySQL データベースに接続する必要があります。ストアド プロシージャのアプローチについて読みましたが、アーキテクチャについて明確なイメージが得られませんでした。cobol-java-MySQL ストアド プロシージャ接続アプローチに関するアイデアを教えてください。
java - Oracle 関数として使用される Java 静的メソッド
私は Java 開発も Oracle もまったく初めてですが、学んでいます。
私の問題は次のとおりです。.net で dll を作成し、MSSqlServer でカスタム関数として使用しました。基本的に、このライブラリは SOAP ゲートウェイとして機能し、このような SELECT を使用して Web サービス (GET と POST の両方) を呼び出すことができます。
今、私は同じことをしたいのですが、Java for Oracle を使用しています。テスト目的で、2 つの静的メソッドを公開するクラス「SoapGateway」を作成しました。
1) public statis String GetData() <- 文字列のみを返し、すべてが正常に機能することを確認します..
2) public static String MakeWebRequest(String ユーザー名、String パスワード、String メソッド、String url、String パス、String エンベロープ) <- Web サービスを呼び出します。
2 番目のステップは、Oracle Java コンパイラですべてをコンパイルすることで、Java バージョンの問題が発生しないようにします。
3 番目のステップ: 次のような単純なコードを使用して、Oracle 関数を Java クラスにバインドします。
関数の作成または置換 fn_SoapGateway_GetData RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'SoapGateway.GetData() return java.lang.String'; 専念;
最後に、この select で単純な関数 GetData をテストします
チャームのように動作します!! カスタム文字列が返されます。
では、最後に質問をさせてください。
1) 関数「MakeWebRequest」をバインドし、Oracleで関数を作成するには、Oracleで何を書く必要がありますか?
2) 「文字列」をエンベロープとして送信し、「文字列」を返すのは正しいですか、それともより大きなデータ型を使用する必要がありますか? もしそうなら、どの種類のデータ型ですか? コードの修正を手伝ってもらえますか? 機能したらすべてを共有できます
3) Oracle から関数を正しく呼び出して、応答を XML 変数として取得するにはどうすればよいですか?
助けてくれてありがとう!私が何かはっきりしていなかったら教えてください!((:
----------------------- UPDATEEEEE -------------------------- ---
さて、ステップ 2.0 です。Java から必要な結果が得られました。java.sql.Clob を使用しましたが、すべて問題ないようです。
だから、SoapGateway.MakeWebRequest(.....) と呼ばれる eclipse のメインからテストしたところ、すべてが完璧に見えました! リモート ホストは、Get メソッドの xml で応答します。--> わかりました
ここで、loadjava -schema bla bla bla --> ok を使用して Java クラスを Oracle サーバーにロードしました。
次に、Enterprise Manager からコンパイルします --> OK
次に、このような関数を作成しました
--> よし!
そして最後に..それを次のように呼び出しました:
ORA-29532: Java終了原因が原因でJavaが停止しました: java.lang.NullPointerException (JavaコールはNULLポインタ例外で終了しました) --> KO!!
では、Eclipse では魅力的に動作し、Oracle ではこのようなエラーが発生する理由について何か考えはありますか? 私は何か間違ったことをしていますか?
どうもありがとう!
L.
jpa - Oracle JPA () でカーソルを取得する
JPA @StoredProcedureQuery または @StoredNamedProcedureQuery を使用して Oracle のプロシージャからデータを取得できません
PL/SQL
次にJavaで
次のエラーが発生します
また、私は試してみました
いくつかのアドバイス??