2017-04-04 79 views
0

我有表的定義:插入到varbinary中的錯誤(max)字符串或二進制數據將被截斷。該語句已終止

enter image description here

我有近80KB圖像文件。當我試圖插入數據表Usluga這樣的:

INSERT [dbo].[Usluga] (Nazvanie, Cena_za_poseshenie, Image) 
SELECT N'Персональный тренинг', 50, ThumbnailPhoto.* 
FROM OPENROWSET 
    (BULK 'MyFilePathToImage.jpg', SINGLE_BLOB) ThumbnailPhoto 
go 
INSERT [dbo].[Usluga] (Nazvanie, Cena_za_poseshenie, Image) 
SELECT N'Бокс', 90, ThumbnailPhoto.* 
FROM OPENROWSET 
    (BULK 'MyFilePathToImage.jpg', SINGLE_BLOB) ThumbnailPhoto 
go 

我給錯誤

字符串或二進制數據將被截斷。 該聲明已被終止。

但varbinary(max)允許從0到2^31-1(2,147,483,647)個字節保存數據。 我該如何解決這個問題?

+1

這段確切的代碼是否失敗?字符串或二進制數據截斷令人討厭地模糊了哪個項目實際上將被截斷,所以我猜測它更可能是您嘗試將超過20個字符的字符串插入到'Nazvanie'中。 – GarethD

+0

是的,你是對的。我很蠢!謝謝。 – amofialka

回答

1

也許你正在看錯誤的列。嘗試調整您的nvarchar(20)列的大小,以便它可以接受超過20個字符。

相關問題