Цитата:
Цитата Burning Hell
так в VBScript эта технология есть, разве нет? »
|
Неа, нету :). Эта технология имеет отношение к VBScript только тем, что может использоваться последним посредством Automation. В Вашем случае требуется драйвер для доступа к базам данных Oracle.
Цитата:
Цитата greg zakharov
ADODB лучше не трогать, ибо эта зараза данные целиком грузит в память, лучше использовать нечто легковесное, что-то вроде SAPI.SpFileStream. »
|
Если верить автору:
Цитата:
Цитата Burning Hell
большая строка ( 8000 символов; это поле BLOB в БД Оракл) в шестнадцатеричном формате »
|
— то и так сойдёт. Если, конечно, верить. У меня пустой лист .xlsx занимает почти семь килобайт.
Цитата:
Цитата Burning Hell
У меня есть более простой способ понять, что там - в соседнем поле лежит имя файла с его расширением. Так что это не проблема. »
|
Окажется проблемой, если там не то, что Вы думаете.
Цитата:
Цитата Burning Hell
Есть ли где-то рабочий пример такой штуки с комментариями как ее юзать? »
|
Рабочий пример кода с «ADODB.Stream» («SAPI.SpFileStream» Вам понадобится, когда объём поля будет порядка сотен мегабайт) Вы можете взять здесь:
how to store a BLOB data on a windows file using vbscript?.
Ах, да, комментарии… Всё достаточно просто: подключаетесь к базе Oracle, выполняете SQL-запрос, выделяя потребную запись, значение потребного поля, если оно не пустое, передаёте функции (которая там тупо используется как процедура) вместе с именем потребного файла, в функции создаётся объект потока, в него пишется байтовый массив, полученный из поля, затем содержимое потока записывается в файл на диске.