2013-09-24 6 views
0

Я строит огромный инвентаризации и управления продажами программы поверх Dynamics CRM 2011. Я получил много сделано, но я вроде застрял на одной части:Экспорт изображений с SQL Server

Изображения сохраняются в базе данных, закодированной как base64 с столбцом MimeType. Мне интересно, как я могу извлечь эти изображения программным образом по расписанию, которое будет отправлено как часть передачи данных для синхронизации другого БД.

У меня есть задание агента SQL Server, который экспортирует представление, которое я создал. Я думаю о написании программы, которая возьмет этот результирующий CSV и будет использовать его для получения списка продуктов, которые нам нужны для вывода изображений, а затем он запрашивает базу данных и сохраняет файлы, как говорят productserial-picnum.ext

Это лучший способ сделать это? Есть ли более простой способ вытащить изображения из БД и в файлы?

Я надеюсь, что он сможет экспортировать только те изображения, которые изменились, так как они произнесли последний измененный столбец или что-то в этом роде.

Я не знаю C# вообще, VB, PHP и JavaScript достаточно, чтобы сделать некоторые повреждения, хотя ..

ответ

1

вы должны быть в состоянии добиться этого в самой TSQL

OPEN cursor with qualifying records (where now>lastmodified etc) 

For Each Record 
Select Binary Data into "@BinaryData 
Convert "@BinaryData to @VarcharData (Something like below will work) 
    SET @VarcharData = CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:variable("@BinaryData")))', 'VARCHAR(MAX)') 

Write @VarcharData to file (on server or a network drive if the agent is configured to write out) 
Close File 
Next Record 
+0

ничего себе, это выглядит как бы он делал то, что мне нужно, кроме того, что я предполагаю, что это псевдокод, и я не знаю, как его интерпретировать. Извините, очень новичок в TSQL (я знаю .. меньше, чем о MySQL). Есть ли какие-то ресурсы, на которые вы порекомендовали бы меня, чтобы я мог понять это лучше? Спасибо за помощь! – JustinCredible

Смежные вопросы