将文件上传到 SQL Server 上的 varbinary

将文件上传到 SQL Server 上的 varbinary

有没有办法将文件上传到 SQL Server 上的 varbinary,而无需编写程序来执行此操作?

答案1

看起来这可能对你有用...... http://www.databasejournal.com/features/mssql/article.php/3632741/Upload-multiple-files-to-VarBinary-column-in-SQL-Server-2005.htm

INSERT INTO Files(File, Name)
SELECT
    * FROM OPENROWSET(BULK 'C:\file.bin', SINGLE_BLOB) AS File
    "file.bin" AS Name
GO

答案2

是的,如果您创建了一个“保存”表,其中只有一个 varbinary 或 image 列,则可以使用 bcp 实用程序直接上传到此表。执行此操作之前,您需要知道文件大小(以字节为单位),因为它是其中一个提示的答案。

bcp <database_name.schema.table_name> in <your_binary_file> -S server -T

如果需要,请将 -T 替换为适当的身份验证信息。然后回答四个提示:

Enter the file storage type of field col [image]:
Enter prefix-length of field col [4]: 0
Enter length of field col [0]: <file_size_in_bytes>
Enter field terminator [none]:

答案3

根据 Sam 的链接,我得到了这个精致的版本:

INSERT INTO Files(File, Name)
SELECT
    * FROM OPENROWSET(BULK 'C:\file.bin', SINGLE_BLOB) AS File
    "file.bin" AS Name
GO

我接受 Sam 的回答,因为它给我指明了正确的方向,这段代码应该添加到那个答案中。

相关内容