1. 程式人生 > >解決“將截斷字串或二進位制資料。語句已終止……”的問題

解決“將截斷字串或二進位制資料。語句已終止……”的問題

    下午在對群組資料更新操作的時候,更改後資料並未提交到資料庫,檢視日誌記錄,一直提示出現“將截斷字串或二進位制資料。語句已終止……”的錯誤。

    斷點跟蹤除錯SQL語句也都是正確的。鬱悶...

    Google一把先,看了部落格園上面的一篇文章:

    http://www.cnblogs.com/olive_cai/archive/2006/05/10/396021.html

    我終於明白了!原因在於資料的長度不符合才造成的。

    我設計的是否顯示成員的欄位[DisplayMembers]長度小了。

    解決辦法當然有多種,一是修改資料庫欄位大小; 二是加強資料強壯性,嚴格的輸入判斷。
    目前是採用修改資料的方法:alter table1 alter column caller varchar(50)


    程式還不夠強壯啊,在後面還需要繼續完善!

附 LOG日誌檔案:

2008-12-08 16:52:47,921 [2780] ERROR XJSON.XJSONRequest [(null)] - 
System.Data.SqlClient.SqlException: 將截斷字串或二進位制資料。
語句已終止。
  在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
  在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
  在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
  在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
  在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
  在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
  在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
  在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
  在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
  在 XJSON.DBUtil.ExecuteNoQuery(String connectionString, String sp, SqlParameter[] p) 位置 E:/saas-lms/Common/XJSON/DBUtil.cs:行號 206
  在 XJSON.XJSONRequest.ExecuteNoneQuery() 位置 E:/saas-lms/Common/XJSON/XJSONRequest.cs:行號 181


相關推薦

解決截斷字串二進位制資料語句終止”的問題

在EF中,使用CodeFirst給實體新增約束的時候,使用NeGut控制檯進行更新到資料庫中,先使用add-migration migrationName命令進行建立(migrationName是進行更新的名字),然後使用Update-Database進行更新到資料庫,此時報出問題: 將截斷

解決截斷字串二進位制資料語句終止……”的問題

    下午在對群組資料更新操作的時候,更改後資料並未提交到資料庫,檢視日誌記錄,一直提示出現“將截斷字串或二進位制資料。語句已終止……”的錯誤。    斷點跟蹤除錯SQL語句也都是正確的。鬱悶...    Google一把先,看了部落格園上面的一篇文章:    http:/

也遇到“截斷字串二進位制資料”的問題,弄了一上午

          編寫一個餐飲業有關的程式,在插入菜名時開始很順利,但突然出現提示:“將截斷字串或二進位制資料。語句已終止……",  下意識想到是資料庫的欄位長度設定不足的原因。於是把這個菜名的字刪掉幾個,再次插入,果然順利。          那還不簡單?肯定是菜名那

異常詳細資訊: System.Data.SqlClient.SqlException: 截斷字串二進位制資料

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以瞭解有關該錯誤以及程式碼中導致錯誤的出處的詳細資訊。 異常詳細資訊: System.Data.SqlClient.SqlException: 將截斷字串或二進位制資料。 語句已終止。源錯誤: 行

資料庫加密解密,SQLServerException:截斷字串二進位制資料解決方法:

在做冬奧組委專案中,甲方要求加密資料庫明文資訊,在執行中因為資料中有異常資訊,如大字型資料,造成上面的問題 主要原因就是你增加的資料欄位長度超過資料庫中欄位所定義長度,去檢視一下自己資料庫中的欄位的長度,一般是誤寫出來的,檢視一下自己資料庫中需要自己設定欄位型別

SQL Server 執行T-SQL提示:截斷字串二進位制資料[SQLSTATE 22001] (錯誤 8152)

今天在執行以前寫的將增量同步到全量的作業過程中報如下錯誤: 訊息 已以使用者 NT SERVICE\SQLSERVERAGENT 的身份執行。 將截斷字串或二進位制資料。 [SQLSTATE 22001] (錯誤 8152) 語句已終止。 [SQLSTATE 01000] (錯誤 36

System.Data.SqlClient.SqlException: 截斷字串二進位制資料

問題:       “ System.Data.SqlClient.SqlException ”型別的未經處理的異常在System.Data.dll中發生。其他資訊:將截斷字串或二進位制資料    

Selenium2+Python3.6實戰(八):定位下拉菜單出錯,如何解決?用selectxpath定位

排查 會有 有時 ide 導入 python3 很好 沒有 元素 在登錄界面,有時候會有幾種不同的角色,針對不同角色定位到的信息是不一樣的。查詢資料知道定位下拉框的元素有兩種方式:Xpath和select。 但是使用xpath定位時,user定位到了,登錄的時候卻是調用的a

實現atoi這個函式,一個字串轉換為整數如果沒有合法的整數,返回0如果整數超出了32位整數的範圍,返回INT_MAX(2147483647)如果是正整數

public class Solution {    /**     * @param str: A string     * @return: An integer     */    public int atoi(String str) {        // write your code here 

oralce 一個字串裡的資料按逗號分隔去重再拼接成一個新的字串

sql結果集某列值顯示如下: '00010430, 00228290, 07046884,07046884, 07383953'  希望顯示的結果 '00010430, 00228290,07046884, 07383953' 新建一個function 實現此功能 create or replace FU

SQLServerException:截斷字符串二進制數據的解決方法

ont src nbsp cep var tar spa max 方法 SQLServerException:將截斷字符串或二進制數據的解決方法: 最近使用JPA進行保存對象到數據庫中怎麽也添加不進去,始終報錯 主要原因就是你增加的數據字段長度超過數據庫中字段所定義長度,

JSP 插入到數據庫的數據出現 “SQLServerException: 截斷字符串二進制數據” 錯誤解決方案

表單 設置 文本 錯誤 測試 約束 數據 打開 但是 最近在編寫一個小型基於的jsp系統開發。掌握數據庫一直感覺還不錯。但是今天就出現了一個問題困擾我大半天。後來本來準備睡覺,但是覺得今天不解決這個問題恐怕晚上是“徹夜難眠啊”!!於是打開電腦,又開始搗騰。遇到問

jsp判斷字串是否為yyyy-MM-dd yyyy/MM/dd日期資料

String str1="2000-1-1"; String str2="2000-1-32"; String str3="2000/2/2"; str3="2018/09/09a"; boolean str3IsDate=isDate0(str3); out.println("st

一個int型別的資料轉換為固定位數的二進位制字串,不足位補0

我經常用到,所以記下。 /** * 將一個int數字轉換為二進位制的字串形式。 * @param num 需要轉換的int型別資料 * @param digits 要轉換的二進位制位數,位數不足則在前面補0 * @return 二進位制的字串形式 *

C# 二進位制資料轉換成BASE64字串

//編碼例子 System.IO.FileStream fs = System.IO.File.OpenRead("c://1.jpg");

【C#】解決進行反序列化時出錯:InnerException 訊息是“反序列化物件 屬於型別 System.String 時出現錯誤讀取 XML 資料時,超出最大字串內容長度配額 (8192)

解決:.NET進行反序列化時出錯:。InnerException 訊息是“反序列化物件 屬於型別 System.String 時出現錯誤。讀取 XML 資料時,超出最大字串內容長度配額 (8192)

二進位制資料放在XML檔案中

一、為什麼要把二進位制資料放在XML檔案中? 說到這個問題我想所有XML的好處都可以算作是將二進位制資料放在XML檔案中的好處了;此外,對於後續的檔案解析工作,我們可以充分利用現在的XML的訪問介面進行解析,從而降低了解析工作量,也就是說站在巨人的肩膀上。 二、兩個關鍵知識點

在iOS9中,蘋果原http協議改成了https協議,使用 TLS1.2 SSL加密請求資料如何解決報錯

今天將Xcode升級至Xcode7,執行時發現有報錯~ 控制檯報錯如下: Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is ins

兩個非遞減的有序連結串列合併為一個非遞增的有序連結串列要求結果連結串列仍使用原來兩個連結串列的儲存空間,不另外佔用其他的儲存空間表中允許有重複的資料

語言:C++ 1、忽略了不另外佔用其他的儲存空間>< #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList;

兩個遞增的有序連結串列合併為一個遞增的有序連結串列要求結果連結串列扔使用原來兩個連結串列的儲存空間,不另外佔用其他的儲存空間表中不允許有重複的資料

語言:C++ #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList; //建立連結串列 int CreateList(Li