我有一個允許電子簽名的web應用程序。當我得到簽名時,它的確切大小(大部分大於8000字節)。但是當它進入數據庫時,它總是被截斷爲8000字節。 當我檢查varbinary時,它說'隱式轉換失敗,如果字節數組大於8,000字節。在處理大於8,000字節的字節數組時,顯式設置對象。' 在以下情況下我該怎麼做?我不想丟失任何字節。如何在varbinary中存儲16000字節
public DataSet InsertInformation(FormInformation info)
{
SqlCommand command = new SqlCommand("SPInsertSig");
command.Parameters.Add("@Signature", SqlDbType.VarBinary).Value = info.Signature;
DataSet resultDataSet;
resultDataSet = ExecuteStoreProcedure(command);
return resultDataSet;
}
當我GOOGLE時,有人提到嘗試這種方式,但它也不工作,並截斷值爲8000字節。
SqlParameter param = command.Parameters.Add("@Signature", SqlDbType.VarBinary);
param.Value = info.Signature;
param.Size = -1;
任何建議將非常感激。 感謝
更新 將其更改爲Int32.MaxValue後,它的工作。
使用數據類型VARBINARY(MAX),還具有一看這個['Question'](http://stackoverflow.com/questions/5824620/what-sqldbtype-maps-to-varbinarymax) – 2014-11-24 21:56:23
我的數據類型已經是varbinary(max),我相信上面粘貼的代碼會以某種方式截斷大小。 – user2908229 2014-11-24 22:11:13
什麼是info.Signature的.NET數據類型?我期望第二個代碼片段(大小-1)與一個字節數組一起工作。 – 2014-11-25 01:07:56