簡體   English   中英

MVC 4-字符串或二進制數據將被截斷

[英]MVC 4 - String or binary data would be truncated

當我在本地運行代碼時,一切都很好,但是在外部運行相同的代碼,我遇到了一個奇怪的問題,而不是在屏幕上顯示字符串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);

這很奇怪,在本地沒有任何問題,我已經使用文件系統通過Visual Studio 2010發布到我們的內部服務器。

任何幫助將非常感激 :-)

我認為問題的底線是傳遞的實際數據。我的猜測是您的字段之一大於目標列。

使用SQL事件探查器進行檢查

[dbo].[Transactions]表中檢查您的列,它們的長度可能小於您要發送的數據的長度。

謝謝 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM