|
|
|
Использование кодировки в функции
|
|||
|---|---|---|---|
|
#18+
Коллеги, добрый день. Я пользовался поиском, но не нашёл ничего подобного, гугл и яндекс то же внятного не показывают. Проблема в том, что не могу разобраться в логике происходящего. С оборудования приходят файлы в кодировке ANSII-1251, БД работает с кодировкой UTF-8. Файлов каждый раз приходит новое количество, может 5, может 10 и т.д. рандомно. Перед запуском процедуры на CRON-e запускается команда, которая создает в той же директории файлик DIR.txt с перечнем файлов данной директории. Сама функция сначала импортирует файлик DIR.txt, запоминает имена файлов и в цикле формирует команду COPY FROM с именами этих файлов. Код: plsql 1. 2. 3. 4. 5. Далее в этом же цикле запускается SELECT, который преобразует полученные данные и переносит их уже в таблицу-приемник. Зачищается таблица для импорта файла и цикл начинает следующий шаг. А проблема у меня в том, что первый шаг цикла отрабатывается на отлично, а вот начиная со второго возникает ошибка: Код: plsql 1. 2. Данная ошибка говорит о неправильной расстановке кодировок. Листинг программы: Код: 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. Не могу понять, почему возникает проблема именно начиная со второго шага. Буду презнателен за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 20:15 |
|
||
|
Использование кодировки в функции
|
|||
|---|---|---|---|
|
#18+
БenLaDenProПеред запуском процедуры на CRON-e запускается командаЗачем формировать dir.txt и его разбирать, а не сразу формирвать и выполнять copy или запускать функцию с переданным именем файла? Функцию-то кто запускает в итоге? Зачем щелкать клиент-энкодингом, когда есть параметр у copy? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 20:58 |
|
||
|
Использование кодировки в функции
|
|||
|---|---|---|---|
|
#18+
Я новичек в PG, copy пользуюсь впервые. Буду рад за подсказки. p2.Зачем формировать dir.txt и его разбирать, а не сразу формирвать и выполнять copy или запускать функцию с переданным именем файла? Как мне "увидеть" имена файлов в каталоге средством PG? p2.Функцию-то кто запускает в итоге? Да, раз в сутки функция будет дергаться планировщиком заданий Linux - CRONTAB. p2.Зачем щелкать клиент-энкодингом, когда есть параметр у copy? Подскажите, пожалуйста, как должна выглядеть строка для ANSII-1251: Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 00:04 |
|
||
|
Использование кодировки в функции
|
|||
|---|---|---|---|
|
#18+
Спасибо за намеки, моя результирующая строка для цикла приняла вид: Код: plsql 1. А ошибка, соответственно была устранена. Но вот за подсказки о работе с файловой системой, что бы без файла CRON-a получать имена файлов в каталоге средствами PG, был бы признателен. =/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 14:55 |
|
||
|
Использование кодировки в функции
|
|||
|---|---|---|---|
|
#18+
DenLaDenProКак мне "увидеть" имена файлов в каталоге средством PG? Только это должно в пределах pg_data лежать, насколько помню. Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 15:03 |
|
||
|
Использование кодировки в функции
|
|||
|---|---|---|---|
|
#18+
В pg_data меня не пустят, мне доступна только папка на сервере с PG, туда сбрасываются .txt, выгруженные с оборудования. Количество фафйлов каждый раз разное, имена то же. :( Как средствами PG можно прочесть конкретный каталог? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 16:47 |
|
||
|
Использование кодировки в функции
|
|||
|---|---|---|---|
|
#18+
DenLaDenPro Как средствами PG можно прочесть конкретный каталог? Код: perl 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 17:13 |
|
||
|
Использование кодировки в функции
|
|||
|---|---|---|---|
|
#18+
DenLaDenProКак средствами PG можно прочесть конкретный каталог? Если у вас нет прав что-то делать на сервере, кроме как в psql, за пределами pg_data можно plperlu использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 17:23 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39197360&tid=1997341]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
159ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 445ms |

| 0 / 0 |
