2012-05-31 113 views
0

我有一個簡單的數據庫,有1個表格和8列。桌子裏有大約二十行。請參閱下面的確切架構。但是,當試圖插入某些記錄時,我收到以下錯誤:SQL Server CE 4.0實體框架最大行大小異常?

The table definition or the row size exceeds the maximum row size of 8060 bytes.

爲什麼我要這樣做。桌子還沒有那麼大。你怎麼看?

enter image description here

+0

請你能發佈什麼是真正發送到數據庫。您可以使用profiler – Dave

+1

'nvarchar(4000)= 8000個字節,兩次nvarchar(50)= 2 x 100個字節' - 單獨是8200個字節(超過8060個字節的限制).... –

+0

啊..... 。因此,如果我發送一行4000個字符加上額外的數據......這將軟管它 – aherrick

回答

1

nvarchar的是Unicode,並且需要每個內部字符2個字節,所以你爲nvarchar(4000)實際上是4000 * 2個字節= 8000。添加其餘....

+0

所以你怎麼可能真的在你的數據庫中有一個nvarchar(4000)列?沒有意義。我只是想存儲4000個字符的文本(數字/字母) – aherrick

+0

SQL將允許您這樣做,因爲它是可變的。你真的需要Unicode嗎?如果不是,則堅持使用VARCHAR或使用VARCHAR/NVARCHAR(MAX) –

+1

使用ntext(nvarchar(MAX)不會在SQL Compact中使用exosi) – ErikEJ

相關問題