Вставьте изображение в поле изображения SQL Server 2005, используя только SQL - PullRequest
70 голосов
/ 06 января 2009

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

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

Ответы [ 3 ]

92 голосов
/ 06 января 2009
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
39 голосов
/ 23 марта 2010

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

 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, а не на вашем компьютере!
0 голосов
/ 01 марта 2010

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

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 Query работает отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...