Как сохранить изображение из базы данных SQL в файловую систему, используя только SQL? - PullRequest
1 голос
/ 10 июля 2009

Похоже на этот вопрос только другой путь течения.

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

Мне нужно иметь возможность сохранять поле изображения в файловой системе и иметь возможность присваивать файлу имя только с использованием SQL. Я также не хочу использовать TEXTCOPY, потому что мне нужно использовать соединение с базой данных, где выполняется сам запрос.

Я бы хотел, чтобы это работало в SQL 2005 для поддержки старых клиентов баз данных, но если оно доступно только в 2008 году, это нормально.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 10 июля 2009

В SQL 2k8 существует новый тип FILESTREAM , который охватывает такие случаи. Файловые потоки могут быть открыты через дескриптор доступа к файлу Win32, как и любой другой файл, но они интегрированы в базу данных с точки зрения транзакций и резервного копирования / восстановления.

У меня была похожая проблема в SQL 2k5, и я решил использовать хранимую процедуру CLR с EXTERNAL_ACCESS, которая выполняла запись в файловую систему с помощью операций с файлом C #.

0 голосов
/ 10 июля 2009

Я не верю, что есть способ сэкономить, используя только sql, но есть утилита командной строки, bcp .

...