2011-06-09 89 views
3

我知道我的数据太大,这就是我得到异常的原因。但是,这似乎更像是对我的警告。在SQLCommand中是否有一个属性,我可以设置它,这只是一个警告,无论如何插入截断的数据?试图消除所有可能会很快回答的问题。我无法更改SQLDatabase中列的大小。我无权执行此操作。我想避免去每个字符串,并说如果长度> x采取子字符串。我只是希望在命令级别忽略它。如何忽略System.Data.SqlClient.SqlException:字符串或二进制数据将被截断。例外

回答

6

您可以执行SET ANSI_WARNINGS OFF来抑制此消息。或者你可以使用LEFT || RIGHT函数用于截断数据并传递列的最大字符数。

0

您可以关闭ANSI警告并解决此问题,但这意味着要么关闭并打开或依靠存储过程来处理此操作。我没有检查过所有数据库选项,但我相信这只能在批处理级别上完成。即使它可以为整个数据库完成,我不认为它可以设置表特定。而且,即使可以为整个数据库完成,这也是一个坏主意。最好只使用您不关心截断的设置。

在我看来,截断和忽略是一个不好的选择,除非你真的不关心数据。而且,如果你不关心它,为什么你仍然保存它呢?

相关问题