Есть ли запрос, эквивалентный openquery или openrowset SQL-сервера для использования в postgresql для запроса из excel или csv?SQL-сервер Openquery эквивалентен PostgresQL
ответ
Вы можете использовать в PostgreSQL COPY
Как за документ: перемещает данные
COPY между таблицами PostgreSQL и стандартной файловой системой файлов. COPY Копировать содержимое таблицы в файл, в то время как COPY FROM копирует данные из файла в таблицу (добавление данных в все, что уже есть в таблице). COPY TO может также скопировать результаты из SELECT, запрос
COPY работает так:
Импорт таблицы из CSV
Предполагая, что у вас уже есть таблица в месте с нужными колонны, команда следующая:
COPY tblemployee FROM '~/empsource.csv' DELIMITERS ',' CSV;
Экспорт CSV из таблицы.
COPY (select * from tblemployee) TO '~/exp_tblemployee.csv' DELIMITERS ',' CSV;
Важно, чтобы отметить здесь, что, как правило, если ваши данные в кодировке Юникод или нужна строгая кодировка, то всегда устанавливается client_encoding перед выполнением любой из указанных выше команд.
Чтобы установить параметр client_encoding в PostgreSQL
set client_encoding to 'UTF8'
или
set client_encoding to 'latin1'
Другое дело, чтобы защититься от это обнуляет, в то время как экспорт, если некоторые поля равны нулю, то PostgreSQL добавит «/N
», чтобы представить null, это нормально, но может вызвать проблемы, если вы пытаетесь импортировать эти данные в SQL Server.
Быстрое исправление изменить команду экспорта, указав, что бы вы предпочли в качестве нулевой заполнитель в экспортированных CSV
COPY (select * from tblemployee) TO '~/exp_tblemployee.csv' DELIMITERS ',' NULL as E'';
Другим общим требованием является импорт или экспорт с заголовком.
Импорт CSV в таблицу с заголовком для столбцов, присутствующих в первой строке файла csv.
COPY tblemployee FROM '~/empsource.csv' DELIMITERS ',' CSV HEADER
Экспорт таблицы в CSV с заголовками, присутствующими в первом ряду.
COPY (select * from tblemployee) TO '~/exp_tblemployee.csv' DELIMITERS ',' CSV HEADER
http://www.postgresql.org/docs/9.4/static/sql-copy.html или http://pgoledb.com/? –
Команда копирования работала для меня спасибо –
Вы также можете использовать внешнюю оболочку данных для непосредственного чтения файла без необходимости его импорта –