"字符串或二进制数据将被截断。"在IIS7上发布后出错

时间:2014-10-13 06:26:06

标签: sql asp.net sql-server iis-7 ado.net

你能否帮助我解决以下错误,这会在我的asp.net webforms应用程序中将其发布到IIS 7 Web服务器上后引起。

错误: 存在以下错误消息"字符串或二进制数据将被截断。该声明已被终止。"

其他详细信息:

  • 我在MS SQL数据库中有一个表来保存用户上传的文件。
  • 该字段设置为varbinary(max)
  • 我使用工作站中的相同数据库从Visual Studio开发服务器运行我的webapp,没有任何错误。 但在IIS7 Web服务器上发布后,我有这个错误。 (源代码,要上传的文件和DB相同)

我试图设置SqlParameter的确切长度,但结果是一样的。

Dim fileDataParam As New SqlParameter("FileData", SqlDbType.VarBinary,
     fileData.Length)
fileDataParam.Value = fileData
params.Add(fileDataParam)

拜托,您能否告诉我一些可能导致此错误的原因?
您能否推荐我应该设置或检查哪些IIS或MSSQL设置?

更新 我在两种情况下都运行SQL Server配置文件。 SQL查询是相同的,在第一种情况下(在IIS上)发生错误,在第二种情况下(在我的PC上) - 没有错误。


解决

我已经解决了这个问题。这是一个字符串的截断,但是在另一个字段[ServerName]中(它在我的PC上传递了短值,在服务器端传递了长值。)

1 个答案:

答案 0 :(得分:0)

我建议你接受@ ps2goat评论作为答案。

您插入到列中的数据对于列大小来说太大了。将列设置为varbinary(MAX)

相关问题