powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Команда COPY postgresql проблема с кавычками "
18 сообщений из 18, страница 1 из 1
Команда COPY postgresql проблема с кавычками "
    #38110470
Доброго времени суток :)

Описываю проблему:
Скачала bnkseek.dbf (справочник БИК) конвертировала его в csv программой dbf2csv.exe. Пытаюсь командой COPY импортировать данные в postgresql.

Код: plsql
1.
COPY  bnkseek FROM 'c://bnkseek.csv' WITH delimiter ';' quote '"' escape '"' CSV;



Но на строчках типа - ООО "КБ "ТАЛЬМЕНКА-БАНК" выдается вот такая ошибка:

ERROR: value too long for type character varying(45)

я убрала кавычку: ООО КБ "ТАЛЬМЕНКА-БАНК" ну и на 255 строчке подобная проблема...
Как заставить команду COPY правильно разделять столбцы и игнорировать не парные кавычки? :(
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110477
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Екатерина19901990
Но на строчках типа - ООО "КБ "ТАЛЬМЕНКА-БАНК" выдается вот такая ошибка:

ERROR: value too long for type character varying(45)
Проблема не в кавычке, а в том, что делается вставка в поле, размер которого ограничен 45 символами.
Читайте внимательнее, что пишет postgresql. Пользуйтесь google translate.
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110492
tadmin, я же говорю, как только я убрала лишнюю кавычку(18 строка) проблема возникла уже на 255 строчке...

И я пробовала это поле увеличить до 10485760 :) та же проблема!
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110495
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tadminПроблема не в кавычке, а в том, что делается вставка в поле, размер которого ограничен 45 символами.
Читайте внимательнее, что пишет postgresql. Пользуйтесь google translate.
Код: sql
1.
len(ООО "КБ "ТАЛЬМЕНКА-БАНК")<45


Причина скорее в том, что за этим полем в строке есть и другие данные, а с текущими настройками quote-а и escape-а пж считает, что эти данные (на деле принадлежащие другим полям) являются частью этого же поля.
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110496
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Екатерина19901990, в названиях организаций (и других текстовых полях) есть точка с запятой? Если нет, предлагаю убрать кляузы "quote" и "escape" и попробовать без них.
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110502
Код: plsql
1.
COPY  bnkseek FROM 'c://bnkseek.csv' WITH delimiter ';'CSV;



авторERROR: value too long for type character varying(45)
CONTEXT: COPY bnkseek, line 220, column NAMEP: "ООО КБ ТАЛЬМЕНКА-БАНК;ТАЛЬМЕНКА-БАНК;040173749;700161049;;01;771352;;..."

********** Ошибка **********

ERROR: value too long for type character varying(45)
SQL-состояние: 22001
Контекст: COPY bnkseek, line 220, column NAMEP: "ООО КБ ТАЛЬМЕНКА-БАНК;ТАЛЬМЕНКА-БАНК;040173749;700161049;;01;771352;;..."

Все та же ошибка :(
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110510
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Екатерина19901990, да у вас в этом ксв вообще фарш какой-то... откуда брали дбфку, скажите, может, её всё-таки можно в нормальный вид переконвертить.
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110515
tanglir,
вот отсюда http://www.pvision.ru/bik
конвертировала с помощью программы dbf2csv и в notepad меняла кодировка на UTF-8 без BOM
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110524
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Екатерина19901990, а так:
Код: powershell
1.
dbf2csv.exe <...> --delim="^"

, поменять кодировку, ну и
Код: sql
1.
COPY  bnkseek FROM 'c://bnkseek.csv' WITH delimiter '^';

?
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110533
tanglirЕкатерина19901990, а так:
Код: powershell
1.
dbf2csv.exe <...> --delim="^"

, поменять кодировку, ну и
Код: sql
1.
COPY  bnkseek FROM 'c://bnkseek.csv' WITH delimiter '^';

?

а так это как? из командной строки?
dbf2csv.exe <c://bnkseek.dbf> delim="^"

Извиняюсь за глупые вопросы)
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110536
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть пакет pgdbf, который из dbf генерит готовые скрипты для postgresql

Код: plaintext
pgdbf KLADR.DBF | iconv -f CP866 -t utf8
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110538
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Екатерина19901990, ну по аналогии с примером на сайте, в командной строке:
Код: powershell
1.
dbf2csv.exe --file="C:\bnkseek.dbf" --out="C:\bnkseek.csv" --header=False --delim="^"

Да вы же писали, что самостоятельно уже такое проделывали, сейчас просто разделитель другой поставить, в чём проблема-то?
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110539
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tadminЕсть пакет pgdbf, который из dbf генерит готовые скрипты для postgresqlКстати да, и не нужно изобретать велосипед :)
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110541
:) я запускала программу не из командной строки)
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110570
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Екатерина19901990, похоже что dbf2csv.exe генерирует некорректный формат CSV. Попробуйте другую программу.
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110660
tanglirtadminЕсть пакет pgdbf, который из dbf генерит готовые скрипты для postgresqlКстати да, и не нужно изобретать велосипед :)

У меня Postgresql 9.1 установлен на локальной машине с ОС Win7 не могу разобраться с pgdbf.
http://pgdbf.sourceforge.net/

Как его вообще устанавливать?
...
Рейтинг: 0 / 0
Команда COPY postgresql проблема с кавычками "
    #38110690
Сделала все по-детски) Открыла dbf в Excel, сохранила в csv формате, поменяла кодировку и COPY выполнена успешно)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Команда COPY postgresql проблема с кавычками "
    #39886104
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была похожая проблема из-за того, что локаль базы была не юникод, а данные вставлялись в юникоде. Соответственно длина вставляемых строк примерно в 2 раза больше
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Команда COPY postgresql проблема с кавычками "
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]