SQLException获取更多信息

时间:2012-06-14 21:31:37

标签: sql-server vb.net ado.net sqlexception

目前正在将SQLException错误消息转换为对最终用户更有用的消息。我最大的问题是找到我正在寻找的信息。

例如,错误代码8114是

“将数据类型[Type1]转换为[Type2]”

时出错

错误代码8152

“字符串或二进制数据将被截断”

在VB.NET中使用ADO.NET和SQLServer,有一种简单的方法可以确定哪些列会受到这些错误的影响吗?

1 个答案:

答案 0 :(得分:3)

问题是SQL Server的错误没有提供该信息,因此识别导致问题的字段的唯一方法是拆分SQL语句以单独为单独的字段运行它。这对于开发人员应该测试的东西来说听起来很多,以确保它不会开始。有些错误不是开发人员的错,但是你在这里列出的两个是开发人员应该保持的事情,应该是该过程的单元测试的一部分。

我能想到的一些错误不是开发人员错误,而是与SQL Server的连接错误或数据库损坏错误有关。

我实际上喜欢这样一个事实:我的用户不能总是弄清楚导致问题的原因,因为它往往迫使他们告诉我程序有问题。如果他们弄清楚如何解决我应该修复的错误,他们往往不会告诉我存在问题,有时候我发现存在问题已经有好几年了。