powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / COPY FROM
7 сообщений из 7, страница 1 из 1
COPY FROM
    #40136085
neteurt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу скопировать данные из файла в таблицу использую такую команду
Код: plsql
1.
[FIXED]EXECUTE concat('COPY TBL_FILE (file) FROM ''', 'D:\tes_identif.txt', '''');[/FIXED]


получаю такую ошибку
Код: sql
1.
2.
3.
4.
SQL Error [58P01]: ERROR: could not open file "D:\tes_identif.txt" for reading: No such file or directory
  Подсказка: COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \copy.
  Где: SQL statement "COPY TBL_FILE (file) FROM 'D:\tes_identif.txt' "
PL/pgSQL function unload_from_server_file(integer) line 34 at EXECUTE



подскажите в чем проблема
...
Рейтинг: 0 / 0
COPY FROM
    #40136093
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neteurt,

No such file or directory - что-то тут ещё нужно пояснять? Проверяйте где этот файл, именно так ли назван, доступен ли для процесса базы.
...
Рейтинг: 0 / 0
COPY FROM
    #40136611
Avyalt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые форумчане. Дабы не плодить темы:
Есть файл csv с 3 столбцами по 9 строк в каждом. Первый столбец с порядковым номером от 1 до 9. Второй и третий столбцы с данными (есть как целые числа, так и со знаками после запятой и нули). Нужно эту таблицу перенести в PostgreSQL. Через pgAdmin4 создаю таблицу zn из 3 столбцов: id (integer), 2Theta (numeric), Intensity (numeric). Пытаюсь простым запросом:
COPY zn FROM 'C:\555\test2.csv';
получаю ошибку:
ERROR: ОШИБКА: неверный синтаксис для типа integer: "1;5;5.477"
CONTEXT: COPY zn, строка 1, столбец id: "1;5;5.477"
SQL state: 22P02
Если делаю через контекстное меню pgAdmin, то команда меняется на:
--command " "\\copy public.zn (id, \"2 Theta\", \"Intensity\") FROM 'C:/555/test2.csv' CSV QUOTE '\"' ESCAPE '''';""
а ошибка остается.
Что я делаю не так?
...
Рейтинг: 0 / 0
COPY FROM
    #40136614
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Avyalt,

Теория тут , поменяйте разделитель столбцов
...
Рейтинг: 0 / 0
COPY FROM
    #40136616
Avyalt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Swa111,
Спасибо. Запрос:
COPY zn FROM 'C:\555\test2.csv' WITH DELIMITER ';';
сработал.
Поясните, пожалуйста, как можно понять, что нужно изменить разделитель? Из сообщения об ошибке:
ERROR: ОШИБКА: неверный синтаксис для типа integer: "1;5;5.477",
где в двойных кавычках данные по столбцам разделены точкой с запятой? Почему неверный синтаксис именно для integer? Просто потому, что это первый столбец, который отделен от второго точкой с запятой?
...
Рейтинг: 0 / 0
COPY FROM
    #40136631
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Avyalt,

По тексту ошибки видно что не смог разбить на столбцы, из документации

The default is a tab character in text format, a comma in CSV format.

и смотрим что пытаемся загрузить
...
Рейтинг: 0 / 0
COPY FROM
    #40136782
Avyalt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Swa111,
Спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / COPY FROM
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (9): Анонимы (6), Yandex Bot, Google Bot 2 мин., Bing Bot 2 мин.
x
x
Закрыть


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