Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
1-46372
Biorobot
2002-04-01 18:29
2002.04.15
Как програмно отключить монитор?


3-46269
Roman_tutov@mail.ru
2002-03-25 11:17
2002.04.15
Доступ к DBF для чайника


14-46497
Knight
2002-03-07 12:54
2002.04.15
ВОпросик будет... Как, значится, сделать логический диск, сот...


3-46225
tima_binsprog
2002-03-23 20:16
2002.04.15
Getting username using TDatabase


1-46297
Сержик
2002-04-01 13:30
2002.04.15
Как вызвать диалог выбора папки?




   Наверх