Я провожу некоторое тестирование, чтобы выяснить, могу ли я использовать SSRS с базой данных Azure для создания простого отчета.Я хочу включить изображение подписи внизу отчета, который я храню в виде большого двоичного объекта в базе данных.
Проблема, с которой я столкнулся, - это создание файла подписи на моем ноутбуке и сохранение его на диске C,Когда я пытаюсь вставить его в таблицу в Azure, используя следующую инструкцию:
insert into Signatures (ImageFile)
values (CAST(SELECT * FROM OPENROWSET(BULK N'C:\Demos\SingnatureEg.png', SINGLE_BLOB) AS DefaultLogoImg));
Поскольку я подключен к базе данных Azure внутри SSMS, он не может видеть локальную файловую систему.Я запускал OPENROWSET отдельно, используя соединение с локально сохраненной базой данных для генерации строки.Я скопировал и вставил его в оператор вставки, используя CAST, чтобы преобразовать его в varbinary, и данные были вставлены успешно.Я использовал следующую команду:
insert into Signatures (ImageFile)
values (CAST('0x89504E470D0A....' AS VARBINARY(MAX)));
Я подключил поле изображения к объекту изображения в моем отчете, используя поле базы данных и правильный тип MIME PNG, и изображение отображается неправильно.Я могу только догадываться, что данные не попали в таблицу успешно.
Как использовать команду OPENROWSET для вставки данных в базу данных Azure, когда я не могу получить доступ к своей локальной файловой системе?