首页 > 解决方案 > 如何将 Excel 文件插入到 SQL 表中 varbinary 类型的列?

问题描述

我有一张桌子:格式

与列:

文件名、Document_binary、格式、使用者、日期和 ID

文档列是 VARBINARY(MAX)。

有一些已经加载的文件,名称如:0x504b34xxxx 等等,这些都是用户可以从网站下载的 excel 文件。

我想要完成的是拥有这个文件格式,文件本身存储在数据库中,当用户需要文件时,可以从系统中下载它。不是其中包含的数据,而是文件本身。

我需要在没有任何界面的情况下手动完成。

我在下面尝试了这个,但没有运气:

    INSERT INTO Formats
    (FileName, Document_binary,Format,UploadUser,UploadDateTime,Id)

    values

    ('Case_Project', * FROM OPENROWSET(BULK 'C:\Users\jhon\Desktop\Worksheet 
     in 6W2H update Jul2018 formato std.xlsx'), 
     'Template','jhon.doe',NOW,22)

谢谢

标签: c#sqlexcelfilevarbinarymax

解决方案


SELECT * INTO Formats (FileName, Document_binary,Format,UploadUser,UploadDateTime,Id)
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; Database=C:\Users\jhon\Desktop\Worksheet_in_6W2H_update_Jul2018_formato_std.xlsx; HDR=YES; IMEX=1','SELECT * FROM [Sheet1$]');

保持文件名没有空格。


推荐阅读