0

私は、Java の MyBatis マッピング インターフェイスを介して呼び出される SQL Server ストアド プロシージャに XML 文字列を入力パラメータとして送信することに取り組んできました。私のマッピングは次のように定義されています。

@Update(value = "{ call prcFoo(" +
                "#{ stringValue, jdbcType=VARCHAR, mode=IN }," +
                "#{ xmlValue, jdbcType=CLOB, mode=IN } ) }") 
@Options(statementType = StatementType.CALLABLE)
Integer sendXML(@Param("stringValue") String stringValue, 
                   @Param("xmlValue") String xmlValue);

マッピングは、結果セットではなく整数値を返します。このマッピングを使用して呼び出しを行うと、プロシージャ エラー状態 (負の整数) が発生します。同じ XML 文字列を使用してデータベースでプロシージャを直接呼び出すと、期待値が返されるため、XML の読み取りに問題があるようです。MyBatis の使い方が間違っているのでしょうか、それとも何か問題がありますか?

4

1 に答える 1

0

文字列の代わりに XML データ型を使用してみましたか

http://technet.microsoft.com/en-US/library/ms189887(v=sql.90).aspx

于 2013-08-27T20:49:15.633 に答える