問題タブ [callable-statement]
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 - CallableStatement PostgreSQL:無効な数のパラメーターエラー
postgresqlでサンプルの保存された関数を記述し、JDBCが提供するCallableStatementを使用してそれらを呼び出そうとしています。
これが私のテストコードです
そして、私のストアド関数はの形式です。
ただし、コードを実行しようとすると、次のエラーが発生します。
なぜこれが起こっているのか考えていますか?
stored-procedures - ストアド プロシージャへの JDBC 呼び出しが null を返す
Oracle データベースのストアド プロシージャに問題があります。
プロシージャー (50 の IN パラメーターと 2 つの IN OUT パラメーターを持つ) を呼び出して、これらの 2 つの OUT パラメーターを取得したいだけです。
関連する CallableStatement を execute() しようとしていますが、NullPointerException が返されます
これがコードです(私はHibernateを使用しています):
execute() の前に設定した場合
SQLSyntaxErrorException が発生しました (ORA-00911: 無効な文字)
私たちを手伝ってくれますか ?
ファブ
解決策は次のとおりです。
プロシージャの最後の 2 つのパラメータは IN OUT です。それらを OUT パラメータとして管理する必要があると考えました:
ただし、IN OUT であるため、これらのパラメーターは IN として宣言する必要があります。
最後に、次のように OUT として登録します。
これがあなたの助けになることを願っています:)
java - Oracleプロシージャの呼び出し
oracleに挿入すると同時にoracleプロシージャを呼び出すメソッドがあります。挿入ステートメントは機能しますが、プロシージャは機能しません。エラーは発生していません。なぜこれが機能しないのか誰かがわかりますか?
hibernate - Hibernateで複数のリターンタイプのOracleプロシージャを実行する方法は?
単一の出力タイプの場合、コードは正常に機能していますが、複数の出力パラメーターと出力(ResultSet、Numberなど)を持つOracleプロシージャを実行する方法を取得できませんでした。
Hibernateコード:
誰かがそれを行う方法を知っていますか?
java - Java callablestatement に uniqueidentifier を設定する
次のようなストアド プロシージャを実行しようとしています。
ご覧のとおり、実行前に callable ステートメントに Guid/UniqueIdentifier をパラメータとして設定しています...しかし、callableStatement オブジェクトでメソッド 'setString' を使用していることもわかります。 m このエラーが発生します:
com.microsoft.sqlserver.jdbc.SQLServerException: 文字列から一意識別子への変換中に変換に失敗しました。
「setGuid」のようなメソッドや callablestatement オブジェクト用の何かがあれば、この問題は発生しないと思います...回避策などを知っている人はいますか?
編集:
ストアド プロシージャ「getDeliveryConfirmations」のコード
java - バッチモードで呼び出し可能ステートメントを介してSPが呼び出されたときにOUTパラメータを取得する
バッチモード(executeBatch())でCallableステートメントを介してSPを呼び出すときにOUTパラメーターの値を取得する方法。
mysql - 呼び出し可能なステートメント
MySQL でストアド プロシージャを作成し、callable ステートメントを使用してそれを呼び出そうとしました。次のエラーがあります。
さらに続行する方法がわからず、データベース内のストアド プロシージャの場所がわかりません。
jdbc - jdbc の呼び出し可能ステートメント
こんにちは、callable ステートメントを使用して jdbc プログラムを作成し、コネクタ j もインストールしました。mysql にもストアド プロシージャを作成しました。次のドライバもインストールしました。
C:\Program Files\MySQL\mysql-connector-java-5.1.21 (3)\mysql-connector-java-5.1.21 しかし、まだエラーが発生します
java.sql.SQLException: jdbc:mysql:localhost に適したドライバーが見つかりません
java.lang.NullPointerException
java - 挿入クエリと更新クエリを含む Java バッチで Oracle プロシージャを呼び出す (ステートメント)
私はJavaベースのプロジェクトに取り組んでおり、次の方法で実装されています
- キーを整数として、値を文字列の配列リストとして持つハッシュマップを取るクラス(A、B、C、D....)がいくつかあります。arraylist 内のすべての文字列要素は、Oracle SQL クエリ (INSERT または UPDATE) です。
- クラス(A、B、C、D....)のこれらのメソッドは、Map をループします。特定のキーのすべての SQL クエリは、JDBC ステートメント (
**stmt.addBatch(String)**
) を使用してバッチに追加されます。一意のキーごとに、個別のバッチが作成されて実行されます。 - さまざまな INSERT および UPDATE クエリを配置するために、このマップと文字列の配列リストにデータを入力する作業をしている多くのクラス(X、Y、Z...)があります。
ここで、いくつかのキーに Oracle プロシージャ コールを追加する必要があるため、それぞれのキーの String Arraylist に追加する必要があります。
プロシージャを呼び出すために次の文字列を追加しようとしましたが、誰もうまくいかないようです。
他の領域に影響を与える可能性があるため、コードの多くを変更したくありません。
バッチに Callable ステートメントを追加することはできますが、そのためには、バッチの準備を担当するすべてのメソッドとクラスを変更する必要がありますが、これは私のプロジェクトでは約 15 です (プロジェクトの設計はあまり良くありません)。ステートメントの代わりに呼び出し可能なステートメントを準備するために、プロシージャ呼び出しを識別する条件を記述する必要があります。
バッチを実行するクラスを変更せずに、それを行う他の方法はありますか?