【问题标题】:MVC 4 - String or binary data would be truncatedMVC 4 - 字符串或二进制数据将被截断
【发布时间】:2014-07-07 09:27:44
【问题描述】:

当我在本地运行我的代码时,一切都很好,但是在外部运行相同的代码我遇到了一个奇怪的问题,我没有在屏幕上显示字符串 ID,而是收到一条消息 String or binary data would be truncated.

以下是错误示例:

http://www.mydomain.com/String or binary data would be truncated.~38249/

Functions.cs

public string EmailBodyPaymentLink(string sysId, bool forDisplay)
{
    var sb = new StringBuilder();
    sb.Append("<p><a href='" + "http://www.mydomain.com/pID~aID/'>PAY NOW</a></p>");
    sb.Append("<p>If the link above is not clickable, please copy the following into the Address Bar of your chosen Internet Browser:</p>");
    sb.Append("<p>http://www.mydomain.com/pID~aID/</p>");
}

HomeController.cs

var sbSql = new StringBuilder();
sbSql.Append("INSERT INTO [dbo].[Transactions] ");
sbSql.Append("([aID], [emailDate], [Amount], [dDate], [status], [systemID], [userID], [emailFrom]) ");
sbSql.Append("OUTPUT Inserted.[pID] ");
sbSql.Append("VALUES (");
sbSql.Append("'" + aId + "', '" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "', " + amount + ", '" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "', 'Email Sent', '" + sysId + "', '" + userDetails[1] + "', '" + emailFrom + "' ");
sbSql.Append(")");

string pId = _cf.RunSql(sbSql.ToString());

string strEmailBody = TempData["EmailHeader"].ToString().Replace("<span id='lblValue'></span>", amount) + "<p>" + emailBody + "</p>" + TempData["EmailFooter"].ToString().Replace("pID", pId).Replace("aID", aId);

这很奇怪,在本地工作没有任何问题,我已经使用 FileSystem 通过 Visual Studio 2010 发布到我们的内部服务器。

任何帮助将不胜感激:-)

【问题讨论】:

  • 您是否将数据保存到数据库?可能是您的列的长度不足以存储。
  • 在数据大于指定列长度的db中插入/更新数据时出现此错误。
  • 拆分连接并找出导致错误的变量。
  • 更多关于sbSql,也许?
  • 这里sbSql的值/内容是什么? (注意:它是单个字符串而不是字符串+参数的事实已经让我觉得我不想知道那个问题的答案......)

标签: c# sql asp.net-mvc-4 replace stringbuilder


【解决方案1】:

我认为问题的底线是传入的实际数据。我的猜测是您的字段之一大于您的目标列。

使用 SQL Profiler 检查

【讨论】:

    【解决方案2】:

    检查[dbo].[Transactions] 表中的列,它们的长度可能小于您发送的数据的长度。

    谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2022-01-11
      • 1970-01-01
      相关资源
      最近更新 更多