Страница 1 из 1

Выполнение SQL-запроса для PostGIS БД через bat-файл

Добавлено: 04 мар 2013, 19:48
HasT
Подскажите пожалуйста, в чем может быть ошибка:
необходимо выполнить SQL-запрос для PostGIS базы данных через bat-файл:
- содержимое bat-файла:

Код: Выделить всё

"C:\Progra~1\PostgreSQL\9.2\bin\psql" -h hostname -U username -d databasename -f D:\create.sql
pause
- содержимое SQL-запроса:

Код: Выделить всё

DROP TABLE IF EXISTS "table";
CREATE TABLE table AS
SELECT * 
FROM "fulltable"
WHERE length < 100;
В результате выполнения bat-файла получаю ошибку

Код: Выделить всё

C:\Users\user\Desktop>"C:\Progra~1\PostgreSQL\9.2\bin\psql" -h hostname -U username -d databasename -f D:\create.sql
psql:D:/create.sql:1: ERROR:  syntax error at or near "п>їDROP"
СТРОКА 1: п>їDROP TABLE IF EXISTS "linelengtherror"
          ^
Используемое ПО:
Windows 7
PostgreSQL 9.1.2/PostGIS 1.5.3
Установлен OSGeo4W

Re: Выполнение SQL-запроса для PostGIS БД через bat-файл

Добавлено: 04 мар 2013, 20:16
Дмитрий Барышников
Видимо у вас кодировка файла create.SQL (похоже это utf8) не нравится интерпретатору. Попробуйте перекодировать при помощи того же notepad++.

[ Сообщение с мобильного устройства ]

Re: Выполнение SQL-запроса для PostGIS БД через bat-файл

Добавлено: 05 мар 2013, 12:10
HasT
Дмитрий Барышников писал(а):Видимо у вас кодировка файла create.SQL (похоже это utf8) не нравится интерпретатору. Попробуйте перекодировать при помощи того же notepad++.
Спасибо! Заработало. Открыл файл с SQL-запросом в notepad++, кодировку поставил в "Кодировать в ANSI".