|
|
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Имеется таблица Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Нужно содержимое файла (построчно) записать в таблицу IMP. Причем, если строчка начинается с "ТЕ", тогда содержимое строки записывается в поле TEXT (CLOB) с соответствующим номером строки в ROWNUMBER. Если же сточка начинается с BI, тогда эта строка записывается в поле BINARIES (BLOB) с соответствующим номером строки в ROWNUMBER. Можете подсказать в каком направление лучше всего двигаться. А я уж дальше сам дотумкаю... Пример файла прилагаю (TEXT_AND_B). Имеющиеся в распоряжение инструменты: Oracle 12.1 ODI 12.2 P.S. Имена файлов разные. С помощью Unix-скрипта считыва имена в Текст-файл, а затем в Oracle-таблицу. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 15:41:30 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Требование "построчно" непонятно. Требование "построчно" применительно к бинарнику нарушит бинарник. А так - SQL loader на здоровье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 15:51:27 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Информация в файле текстовая. Только в строках с BI записанно бинарное выражение (около 100 byte). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 15:59:05 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersen, Строчки заканчиваются CRLF (carriage return) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 16:02:31 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersen, еще раз фаил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 16:04:26 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian AndersenС помощью Unix-скрипта считыва имена в Текст-файл, а затем в Oracle-таблицу.sqlldr на список имен и файлы должны лежать в ОС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 16:12:56 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
-2-, files и список файлов лежит в ос. А как будет выглядеть SQLLOADER? Как быть с проверкой содержимого строк, что бы их в нужное поле (CLOB или BLOB) записывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 16:19:06 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersen-2-, files и список файлов лежит в ос. А как будет выглядеть SQLLOADER? Как быть с проверкой содержимого строк, что бы их в нужное поле (CLOB или BLOB) записывать? какие-то структуры у вас дурно-замароченные вы всегда лезете под вагон, чтобы прочитать инструкцию куда/чего вываливать из вагона - в унитаз / в партер ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 17:01:23 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian AndersenА как будет выглядеть SQLLOADER?Приблизительно как нарисован в документации - Utilities, раздел про лобы и раздел про использование sql-операторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 17:07:45 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
-2-, как можно построчно загрузить данные файла в BLOB-поле, если известно, что строки заканчиваютя CRLF. Как будет в этом случае выглядеть CTL-File? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 17:04:57 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersen-2-, как можно построчно загрузить данные файла в BLOB-поле, если известно, что строки заканчиваютя CRLF. Как будет в этом случае выглядеть CTL-File? UTL_FILE + DBMS_LOB Можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 17:06:49 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
ora601, А можно примерчик? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 23:09:42 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
В поиск "UTL_FILE + DBMS_LOB" вводили? Хотя бы первую найденную статью прочли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 07:46:14 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Конечно вводил. Я загрузил binаry File в таблицу с Blob. Деление содержимого File до crlf производит бы с помощью Doms_Lob.instr и Dbms_Lob.substr. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 08:16:23 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian AndersenДеление содержимого File до crlf производит бы с помощью Doms_Lob.instr и Dbms_Lob.substr.Если blob большой, то есть причина делать его нарезку на строки через буфер varchar2 вместо Dbms_Lob... Будет заметно шустрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 09:50:02 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Egoрblob … через буфер varchar2Ну-ну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 10:17:03 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
ElicНу-ну. Вы что-то имеете против? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 10:19:57 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
EgoрElicНу-ну. Вы что-то имеете против?Гланды через ж… не удаляют. Обычно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 10:26:55 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
ElicГланды через ж… не удаляют. Обычно.Однако странные вы операторы в plsql используете. Какие-нибудь реальные поводы для вашего заявления "ну-ну" у вас есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 10:32:21 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
EgoрElicГланды через ж… не удаляют. Обычно.Однако странные вы операторы в plsql используете. Какие-нибудь реальные поводы для вашего заявления "ну-ну" у вас есть?Чудак, с большими бинарными данными принято работать через буфера бинарных же типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 10:35:04 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
ElicЧудак, с большими бинарными данными принято работать через буфера бинарных же типов.Все было бы так, если бы substr и instr для varchar2 не работали бы в разы быстрее, чем их аналоги для лобов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 10:42:16 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Egoр, blob-файлы очень маленькие (15 КВ). Фаил загружаю в поле blob с SQLLOADER. Правда, мне это решение не нравится, т.к. что бы делить фаил построчно, нужно, для начала, из таблицы выгрузить содержимое блоб-поля в переменную BLOB. Поэтому воспользуюсь решением, приведенным в форуме от ShankarViji https://community.oracle.com/thread/2400953?tstart=0 Можете привести пример на разбитие файла по crlf? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 10:48:15 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersenblob-файлы очень маленькие (15 КВ).Маленьких файлов много? Hans Christian AndersenМожете привести пример на разбитие файла по crlf?У меня примерно такая процедура: Код: plsql 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 11:10:06 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Egoр, файлов мало. Твое решение не совсем подходит. Ты разбиваешь блоб на стринги. А мне нужно с Raw работать, т.к. в файле есть бинарная составляющая . Вот еще раз задание: Нужно содержимое файла (построчно) записать в таблицу IMP. Причем, если строчка начинается с "ТЕ", тогда содержимое строки записывается в поле TEXT (CLOB) с соответствующим номером строки в ROWNUMBER. Если же сточка начинается с BI, тогда эта строка записывается в поле BINARIES (BLOB) с соответствующим номером строки в ROWNUMBER. Строчки заканчиваются CRLF (carriage return line feed) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 11:23:26 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersen, Тогда свой разборщик напишите, это, имхо, не сложно. Обратите внимание, если вас внутри строки, начинающейся с BI, может встретиться CRLF, то нужно как-то отличать окончание BI-строки от содержимого BI-строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 11:35:42 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Egoр, блин. Топчусь на месте.Решение должно быть простое... А что если с SQLLOADER решить задание? Может ли что то в этом роде работать Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 11:37:48 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
EgoрHans Christian Andersen, Тогда свой разборщик напишите, это, имхо, не сложно. Обратите внимание, если вас внутри строки, начинающейся с BI, может встретиться CRLF, то нужно как-то отличать окончание BI-строки от содержимого BI-строки? CRLF должен появиться только в конце строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 11:39:43 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersenблин. Топчусь на месте.Решение должно быть простое...С тех пор как мы поставили загрузку lob-данных на поток, вопросы по их сложной предварительной обработке снялись сами собой. Весь процесс внутри БД и sqlloader больше не применяем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 11:45:51 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
EgoрElicЧудак, с большими бинарными данными принято работать через буфера бинарных же типов.Все было бы так, если бы substr и instr для varchar2 не работали бы в разы быстрее, чем их аналоги для лобов.Зачем с raw работать lob-функциями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 11:58:37 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Egoр, подправил скрипт SQLLOADER. Работает. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Есть ли у кого пример решения задачи без SQLLOADER? Например с dbms_lob. Был бы очень благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 12:06:10 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
ElicЗачем с raw работать lob-функциями?Когда речь идет про crlf, то это уже не совсем raw. А раз не совсем raw, то уже можно предполагать разное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 12:44:44 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
EgoрElicЗачем с raw работать lob-функциями?Когда речь идет про crlf, то это уже не совсем raw. А раз не совсем raw, то уже можно предполагать разное.чудак, как ты из блоба получишь varchar2? и что ты будешь делать, если блоб, который якобы текст, в кодировке utf8? автор не в состоянии грамотно поставить задачу, допускаю обсуждать между собой гипотетические преимущества вариантов каких-то своих частных задач. но нужно сформулировать задачу полноценно, привести шаги решения полностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 12:52:22 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
может в консерватории..., задачу поставил с примером и решением. Плохому танцору... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 13:33:52 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
может в консерватории..., попробую еще раз сформулировать: Имеется таблица: create table IMP ( ROWNUMBER NUMBER(38), --число строки содержимого файла, записанного в таблицу TEXT CLOB, текстовое содержимое файла BINARIES BLOB --бинарное содержимое файла ); содержимое бинарного файла нужно записывать в таблицу построчно. Строчку создавать с помощью логики 1. С позиции Nr 1 файла до CTRL 2. C CTRL предыдущий строчки до следующего ctrl Если две первые позиции строки 'TE', тогда строчка пишется в поле TEXT с соответствующим номером строки. Если же две первые позиции строки BI, тогда строчка записывается в поле BINARIES с соответствующим номером строки. Получаем в таблице 5 строк. Следующие строки записываются в поле TEXT TE121311718273827381 TE121311718273827321 TE121311718273827344 Следующие строки записываются в поле BINARIES BI000000000ºWoµÚ>þ¢ BI000000000ºWoµÚ>þ¢ Вот решение с помощью SQLLOADER: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Хотел бы решить задание с помощью Oracle Package (например dbms_lob). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:14:14 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
опечатка Код: plaintext 1. 2. CTRL ---> CRLF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2016, 14:19:29 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersen, есть у кого-нибудь идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 17:17:17 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Были бы идеи - написали бы. А так - вы не можете определиться, чем загружать - SQLLoader или UTL_FILE. Не приводите примеры кода. Ждете, чтоб за вас всю задачу решили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 18:36:17 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Не очень понятно, какие идеи нужны. Берешь PL/SQL Developer и пишешь код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 18:53:25 |
|
||
|
Фаил записать в базу/таблицу с полями СLOB и BLOB
|
|||
|---|---|---|---|
|
#18+
Hans Christian Andersenстроки записываются в поле BINARIES В BLOB записываются байты, а строки состоят из символов. Разницу между байтами и символами читай в Concepts & Globalization Support Guide ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2016, 10:17:25 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1887980]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
211ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 541ms |

| 0 / 0 |
