1

この問題に関する Stackoverflow のトピックを読みましたが、実際にはまだ解決策がありません。

私の問題は、SQL Server 2008 のストアド プロシージャで XML パラメータとして文字列または Clob を送信することです。jTDS を使用して接続しています。「ARITHABORT」をオンに設定する必要があると読みましたが、どこでそれを行うことができるのか本当にわかりません。

たぶん、JAVAまたはDBでの自分のセッションでも...助けてください!! (そして、私の非常に下手な英語で申し訳ありません)

Ok!これが私にエラーを与えている方法です:

   private static final String PR_SV_MUDA_STATUS_EVENTO_CONCLUIDO = "{CALL PR_SV_MUDA_STATUS_EVENTO_CONCLUIDO(?, ?, ?, ?)}";


   public String modificaStatus(Connection connection, Integer eventoRobo, String path) throws SQLException {
    Connection conn = null;

    conn = GenericHibernateDAO.criaConexao();


    CallableStatement cs2 = conn.prepareCall(PR_SV_MUDA_STATUS_EVENTO_CONCLUIDO);

    cs2.setInt(1, eventoRobo);
    cs2.setString(2, null);
    cs2.setString(3, null);
    cs2.setString(4, path);
    cs2.execute();
    conn.close();

    return null;
}
4

2 に答える 2

1

これがクエリだと思います

  SET ARITHABORT ON;

これは、ストアド プロシージャの前に実行する必要があります。接続を取得したらすぐに実行できます。

処理が完了したら、以下のクエリを実行できます。

  SET ARITHABORT OFF;

これらのクエリは、Java プログラムで追加のステートメントを使用して実行できます。

于 2012-10-08T19:55:26.893 に答える