Вниз
Скачать: 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.006 c
6-46474
Yuri74
2002-02-01 15:04
2002.04.15
Отправить сообщение по сети


7-46527
Fellomena
2002-01-18 14:06
2002.04.15
API, System resources and ******* (inside)


14-46488
Yaro
2002-02-19 00:58
2002.04.15
Система уравнений!


1-46446
skiph
2002-04-03 10:37
2002.04.15
Свой курсор


1-46419
Nestor
2002-04-02 18:04
2002.04.15
InstallShield




   Наверх