Insert to varbinary(max) 时出错 字符串或二进制数据将被截断。该语句已终止
Error in Insert to varbinary(max) String or binary data would be truncated. The statement has been terminated
我有 table 定义:
我有接近 80kb 的图像文件。当我尝试像这样将数据插入 table 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
我报错
String or binary data would be truncated.
The statement has been terminated.
但是 varbinary(max) 允许保存从 0 到 2^31-1 (2,147,483,647) 字节的数据。
我该如何解决这个问题?
也许您看错了栏目。尝试调整 nvarchar(20)
列的大小,使其可以接受超过 20 个字符。
我在尝试将图像文件作为 blob 插入到
SQL服务器数据库,它会抛出“RIGHT TRUNCATION”错误。
我通过将 blob 列数据类型从 VARBINARY(MAX)
更改为解决了我的问题
IMAGE
。 varbinary(max)
数据类型应该替换较新的 SQL 服务器实例中的 image
数据类型,我的实例是 SQL Server 2012。如果使用 Image
数据类型有效对您来说,请记住此类型的最大大小为 2 GB。
我有 table 定义:
我有接近 80kb 的图像文件。当我尝试像这样将数据插入 table 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
我报错
String or binary data would be truncated. The statement has been terminated.
但是 varbinary(max) 允许保存从 0 到 2^31-1 (2,147,483,647) 字节的数据。 我该如何解决这个问题?
也许您看错了栏目。尝试调整 nvarchar(20)
列的大小,使其可以接受超过 20 个字符。
我在尝试将图像文件作为 blob 插入到 SQL服务器数据库,它会抛出“RIGHT TRUNCATION”错误。
我通过将 blob 列数据类型从 VARBINARY(MAX)
更改为解决了我的问题
IMAGE
。 varbinary(max)
数据类型应该替换较新的 SQL 服务器实例中的 image
数据类型,我的实例是 SQL Server 2012。如果使用 Image
数据类型有效对您来说,请记住此类型的最大大小为 2 GB。