2

我是一个使用 、Seam 和 Jboss 编写 ERP 的团队的一员,在我的一个页面上,每当我尝试输入内容时,我都会不断收到 SQL 错误:8152。SQL错误:8152,对于那些不知道的人来说,是当您尝试输入超过列最大限制的值时。

我已经仔细检查了我的实体和数据库,它们的最大值限制是相同的(50 个 nvarchars)。此外,我很确定我们没有使用审计表。然后我把 System.out.println(""); 到处都是,发现错误发生在这两个 println(s) 之间:

            System.out.println("Flushing");
        entityManager.flush();
        System.out.println("Flushing complete");

这是处理对表的所有更改的方法的一部分。但我对编程很陌生,不知道发生了什么。

任何帮助将不胜感激,在此先感谢,杰夫。

应要求提供 Ps 代码,但我没有发布它,因为到处都是。

4

1 回答 1

0

我将验证执行 flush() 时正在执行的 SQL。这样,您可以查看数据的长度并验证它是否太大,如 DB 错误所示。

如果您使用的是 Hibernate,则可以将 SQL 输出到控制台。你没有说你的数据库是什么,但如果它是 SQL Server,你可以使用分析器来查看正在执行的 SQL。

于 2011-06-09T13:29:25.257 回答