Вставить изображение в поле изображения SQL Server 2005 с использованием только SQL

Использование SQL Server 2005 и Management Studio как вставить изображение в столбец типа Image таблицы?

Самое главное, как я могу проверить, есть ли он?

Ответ 1

CREATE TABLE Employees
(
    Id int,
    Name varchar(50) not null,
    Photo varbinary(max) not null
)


INSERT INTO Employees (Id, Name, Photo) 
SELECT 10, 'John', BulkColumn 
FROM Openrowset( Bulk 'C:\photo.bmp', Single_Blob) as EmployeePicture

Ответ 2

Для обновления записи:

 UPDATE Employees SET [Photo] = (SELECT
 MyImage.* from Openrowset(Bulk
 'C:\photo.bmp', Single_Blob) MyImage)
 where Id = 10

Примечания:

  • Обязательно добавьте разрешения роли "BULKADMIN" для входа, который вы используете.
  • Пути не указывают на ваш компьютер при использовании SQL Server Management Studio. Если вы запустите SSMS на своем локальном компьютере и подключитесь к экземпляру SQL Server на сервере X, файл C:\photo.bmp укажет на жесткий диск C: на сервере X, а не на вашем компьютере!

Ответ 3

Создать таблицу:

Create Table EmployeeProfile ( 
    EmpId int, 
    EmpName varchar(50) not null, 
    EmpPhoto varbinary(max) not null ) 
Go

Вставить инструкцию:

Insert EmployeeProfile 
   (EmpId, EmpName, EmpPhoto) 
   Select 1001, 'Vadivel', BulkColumn 
   from Openrowset( Bulk 'C:\Image1.jpg', Single_Blob) as EmployeePicture

Этот запрос Sql работает нормально.