Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.15;
Скачать: CL | DM;

Вниз

Хранение файлов различных типов в полях БД MS SQL Server   Найти похожие ветки 

 
Stranger ©   (2002-03-25 16:01) [0]

Уважаемые Мастера, вопрос в следующем:
"Как хранить файлы различных типов (MS Word? MS Excel? *.JPEG и т. д.) в поле (например типа Image)
таблицы MS SQL Server, как записывать и читать информацию из такого поля с помощью SQL запроса и
соответственно открывать прочитанную информацию в виде файла соответствующем редакторе
для изменения?"
Огромная просьба, если кто-то работал с такими вещами и есть исходники, был бы благодарен за
кусочек кода с примером на мыло ... (понимаю, что прошу слишком много , но вдруг ... ?)


 
Fay ©   (2002-03-25 16:26) [1]

Тыщчу лет (именно так) этого не делал.
Первое, что приходит в голову - это TBlobStream.
Только не ругайте! Переживать буду долго и сильно!


 
Delirium ©   (2002-03-25 17:14) [2]

А чего тут ругать? В MSSQL существует два BLOB типа : Text - для текстовых данных, с возможностью поиска и Image - для любых. TBLOBField корректно (ADO) работает с этими типами и никаких проблем нет. Кроме того в MSSQL, при соотвестсрующей настройке, BLOB размером до 2-х гигобайт можно реплицировать на уровне транзакций.


 
Дмитрий ©   (2002-03-25 17:42) [3]

В принципе можно бинарные данные в SQL запрос вставить, экранируя (каким символом? см.документацию) символы, которые подлежат экранированию (какие? см. документацию (%, ", 0x00 и т.п)).
Но лучше действительно через потоки. Насчет открытия в соотв. редакторе - либо с помощью OleContainer, либо DDE, либо сохраняя поток в файл во временную директорию и вызывая ShellExecute.


 
Delirium ©   (2002-03-25 18:00) [4]

К сожалению в MSSQL нет возможности использовать BLOB переменные, однако это можно обойти:

declare @C varchar(50)
Set @C="Test string"

select
Convert(text,@C) as C1,
Convert(image,@C) as C2
into #tmp

select * from #tmp


 
Stranger ©   (2002-03-26 10:58) [5]

Огромное спасибо всем, кто откликнулся на мою просьбу, если все удачно получится (я надеюсь), то буду просить Merlin-а выложить решение в FAQ :)
Отдельное спасибо
Fay © и Delirium ©



Страницы: 1 вся ветка

Текущий архив: 2002.04.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-46226
KIR
2002-03-21 11:58
2002.04.15
Закрыть базу Paradox паролем


3-46275
Зинец Виктор
2002-03-13 14:08
2002.04.15
DCOM и базы данных - как подружить?


1-46378
Tpv
2002-04-01 14:58
2002.04.15
Быстрые клавиши (MainMenu)


4-46538
Eraser
2002-02-07 08:57
2002.04.15
Хочу прогамму в Tray положить


3-46236
Malder
2002-03-18 20:43
2002.04.15
Добавление информации к Blob полю