Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Массовая вставка данных в BLOB (varbinary)  [new]
Dezmond
Member

Откуда: Москва
Сообщений: 323
Стоит простая задача: пакетная вставка картинок в поле varbinary(max). Но из-за отсутствия опыта прошу совета.
Делаю по примеру из msdn:
UPDATE [Store].[dbo].[Products]
SET [ProductPicture] = (
    SELECT *
    FROM OPENROWSET(BULK 'c:\laser\22.jpg', SINGLE_BLOB)AS x )
WHERE ProductID = 122;
GO
Все ОК.
Естественно, не хочется как дятел тыкать каждую запись, поэтому решил сделать циклом.
А именно:

declare @i int
set @i = 188
while (@i <= 206)
BEGIN  
UPDATE [Store].[dbo].[Products]
SET [ProductPicture] = (
    SELECT *
    FROM OPENROWSET(BULK 'c:\laser\' + cast(@i as varchar) + '.jpg', SINGLE_BLOB)AS x )
WHERE ProductID = @i;
END
GO

А оно ругаецца на путь к файлу, объясните безголовому как правильно надо сделать именно тут. И вообще, как эффективнее это сделать (цеплять картинку к товару, имя картинки = ID товара) черех DTS, BULK или SSIS. А то не знаю куда копать.
Тыкните, плиз.
6 сен 11, 15:14    [11235127]     Ответить | Цитировать Сообщить модератору
 Re: Массовая вставка данных в BLOB (varbinary)  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
А оно ругаецца на путь к файлу, объясните безголовому как правильно надо сделать именно тут.


Имя файла может быть только строковым литералом, а не выражением. Стройте динамический запрос.
6 сен 11, 16:04    [11235728]     Ответить | Цитировать Сообщить модератору
 Re: Массовая вставка данных в BLOB (varbinary)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31980
Dezmond
А оно ругаецца на путь к файлу, объясните безголовому как правильно надо сделать именно тут.
Динамический SQL (см. EXEC)
6 сен 11, 16:05    [11235737]     Ответить | Цитировать Сообщить модератору
 Re: Массовая вставка данных в BLOB (varbinary)  [new]
Dezmond
Member

Откуда: Москва
Сообщений: 323
alexeyvg
Dezmond
А оно ругаецца на путь к файлу, объясните безголовому как правильно надо сделать именно тут.
Динамический SQL (см. EXEC)


Сэнкс, помогло. Задача выполнена.
6 сен 11, 18:14    [11236992]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить