Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.09.2014, 14:07
|
|||
|---|---|---|---|
DB2 Load binary |
|||
|
#18+
Всем привет! Знатоки помогите! В DB2 ничего не смыслю. Пишу утилиту для выгрузки данных в csv формат, который затем будет загружаться в DB2 c помощью некой утилиты DB Load. При тестировании случился затык с загрузкой в поле типа BINARY(32). Данные для вставки в это поле в файле лежат в виде: "BE13C5A7A7DFA935F59BBD4CABA8864701CAC362000000000000000000000000" (64 символа) При загрузке получаем ошибку - поле слишком длинное. -DBK1 266 15:00:43.28 DSNURCON - INPUT FIELD 'HASH', INVALID FOR 'TST.T1', ERROR CODE '12 - INPUT VARCHAR FIELD IS TOO LONG' В каком виде нужно подсунуть данные чтобы загрузить в BINARY(32)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.09.2014, 08:10
|
|||
|---|---|---|---|
DB2 Load binary |
|||
|
#18+
sl888, Казалось бы, чего проще взять да проверить ;) Код: plaintext 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. 53. 54. 55. 56. 57. 58. Т.е. данные в .csv файле должны быть прямо в бинарном виде с дублированием "character string delimiter" символа (по умолчанию - "), если при load'е не указана опция NODOUBLEDEL. Действительно, описание DEL формата не предусматривает какой-либо специальной формы записи для for bit data полей: http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.dm.doc/doc/r0004647.html Нужно также не забыть добавить в LOAD'е modified by DELPRIORITYCHAR опцию, чтобы он внутри квотированных строк воспринимал row delimiters (символы новой строки) как часть бинарных данных. Варианты: а) грузить строку из .csv в аналогичную таблицу с увеличеным размером текстовых полей, затем переливать данные, осуществляя преобразование из HEX. б) делать не LOAD, а импорт (если можно от него отказаться), и before insert триггером конвертировать HEX -> character for bit data. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.09.2014, 13:42
|
|||
|---|---|---|---|
DB2 Load binary |
|||
|
#18+
CawaSPb, спасибо большое! DELPRIORITYCHAR зависит от версии как то? у нас DB2 for z/OS v10 и вроде, со слов админа, такого там нет. Хотя мне кажется, что по умолчанию так и работает, потому как данные стали загружаться, после того как я стал их писать в бинарном виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.09.2014, 15:48
|
|||
|---|---|---|---|
DB2 Load binary |
|||
|
#18+
sl888у нас DB2 for z/OS v10 и вроде, со слов админа, такого там нет. Упс. DB2 for z/OS - это совсем другая DB2, хотя какое-то стремление к стандартизации фич и существует. Там надо смотреть доку по z/OS. DEL формат сам по себе должен бы быть единым, а вот с опциями... Можно просто проверить, загрузив строку, содержащую в текстовом поле символы новой строки. В DB2 for LUW без DELPRIORITYCHAR опции строка разобъётся на две входящие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=%D0%94%D1%80%D0%BE%D0%BD&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 1141ms |
| total: | 1296ms |

| 0 / 0 |
