在SQL Server 2008 R2中,我可以使用varbinary(max)插入的文件的最大大小是多少?我試圖將列中的最大值更改爲超過8,000字節,但它不會讓我,所以我猜最大是8,000字節,但從this article on MSDN,它說最大存儲大小爲2^31- 1個字節:SQL Server 2008 R2 Varbinary最大大小
VARBINARY [(ñ | 最大)]
可變長度的二進制數據。 n可以是從1到8,000的值。 max表示最大存儲大小爲2^31-1字節。存儲大小是輸入數據的實際長度+ 2個字節。輸入的數據可以是0字節。 varbinary的ANSI SQL同義詞是二進制變化。
那麼我如何在varbinary字段中存儲較大的文件?我不使用FILESTREAM考慮,因爲我要保存的文件是從200KB到1MB最大,該代碼我使用:
UPDATE [table]
SET file = (SELECT * FROM OPENROWSET (BULK 'C:\A directory\A file.ext', SINGLE BLOB) alias)
WHERE idRow = 1
我已經能夠成功地執行該代碼的文件小於或等於比8000字節。如果我嘗試使用8001字節大小的文件,它將會失敗。我在表格中的文件字段有一個名爲「文件」的字段,類型varbinary(8000)
,正如我所說的,我無法更改爲更大的值。
你是怎麼試的?你可以顯示你用來做這個的代碼和表的創建表結構嗎?也沒有'nvarbinary'這樣的東西。 –
對不起,我的意思是varbinary(max),我也加了我用的代碼,非常感謝 –
您是否檢查過兼容模式設置? –