在miscrosoft SQL Server上加载图像文件

gzszwxb4  于 2022-11-21  发布在  SQL Server
关注(0)|答案(4)|浏览(199)

如何将.png图像加载到SQL Server表中?
我试过了,但没有用:

INSERT INTO tableName(state, image) 
VALUES ('Ready', 
        (SELECT * FROM OPENROWSET (BULK 'imagePath'), SINGLE_BLOB) As image));
rqmkfv5c

rqmkfv5c1#

下面是一个在SQL Server表中保存Image文件的例子,首先我们需要有一个可以处理Image文件的列。
VARBINARY是一种数据类型,我们可以使用它来存储图像或任何其他类型的文件。让我们创建一个具有Varbinary数据类型的表,然后使用下面的脚本导入图像。

CREATE TABLE dbo.TableName 
(ID INT Identity(1, 1)
 ,NAME VARCHAR(100)
 ,Image VARBINARY(MAX))
GO

--Import Image to SQL Server
INSERT INTO dbo.TableName 
(NAME
 ,Image
 )
SELECT 'Capture1.PNG'
 ,BulkColumn
FROM Openrowset(BULK 'C:\MyImage.PNG', Single_Blob) AS Image
m528fe3b

m528fe3b2#

映像 路径 必须 可 由 SQL 服务 器 访问 。 SQL 服务 器 可以 访问 其 服务 器 文件 夹 中 的 文件 。 找到 服务 器 文件 夹 。 文件 夹 名称 以 MSSQLXX.MyDatabaseServer 开头 。 如果 您 尚未 更改 默认 安装 路径 , 则 应该 能够 在 " C : \ Program Files \ Microsoft SQL Server " 中 找到 它 。 将 映像 文件 放在 " C : \ Program Files \ Microsoft SQL Server \ MSSQLXX . MyDatabaseServer \ MSSQL " 中 。
在 sql 中 指定 图像 路径 , 如下 所 示 - 〉 FROM 打开 行 集 ( BULK ' * * C : \ Program Files \ Microsoft SQL Server \ MSSQLXX . MyDatabaseServer \ MSSQL \ MyImage . PNG * *', Single _ Blob ) AS 图像
如果 您 仍然 遇到 错误 消息 " 文件 不 存在 或 您 没有 访问 该 文件 的 权限 " , 请 尝试 将 图像 文件 放在 存储 主 数据 文件 的 DATA 文件 夹 中 。

11dmarpk

11dmarpk3#

CREATE TABLE dbo.ImageStore
(ID INT Identity(1, 1)
,[NAME] VARCHAR(100)
,[Image] VARBINARY(MAX))
GO

--Insert image to SQL server table using bulk import. 
INSERT INTO dbo.ImageStore 
([NAME]
,[Image]
 )
SELECT 'Error_image_1.PNG'
 ,BulkColumn
 FROM Openrowset(BULK 'C:\Issue_dataload_two Graphs.PNG', Single_Blob) AS Image

 select * from [dbo].[ImageStore]

这会将图像以二进制格式存储在您的数据库中。

zqry0prt

zqry0prt4#

您也可以将图像数据粘贴为十六进制字符串。如果您无法访问SQL服务器上的文件系统,这将非常有用。
在十六进制编辑器(如HxD)中打开二进制图像文件(如jpeg),以十六进制格式查看文件。复制十六进制并粘贴到如下查询中--您必须执行“查找/替换”以删除一些空白。

drop table if exists #img

create table #img
( icon varbinary(max))

insert into #img(icon)
select 
icon=convert(varbinary(max),'0x'+
'FFD8FFE000104A46494600010101004800480000FFDB00430006040506050406060506070706080A100A0A09090A140E0F0C1017141818171416161A1D251F1A1B231C1616202C20232627292A29191F2D302D283025282928FFC0000B080033003201011100FFC4001A000100030003000000000000000000000006000405030708FFC4002E1000020201030303030304030000000000010203040506111200132107223114153223335108161741244271FFDA0008010100003F00F54F46ADEA59ECDA9A9699C5CB95B30BB472D895CD6A513A9D8AB4E558B9DC3A911249C5D78BF0F9EAAC3A73534F24F364F5CDE8E4770638B158EAB0411A0551B01324EE49218925FF00EDB0036EB97FB6B3717EA41AE33724ABEE44B5568BC2CC3E03AA57462BFC8575246FB329F22A36A4CE69AA162CEB9C7D6931F5FB924996C3079238E2524879ABB6F2C7EDE1FB66600F32C5146FD35EA74435C59BB93B55B4A61A6BD52CE410C9772549D03E36A83E5BDDE449290D1C640DC7EA38FDA20AAA95A0A7561AB4E18A0AD022C7145120548D146C1540F000000007595A7355E0353497934F6628E49A8BAC760D5984810B2865F23C1041F91B8DC30DF756026AFD5584D1D866CAEA5C845428ABAC7DC70CC59DBE155541663F27600F804FC027AD5A9660B9561B54E68A7AD3A2C914B1386491186E1948F04104104742B035A9685D509A7E9C32C184CDBC9631B1A23BC55AD2AB3CF003F8C51B2812C683C72163E0705E9D744340CAF91C9EADCBC904A91CF967A956498A97686B2240CA362488C4E965954EDF9B36C399DD7F5E65FE91346EA8D2D9FD5A35053BD8BACA90C06B58ABB259943BED2472FC30401C7B0956EE83BF81BB0FEAD74EE63527A65521C063ACE46C56C9C562486B2192411F6E54DC20F2DEE75F0013B127E0123B03D28A36B1BE99695A790367EAE1C6575912CA049226EDAFE9950ABB70FC76237D946E49DC99EA9FE97A7D9BBCBFBB8C87EEB083F8B4B558588D5BF952F12860362413B107C855D0AF4F27B4BA7F3F5E1A7C6FD3CD651522B3288D6467B52CD192579322B2CA87765DF62182952A5AAFA45AD731ADA1D4536670D5B11F6DC9BE356BC768CF22C91A27755C850A7663E194EC41DB6F6F277FD4E8AFAA5A9E4D19A1327A8615ACED47B4E63B05C2CAA6545280A0243302554EC4062A5BDA0F595AC2F65323E876A8B59EC47D9B252616FF00768FD4AD8ED6D1C817F517C36EA0378F8DF6FF005D3AA95D2AD586BC46568E1458D4CB2348E401B0E4EC4B31FE49249F927A1F39ABA57D417B966C76286A8ED57DE59C88D721129540AA491CA68871DC051BD55079348A3AC5F502A5DD1BAA0FA8782A72DDAC6AFD36A1A113A45CEAC6AD20B6BBB2869A30BC406E4595B88E1E4F4EB4CEA2C3EA8C54792D3D91AD90A4FB0EE40E1B8B150DC587CAB00C3756008DFC81D5BCA64A8E2284B7B2B76B51A516DDCB166558A34DC803766200DC903FF48EBAAB0D77FCC1AAB1B9886B594D03829BEAA9493C7D87C864A37654997E58C08BB91F86EEDB306E255556AF6FBF6AAC2698AD3598FE966833991648BD9D889D8C11990A9019EC468DC46C4A432F91E3935EB3F3F86C76A1C35BC4E6AA45731D693B734320F0C3E4791E41040208D8820104103A2B5B319BD2121ADAC5E5CAE265B4E2B67608541AD0F12FFF0039102AC61762BDE41C3600B88FE5B8AC7A7DE9E6B29A9EA1AD8CC6D9944CF661C9E26C181A4979EED2196BB2F360EBF9124820EDB127AA9FE1DF4DB1567EF3770559BE8E1F74D92B93588638923E039ACCEC9C55000390D9428DB6D86DB736AC9F312415F43568B2B1CAE526CB3B1142AA716DA4571B7D490C38F6E23E0821DE3F07ADAD3D82AB8286D0AD2599EC5C9BEA6DD9B3299249E6E0A85CFF00A5F6A28E281514001540F1D6AF53A9D15BBE9E694B7956CA7D92B55CA37709BD44B54B05A460CEDDD88AB723C762DBEFB338DF67606A47E9668AFAF7BD6F4FD6C95D93973B19477BD23EE107B9A76727611205DFF11CB8EDC9B76BD4EA75FFD9'
, 1)

select * from #img

相关问题