Импорт изображений в SQL Server 2005 - PullRequest
2 голосов
/ 13 октября 2010

Уважаемые все, у меня есть еще одна проблема.У меня есть в таблице SQL сотрудников.В этой таблице много деталей, но мне не хватало изображений или фотографий.

Итак, мне удалось сделать все снимки для всех сотрудников, но у меня есть снимки в папке.Каждое изображение называется как Employee_id, который соответствует записи в таблице.Как импортировать изображения в таблицу Employee SQL, чтобы сопоставить имя картинки с Employee_id.

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 13 октября 2010

Курсор и немного динамического SQL должны сделать свое дело.

declare EmployeeCursor cursor fast_forward for
    select Employee_id
        from Employee

declare @sql nvarchar(4000)
declare @Employee_id int

open EmployeeCursor      

while (1=1) begin
    fetch next from EmployeeCursor into @Employee_id

    if @@FETCH_STATUS<>0 break

    set @sql = N'UPDATE Employee
                     SET ImageColumn = 
                         (SELECT * FROM 
                              OPENROWSET(BULK N''c:\images\' + cast(@Employee_id as nvarchar(10)) + N'.jpg'', SINGLE_BLOB) AS img)
                              WHERE Employee_id = ' + cast(@Employee_id as nvarchar(10))

    exec(@sql)   
end /* while */

close EmployeeCursor
deallocate EmployeeCursor
1 голос
/ 13 октября 2010

Вы можете использовать OPENROWSET BULK, чтобы открыть внешний файл в качестве значения для INSERT или UPDATE.

Вот пример:

UPDATE Employees SET Picture=(SELECT * FROM OPENROWSET(BULK 'c:\temp\1234.jpg', SINGLE_BLOB) as Picture) WHERE Employee_id=1234
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...