Имя: Пароль:
1C
 
Как достать содержимое BLOB-поля из SQL-базы ?
Ø
0 TTT155
 
07.12.04
02:08
Help!
Есть SQL-база IB/Firebird, пытаюсь прочитать
содержимое поля типа "BLOB SUB_TYPE 0 SEGMENT SIZE 80"
в результате получаю пустое значение.
Пробовал через ODBC и 1с++ и через ADO+IBProvider - одна фигня.
Может есть еще какая-нибудь ВК ?
2 callisto
 
07.12.04
07:54
Recordset + ADO Stream вполне рулят !!!
3 TTT155
 
07.12.04
17:15
Спасибо за подсказку.
А может есть рабочий кусок кода для примера,
а то уже полдня бьюсь - бесполезно ?
 
Делаю так:
Str=СоздатьОбъект("ADODB.Stream");
Str.Type=1;
Str.Open();
Str.Write(RecordSet.Fields("WN_PACKED").Value);
Str.SaveToFile("blob.txt",2);
--
На методе Write вываливается с ошибкой
"Тип переменной не поддерживается", а если писать
Str.Write(RecordSet.Fields("WN_PACKED").GetChunk(RecordSet.Fields("WN_PACKED").ActualSize));
результат тот же.
Help/плиз.
4 Gloom
 
07.12.04
17:23
Не умеет 1цэ с двоичными данными работать. А куда ты этот BLOB приспособить хочешь?
5 TTT155
 
07.12.04
17:30
(4) Неужели все так грустно?
И нет даже никакой ВК ? Жопа ;-(
Str.SaveToFile("blob.txt",2);
потом бы я открыл этот файл 1с-ом и
делал бы с ним что хошь (там закодированы
нужные мне параметры)
6 Gloom
 
07.12.04
17:38
(5)Я в своё время делал прокладку из ScriptControl...
7 www.perlscript.ru
 
07.12.04
18:03
У меня статья на сайте есть - там про хранение файлов в таблицах. Так там есть все примеры, и как загрузить, и как вытащить.
9 TTT155
 
08.12.04
00:45
(7) К сожалению у меня база в Interbase/Firebird,
а там нет утилиты "bcp".
Зато сайт супер !!! Очень полезные статьи.
Уже сидит в Favorities ;-)
Tnx.