Postgres PSQL Импортировать файл из определенного места [дубликат]

Наверное, я очень опаздываю на вечеринку.

Как уже говорилось ранее, вызов input.nextLine() после получения вашего значения int решит вашу проблему. Причина, по которой ваш код не работал, заключается в том, что с вашего ввода (куда вы ввели int) ничего не оставалось хранить в string1.

Рассмотрим nextLine () как нечетный среди методов nextFoo () в классе Scanner. Давайте возьмем быстрый пример. Скажем, у нас есть две строки кода, подобные приведенным ниже:

int firstNumber = input.nextInt();
int secondNumber = input.nextInt();

Если мы вводим значение ниже (как одну строку ввода)

54 234

Значение нашей переменной firstNumber и secondNumber становится 54 и 234 соответственно. Причина, по которой это работает, заключается в том, что новый канал ( i.e\n ) НЕ НЕ автоматически генерируется, когда метод nextInt () принимает значения. Он просто берет «следующий int» и движется дальше. Это то же самое для остальных методов nextFoo (), за исключением nextLine ().

nextLine () генерирует новый фид строки сразу после принятия значения; это то, что означает @RohitJain, говоря, что новый канал «потребляется».

Наконец, метод next () просто берет ближайшую строку без создания новой строки; это делает это предпочтительным методом для взятия отдельных строк в одной и той же строке.

Надеюсь, это поможет ... Веселая кодировка!

71
задан chris85 11 September 2015 в 15:06
поделиться

4 ответа

Postgres началась в Linux / Unix. Я подозреваю, что реверсирование косой черты с исправлением.

\i somedir/script2.sql 

Если вам нужно полностью квалифицировать что-то

\i c:/somedir/script2.sql

Если это не исправить, мое следующее предположение будет вам нужно избегать обратной косой черты.

\i somedir\\script2.sql
95
ответ дан Steve K 26 August 2018 в 14:51
поделиться

Пробовали ли вы использовать слайсы в стиле Unix (/ вместо \)?

\ часто являются символом escape или командной строки и могут быть источником путаницы. У меня никогда не было проблем с этим, но у меня также нет Windows, поэтому я не могу его протестировать.

Кроме того, разрешения могут быть основаны на пользователе, выполняющем psql, или, возможно, на пользователя, выполняющего службу postmaster , убедитесь, что оба файла были прочитаны в этом каталоге.

6
ответ дан Grant Johnson 26 August 2018 в 14:51
поделиться

Попробуйте это, я сам это сделаю

\i 'somedir\\script2.sql'
3
ответ дан phipex 26 August 2018 в 14:51
поделиться

Я попробовал это и его работу в Windows-машине для запуска sql-файла на определенной схеме.

psql -h localhost -p 5432 -U имя пользователя -d имя_базы_на_схема = schemaname & lt; e: \ Table.sql

0
ответ дан shiba sahu 26 August 2018 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: