0

AS400/RPG/DB2 で iSeries を使用してストアド プロシージャを呼び出すと、変換エラーが発生します。

db2 パラメータは CHAR 32000 として定義されており、.net アプリは約 20000 文字を渡し、呼び出しでエラーがスローされます。

このエラーは、.net アプリが 2 バイト文字を含むデータを渡すときに発生するようです。2 バイト文字を含む DB2 ストアード・プロシージャーにストリングを渡すにはどうすればよいですか?

IBM エラー コードは 6107 です。

4

2 に答える 2

0

20K の 2 バイト文字を 32K の文字フィールドに渡そうとすると、フィールドの長さが足りなくなります。20K の 2 バイト文字は 40K のスペースを占有します。もう 1 つの問題は、CCSID の問題が発生している可能性があります。2 バイト文字を保持するために VARGRAPHIC を試すことができます。

于 2013-05-03T12:48:33.787 に答える
0

おそらく、VARCHAR 32000 として定義するつもりでした。CHAR は固定長ですが、.NET アプリは定義された長さを送信していません。

于 2013-04-23T23:18:46.103 に答える