0

DB2 ストアド プロシージャを呼び出すための API を持つ内部ライブラリがあります。パラメータバインディングの一部として、構文は次のとおりです。

SPParameter(string paramName, DbType dbType, object paramValue)

Stored Proc の入力パラメーターの 1 つは Timestamp 型です。System.DbTypeこの場合に機能する列挙型が見つかりません。可能な列挙型と私が得るエラーは次のとおりです。

  1. Date: Error in DB Write: ERROR [42884] [IBM][DB2/LINUXX8664] SQL0440N
  2. DateTime: Error in DB Write: ERROR [42884] [IBM][DB2/LINUXX8664] SQL0440N
  3. DateTime2: Error in DB Write: No mapping exists from DbType DateTime2 to a known DB2Type.
  4. Time: Error in DB Write: ERROR [42884] [IBM][DB2/LINUXX8664] SQL0440N

使用する列挙型に関する提案はありますか?他のアプローチはありますか?

4

2 に答える 2

0

問題は、入力した Params の順序であることがわかりました。Params に名前を付けていますが、Stored Proc で定義されている順序である必要があります。注文を修正すると問題が解決しました

于 2013-10-02T15:48:02.737 に答える
0

SQL0440N は、呼び出そうとしているプロシージャーが存在しないことを意味するため、4 回のうち 3 回は、使用しているデータ型にエラーが発生していないと思われます。

于 2013-10-01T00:06:55.053 に答える