問題タブ [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.

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

java - refカーソルの戻り値の型でストアドプロシージャを呼び出すJava

ストアド プロシージャから参照カーソルを返そうとすると、常にjava.sql.SQLException: Bigger type length than Maximumエラーが発生するという問題が発生しています。

参照カーソルとして出力変数を 1 つだけ持つ非常に単純なストアド プロシージャがあります。ref_cursor は、WS_SEARCHTEST という名前の Oracle パッケージで型参照カーソルとして定義されています。

私の手順:

簡単なクエリを実行し、データベースで確認したため、接続が機能していることはわかっています。私のJavaコードでは、次のことを行います。

私も試しました:

ただし、結果セットにアクセスしようとすると、常に java.sql.SQLException: Bigger type length than Maximum が発生します。

ありがとう

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

java - 「'{' 付近の構文が正しくありません」SQL Server ストアド プロシージャの呼び出し

ストアド プロシージャから結果を取得しようとしていますが、取得していERROR: Incorrect syntax near '{'.ます。a に対して同じことを使用する多くの例を見ましたが、sql stringなぜエラーが発生するのかわかりません..同じ量のパラメータがあります...

このようにデータベースからストアドプロシージャを実行すると

exec rptGetAssetbyLocation '2122' 5 つの列を取得します

Callable Statement を使用して結果を取得するにはどうすればよいですか? 私は何か間違ったことをしていregisterOutParameterますか?

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

java - callablestatement を使用して「ビュー」を呼び出す方法

簡単なグーグル検索だと思ったのですが、これに対する答えが見つかりません:

Access db を SQL Server に移行しています。一部のクエリをビューに変換しました。私のJavaアプリケーションは、単純な方法ですべてのクエリを呼び出していました:

これは、ストアド プロシージャに対して機能します。しかし、ビューでそれを行うと、次のようになります。

ビューの名前の後ろにある括弧を削除するのと同じくらい簡単だと思っていまし()たが、うまくいきませんでした。

  • JDBC CallableStatment を使用してビューを「呼び出す」にはどうすればよいですか?
  • テーブル値関数を呼び出す別の方法もありますか?
0 投票する
1 に答える
48 参照

java - 大きな XML ファイルを引数として取る MSSQL プロシージャを呼び出すための最良の方法は何ですか?

アプリサーバーが起動するたびに、 MSSQL DB にXML ファイルのコンテンツを挿入するアプリに取り組んでいます。

XML には、関連するテーブルの複数のレコードが含まれています。ストアド プロシージャは、XML ファイルの内容を (TEXT) 引数として受け取り、ポインタ ( sp_xml_preparedocument ) を作成し、 OPENXMLを使用してテーブルに挿入します。

XML ファイルが存在するアプリケーション サーバーからJDBC (またはSQLCMDの場合もある) を使用して手順を実行する必要があります。

XML ファイルは約 160MB です。現在、CallableStatementに大きな String オブジェクトとして読み取って XML ファイルを送信していますが、非常に時間/スペース/リソースを消費します。

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

java - JDBC CallableStatement 以外の Java からストアド プロシージャを実行する

利用可能な模擬テスト スイートの 1 つを使用して、 Java 7認定を準備しています。

私が遭遇したテストの質問の 1 つはJDBC CallableStatementクラスに関するもので、(ツールによると) 正解の 1 つは次のとおりです。

CallableStatement は、プロシージャに in パラメーターと out パラメーターがある場合、Java プログラムがデータベース内のストアド プロシージャを実行する唯一の方法です。

これは私には非常に傲慢に思えます.JDBCなしでストアドプロシージャを実行できる既存のライブラリ(おそらく独自のdbライブラリなど)があるかどうか疑問に思っていましたか?

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

java - Callablestatement からパラメーター値を取得する

アプリに多数のストアド プロシージャ コールがあり、callable ステートメントを使用しています。ストアド プロシージャに渡されるパラメーターをデバッグする必要がある場合があります。簡単な方法はありませんが、エンティティ オブジェクトから取得したすべての値を出力するコードを記述します。

そのため、呼び出し可能なステートメントの署名と、実行後の呼び出し可能なステートメントオブジェクト、および実行されたSQLとデバッグ用のログに出力する汎用関数を作成しようとしていました。次のコードを書きましたが、switch case 1 の cs.getString で "Parameter type not valid" という SQL 例外がスローされます。

ここで、cs メタデータから取得したパラメータ タイプは 1 であり、javadocによると、定数 1 は CHAR 用であり、Java の文字列にマップする必要があります。このストアド プロシージャの実際の設定パラメータも String を使用しており、正常に動作するのに、なぜ getString がこの例外で失敗するのでしょうか?

AS400ドライバーを使用しています。