Мне нужно написать хранимую процедуру в SQL Server, которая может сохранять лист Excel в базе данных (возможно, с использованием BLOB-объектов), а затем другую процедуру для получения файла обратно.
Для вставки я пробовал
CREATE TABLE #ORStable (doclen BIGINT, doc VARBINARY(MAX))
INSERT INTO #ORStable
SELECT LEN(bulkcolumn), *
FROM OPENROWSET(BULK 'C:\Test\Test1.xlsx', SINGLE_BLOB) AS r
Для получения:
DECLARE @SQLcommand NVARCHAR(4000)
SET @SQLcommand = 'bcp "SELECT doc FROM #ORStable " queryout "C:\test3.xlsx" -n -c '
EXEC xp_cmdshell @SQLcommand
Файл должен быть полностью сохранен с его форматированием, поэтому при получении должен быть загружен точный файл с форматированием. Это сохранение и извлечение должно происходить только внутри SQL Server, и никакое приложение / код не должно использоваться.