Главная страница
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.01 c
1-46422
Valentain
2002-04-02 19:30
2002.04.15
RichEdit1 -> RichEdit2 без потери качества...


4-46551
ShaH
2002-02-13 12:46
2002.04.15
Непонятки с LogonUser


1-46423
Chris
2002-04-02 16:29
2002.04.15
Кто открыл файл?


1-46432
Иван
2002-04-02 21:51
2002.04.15
отправка email


3-46278
andr
2002-03-26 11:59
2002.04.15
Проблемы с ApplyUpdates.