java - 获取导致 com.microsoft.sqlserver.jdbc.SQLServerException : String or binary data would be truncated 的列的任何方法

标签 java sql hibernate sql-server-2005 jdbc

我们有一个使用 hibernate 模式将数据保存到 sql server 2005 实例的 webapp。

偶尔我们会收到 com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.

虽然我们可以获得插入查询,然后手动与数据库中的列定义进行比较以查看哪个列太小,但这样很慢且容易出错。有没有办法从这个异常中自动获取有问题的Table/Column?

我已经在 Google 和 SO 周围寻找解决方案,所以如果答案是“不,你无法获得该信息”,我会理解,但我认为询问并没有什么坏处。

最佳答案

当您尝试将比您所能承受的更大的数据放入表列时,可能会发生此错误,例如:

您的列设置是 varchar(10),您尝试输入“一些长度超过 10 的数据”

然后你会得到如下错误:com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.

检查输入数据和您的设置。

关于java - 获取导致 com.microsoft.sqlserver.jdbc.SQLServerException : String or binary data would be truncated 的列的任何方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14633479/

相关文章:

MySQL - 保持 View 时查询速度慢

mysql查询从多个表中获取记录并连接

java - 多对多关系不创建主键

java - DELETE .. RETURNING rowid 在 JOOQ 不工作

mysql - 如何分组并将组 ID 分配给表列中的重复值?

java - 无法 Autowiring 。找不到 ... 类型的 bean

java - Hibernate prepareConnection/preparedStatement 问题

java - 无法解析模板 "Class"

Java - 返回一个整数数组

java - Android:更改一个 fragment 的应用栏高度并删除文本