executeUpdate上的异常

时间:2011-04-29 11:09:37

标签: java mysql database jdbc

我得到一个例外

com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.  

在以下行引发异常:

PrepareStmt.setBinaryStream(1, new ByteArrayInputStream(data), data.length);  
updatePrepareStmt.executeUpdate();  

我正在使用MS-SQL db。任何人都可以帮我解决这个问题吗?

我尝试插入数据的列的数据类型是varbinary,数据的长度也不大。我只是插入“测试”。

更新
现在我增加了数据类型varbinary的大小。它达到了1024,但我现在得到了新的例外: -

  

com.microsoft.sqlserver.jdbc.SQLServerException:该   从varbinary到BLOB的转换是   不支持的

有人可以评论这个例外吗?

2 个答案:

答案 0 :(得分:3)

作为异常消息sais,您的数据似乎比应该写入的数据库字段大。 data.length的最大值是多少,列的最大长度是多少?

答案 1 :(得分:0)

增加列容量..如果是varchar(20)使其成为varchar(200)或可以容纳您数据的内容。