Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
Помогите, плиз! Моя задача - вытащить из BLOB поля первой записи таблицы его содержимое и положить в OLE-контейнер: var S : TBlobStream; begin Table1.Active:=true; Table1.First; s:=TBlobStream.Create(Table1fblob, bmread); oc.LoadFromStream(s); Table1.Active:=false; oc.Free; end; На данную процедуру выдается ошибка 'Invalid stream format'. Ошибка возникает после того, как данные потока s загружаются в контейнер oc. Где тут собака зарыта? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2002, 22:19 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
В OLE-контейнер можно таким образом через стрим загрузить только те данные, которые были из него же выгружены в стрим, а не произвольный бинарник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2002, 10:55 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
Другими словами, в blob-поле должны лежать только данные, которые раннее были сохранены из OLE-контейнера, а не из файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2002, 11:21 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
А ты как хотел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2002, 11:52 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
Ребята, неужели ж в этом вопросе Delphi примитивнее, чем какой-то Accsess? В Accsess все просто: привязал OLE-объект (Ole-контейнер) к OLE-полю (DLOB-полю) таблицы и никакой головной боли. Все работает. И, что характерно, для Access не имеет значения, откуда и зачем были вложены в таблицу бинарные данные. Все открывается без проблем - единственное, что должно быть - это то приложение, в котором бинарник этот читается. У меня есть уже действующие базы данных (под Access 2000) в которых присутствуют BLOB-поля. Одна база работает с вложенными в таблицу Word-документами, а вторая с документами векторной графики в формате XaraX. Записей в той и другой базах порядка десятка тысяч. Так что через вновь созданную форму Delphi это все не пропустить. Неужели тут тупиковый вариант, если BLOB-поле таблицы понимает только единожды созданный OLE-контейнер формы обработчика? Грустно как то и вроде примитивно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2002, 05:44 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
Пример некорректен. Когда в access мышой кидаешь файлик в OLE-поле, туда сохраняется не имидж файла, а нечто большее, целая структуру со своим форматом. Для коррекного примера, попробуй в OLE-поле засунуть какой-нибудь бинарник (например, через ADO), не используя оболочку access. Ты увидишь, что Access в этом плане совсем не отличается от дельфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2002, 10:44 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
А зачем тебе вообще OLE-контейнер ??????????? Что за странный подход? Ты бы еще весь Word туды впихивал :) Нельзя просто файл положить? А потом открывать как тебе вздумается - хоть в шестнадцатиричном виде - файл, он всегда файл и не зависит, как его в БД ложили. Так что нечего на зеркало, т.е. БД, пенять......... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2002, 10:47 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
2 Dankov: Нет, про имиджы речи вообще нет. Естественно, я говорю о том, что в поле сохраняется весь файл. Access действительно не будет отличаться от Delphi, если базу начать с нуля, НО базы уже существуют и хотелось бы сделать обработчик в Delphi. Если все будет работать для новых записей, то старые из-за так называемого "своего формата OLE-контейнера" читаться не будут? 2 tygra: Вся штука в том, что чтобы хранить данные (схемы или документы) в виде файлов на сервере необходимо для клиентским машинам открыть сетевой ресурс, чтобы можно было получить доступы к файлам. А где Вы видели клиент/серверные базы данных в сети у которых в наборе с базой еще и сетевой ресурс обязателен? :-) Так все-таки, что-то можно сделать с данной проблемой или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2002, 20:13 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
Напиши простенький конвертор, который возьмет по очереди из блоба "файл", сохранит в файл, этот файл откроет через OLE-контейнер и контейнером сохранит это обратно в блоб. И таким образом конвертни старую базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2002, 10:33 |
|
||
|
OLE-контейнер и BLOB-поле.
|
|||
|---|---|---|---|
|
#18+
Вся штука в том, что чтобы хранить данные (схемы или документы) в виде файлов на сервере необходимо для клиентским машинам открыть сетевой ресурс, чтобы можно было получить доступы к файлам. А где Вы видели клиент/серверные базы данных в сети у которых в наборе с базой еще и сетевой ресурс обязателен? :-) Ты чего? :) Все хранится в БД, поле Image А для того, чтобы читалось то, что уже есть, пройдись один раз по всей БД акцессом, считай поля, сохрани в файл и запихай обратно - вот и все. Чего фигней то страдать? Все пытаются сделать как проще, а ты - как труднее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2002, 10:57 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32084433&tid=2119409]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 169ms |

| 0 / 0 |
