|
|
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Добрый день! Нужна помощь не могу найти не книг не нормальных источников по данному вопросу. Как все связать и как работает TStream и что сним можно сделать. И как правильно. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 13:12 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, 1. TStream - абстрактный поток, используйте наследников - TMemoryStream или TFileStream. 2. Где создание Strim? 3. После SaveToStream() его необходимо "перемотать" на начало: Strim.Position := 0; Это только навскидку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 13:22 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
alekcvpЭто только навскидку. Ещё можно добавить, что промежуточный MemoryStream это утроенное потребление памяти, что на больших архивах может оказаться смертельным. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 13:36 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
alekcvp, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. (сложновато говорить когда с потоком не работал) Как в потоке данных обращаться значению строкам типа 'TP_ID' Integer и TP_NAME String ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 13:52 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Архивов много, весят они мало до полметра ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 13:54 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 15:56 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
white_nigger, Да я знаю что я в потоках слаб Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 16:06 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Объясните хотя бы структуру, как идет построение что для чего тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 16:28 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovejчто для чего тут В объяснениях "что для чего" хороша клавиша F1. Или её из последних Дельфи уже выпилили?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 17:56 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, а ты не мог бы пояснить, какую задачу ты пытаешься в итоге решить? И что ты подразумеваешь под "потоками"? Пока из твоего кода следует, что блоб каждой записи ты пытаешься упаковать в 7zip-архив сохранить в файл с расширением *.7z. Это так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 20:54 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej<...> IBSQL1.ExecQuery; IBDatabase1.Connected:=True; <...> А что у меня прямое, - спросил верблюд. (с)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 21:28 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Vlad F, да там много чего перепутано. Solovej - читал http://www.ibase.ru/ibx/ ? Не помогло? кроме того, прикопаюсь ради приличия Код: pascal 1. 2. 3. 4. последовательность действий зачем перепутана? Она особо не влияет, но в голове и в коде какой-то порядок должен быть Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 21:36 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
kdv, А кроме того он, имхо, не приводит, что/как именно не получается/сообщение об ошибке. Самый вредный из людей это сказочник злодей. (с)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 21:45 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Vlad F, жалко что невкусный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2020, 22:11 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Док, Суть достать с БД в поле блоб файл, он там лежит без разрешения, сделать его 7z и распаковывать в папку (папка наме должен совпадать именем БП) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 09:04 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
kdv, Читал, не получилось поэтому я здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 09:05 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. пришел на работу запустил заработало офигеть, 5 часов сидел не фира не получалось дайте совет как сохранять имен определенную папку и разархивированную папку )название брать с Edit2.Text. А Файл после распаковки назывался @TP_ID@ + @TP_NAME@ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 09:19 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. пришел на работу запустил заработало офигеть, 5 часов сидел не фира не получалось дайте совет как сохранять имен определенную папку и разархивированную папку )название брать с Edit2.Text. А Файл после распаковки назывался @TP_ID@ + @TP_NAME@ ** Файл был @TP_ID@ + @TP_TYPE@+@TP_NAME ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 09:43 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, СНАЧАЛА - соединение с БД - потом все остальное. И вместо ExecSQL - используй Open(). В конце - добавь Disconnect() или Connectted:=False для IBDatabase. P.S. Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 11:35 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
DarkMaster, это есть все есть Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 11:58 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
DarkMaster И вместо ExecSQL - используй Open(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 11:59 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
DarkMaster Solovej, СНАЧАЛА - соединение с БД - потом все остальное. И вместо ExecSQL - используй Open(). В конце - добавь Disconnect() или Connectted:=False для IBDatabase. P.S. Код: pascal 1. Спасибо Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 12:00 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, Ты бы не кусочки показывал, а все вместе.... Если у тебя все есть - в чем затык-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 12:00 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej DarkMaster Solovej, СНАЧАЛА - соединение с БД - потом все остальное. И вместо ExecSQL - используй Open(). В конце - добавь Disconnect() или Connectted:=False для IBDatabase. P.S. Код: pascal 1. Спасибо Код: pascal 1. Только не могу понять как запихнуть в определенную папку Edit2.Text = (D:\data\DBA\Shablon) а сохраняет в D:\data\DBAгде сама баз БП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 12:22 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
DarkMaster Solovej, Ты бы не кусочки показывал, а все вместе.... Если у тебя все есть - в чем затык-то? 1) В данный момент схоронить в определенную папку из Edit2.Text где он D:\data\DBA\Shablon 2) Разархивировать файл типа 7z (они все в архиве а их от 1000 где-то ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 12:25 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, Ну так передай правильное, полное имя файла для сохранения. SaveFile:=TFileStream.Create('ТВОЯ_ПАПКА_КУДА_НАДО_СОХРАНИТЬ\'+FieldByName('TP_ID').AsString + '_' + FieldByName('TP_TYPE').AsString + '_' + FieldByName('TP_NAME').AsString + '.zip', fmCreate); 7z - есть 2 варианта - или распаковывать самому, или написать батник, в который вставить вызов 7z и вызвать этот батник ровно 1 раз для распаковки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 12:31 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
DarkMaster Solovej, Ну так передай правильное, полное имя файла для сохранения. SaveFile:=TFileStream.Create('ТВОЯ_ПАПКА_КУДА_НАДО_СОХРАНИТЬ\'+FieldByName('TP_ID').AsString + '_' + FieldByName('TP_TYPE').AsString + '_' + FieldByName('TP_NAME').AsString + '.zip', fmCreate); 7z - есть 2 варианта - или распаковывать самому, или написать батник, в который вставить вызов 7z и вызвать этот батник ровно 1 раз для распаковки. для архива уже подключен 7z.dll Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 12:35 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
DarkMaster Solovej, Ну так передай правильное, полное имя файла для сохранения. SaveFile:=TFileStream.Create('ТВОЯ_ПАПКА_КУДА_НАДО_СОХРАНИТЬ\'+FieldByName('TP_ID').AsString + '_' + FieldByName('TP_TYPE').AsString + '_' + FieldByName('TP_NAME').AsString + '.zip', fmCreate); 7z - есть 2 варианта - или распаковывать самому, или написать батник, в который вставить вызов 7z и вызвать этот батник ровно 1 раз для распаковки. [Ошибка] Unit1.pas(97): Incompatible types: 'String' and 'TFileStream' 97| SaveFile := Edit2.Text + TFileStream.Create(FieldByName('TP_ID').AsString + '_' + FieldByName('TP_TYPE').AsString + '_' + FieldByName('TP_NAME').AsString + '.zip', fmCreate); где Edit2.Text(изменил)= DBA\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 12:39 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, Я в ах своей тупости SaveFile := TFileStream.Create('1\' + FieldByName('TP_ID').AsString + '_' + FieldByName('TP_TYPE').AsString + '_' + FieldByName('TP_NAME').AsString + '.zip', fmCreate); ошибка типа исключение из класса EFCCreateError сообщ. 'Cannot create file "D:\data\DBA\1\1_0_Dogovor.zip" .Системе не удалось найти указанный путь' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 12:57 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, Папку-то создать нужно ПЕРЕД тем, как в нее файлы складывать. Проверь ее существование : Код: pascal 1. Если ее нет - ForceDirectories(... создать папку....) вызови для создания папки. P.S. Сибиряков был прав. В Дельфях выпили F1 :( СавсЭм :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 13:02 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
DarkMaster Solovej, Папку-то создать нужно ПЕРЕД тем, как в нее файлы складывать. Проверь ее существование : Код: pascal 1. Если ее нет - ForceDirectories(... создать папку....) вызови для создания папки. P.S. Сибиряков был прав. В Дельфях выпили F1 :( СавсЭм :( Спасибо, пару секунд сам нашел ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 13:07 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej DarkMaster Solovej, Папку-то создать нужно ПЕРЕД тем, как в нее файлы складывать. Проверь ее существование : Код: pascal 1. Если ее нет - ForceDirectories(... создать папку....) вызови для создания папки. P.S. Сибиряков был прав. В Дельфях выпили F1 :( СавсЭм :( Спасибо, пару секунд сам нашел ответ Осталось только добавить распаковку архива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 13:08 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Я может, да скорее всего достал уже по глупым вопросом последовая проблема Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. [Error]Процесс не может получить доступ к фалу так как этот файл занят другим процесом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 13:33 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej Я может, да скорее всего достал уже по глупым вопросом последовая проблема Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. [Error]Процесс не может получить доступ к фалу так как этот файл занят другим процесом а все нужно после SaveFile.Free; туплю по полной 5 часов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 13:42 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
ТЕМА ЗАКРЫТА ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 14:08 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, Не мешай все в одну кучу. Проблемы ловишь на пустом месте же... 1) Выгрузи из БД, закрой соединение. 2) Пройдись по выгруженным файлам FindFirst()/FindNext() и распакуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 14:09 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej IBSQL1.ExecQuery; //несовсем понял для чего он IBDatabase1.Connected:=True; //подключение базе IBSQL1 связон с им сколько можно долбить в одну точку. Сначала подключение к БД, а потом уже выполнение запросов. Вы что, не можете в отладчике пошагово всю эту конструкцию пройти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 14:48 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Solovej, ну вот, а я только попкорна набрал :) зы. не понятно, как у ТС все работает, если он сначала делает ExecQuery, а только потом коннектится к базе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 18:12 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Док Solovej, зы. не понятно, как у ТС все работает, если он сначала делает ExecQuery, а только потом коннектится к базе? Оно же во многих компонентах автоматом подключает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 19:33 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Док, OpenFile(Index); а где CloseFile ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2020, 19:44 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
kdv Док, OpenFile(Index); а где CloseFile ??? До очередного "in use....". А так-то да.... кладезь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2020, 00:49 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
Док Solovej, ну вот, а я только попкорна набрал :) зы. не понятно, как у ТС все работает, если он сначала делает ExecQuery, а только потом коннектится к базе? До тех пор, пока в дизайнтайме не выключит Connected. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2020, 00:51 |
|
||
|
Сохранения поток данных BLOB из БП -Firebird, через TStream и разархивировать их.
|
|||
|---|---|---|---|
|
#18+
DarkMaster До тех пор, пока в дизайнтайме не выключит Connected. Точно, типичное поведение IBX и его форков (помнится в ФИБах это поправили). ТС уже и след простыл :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2020, 16:56 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038151]: |
0ms |
get settings: |
6ms |
get forum list: |
24ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 499ms |

| 0 / 0 |
