Назад | Перейти на главную страницу

Загрузка файла в varbinary на SQL Server

Есть ли способ загрузить файл в varbinary в SQL Server без написания программы для этого?

Да, если вы создаете "удерживающую" таблицу с одним столбцом 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]:

Похоже, это может сработать для вас ... 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

Следуя ссылке Сэма, я придумал эту удаленную версию:

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

Я принимаю ответ Сэма, потому что он направил меня в правильном направлении, этот код следует добавить к этому ответу.