我已经阅读了Stackoverflow中有关此问题的主题,但实际上我还没有解决方案。
我的问题是在SQL Server 2008中的存储过程中将String或Clob作为XML参数发送。我正在使用jTDS进行连接。我读过我必须将“ ARITHABORT”设置为ON,但我真的不知道该在哪里做。
也许在我自己的JAVA或DB会话中……请帮助!! (对不起,我的英语非常不好)
好!这是给我错误的方法:
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;
}
最佳答案
我相信这是查询
SET ARITHABORT ON;
这需要在存储过程之前运行。您可以在获得连接后立即运行它。
处理完成后,您可能要运行以下查询。
SET ARITHABORT OFF;
可以使用Java程序中的其他语句来运行这些查询。