Пакетный файл останавливается после завершения оператора SQL и не продолжает выход - PullRequest
1 голос
/ 19 апреля 2019

Я запускаю простой командный файл для выполнения оператора SQL.

Пакетный файл:

cd /D C:\sqlcl\bin

sql username/password@host:port:SID @C:\scripts\statement.sql

exit

Оператор SQL выполняется отлично. Он буферизует результаты запроса в CSV-файл и возвращает к приглашению SQL>.

Проблема в том, что командный файл не переходит на следующую строку для выхода из SQL и окна CMD. Независимо от того, какую команду я тестирую, командный файл не переходит на 3-ю строку.

Что-то, что мне нужно добавить в *.sql файл, чтобы принудительно завершить его? Я что-то упустил с помощью выхода? Я пытался QUIT, HOST, чтобы вернуться в CMD, ECHO, чтобы напечатать что-то, но не имеет значения команда, она никогда не переходит на эту строку, но возвращается к приглашению SQL.

Ответы [ 2 ]

1 голос
/ 20 апреля 2019

Настройте файл .sql, добавив в конце выход, такой как этот.

set feedback off
set head off
set sqlformat csv
spool emp.csv
select * from emp;
exit

Запустите, как обычно,

$ sql klrice/klrice @spool

результирующий файлэто CSV, как и ожидалось.

$ more emp.csv
7369,"SMITH","CLERK",7902,17-DEC-80,800,,20,5555555555554444
7499,"ALLEN","SALESMAN",7698,20-FEB-81,1600,300,30,4929043445510803
7521,"WARD","SALESMAN",7698,22-FEB-81,1250,500,30,6011823599867990
7566,"JONES","MANAGER",7839,02-APR-81,2975,,20,375055626849864
7654,"MARTIN","SALESMAN",7698,28-SEP-81,1250,1400,30,4929727676353442
7698,"BLAKE","MANAGER",7839,01-MAY-81,2850,,30,5262511577814781
7782,"CLARK","MANAGER",7839,09-JUN-81,2450,,10,6011983140249807
7788,"SCOTT","ANALYST",7566,09-DEC-82,3000,,20,343764091280047
7839,"KING","PRESIDENT",,17-NOV-81,5000,,10,5186144047197497
7844,"TURNER","SALESMAN",7698,08-SEP-81,1500,0,30,6011331487563093
7876,"ADAMS","CLERK",7788,12-JAN-83,1100,,20,378775397941460
7900,"JAMES","CLERK",7698,03-DEC-81,950,,30,4916225758678451
7902,"FORD","ANALYST",7566,03-DEC-81,3000,,20,378355660338882
7934,"MILLER","CLERK",7782,23-JAN-82,1300,,10,34567
$ 
0 голосов
/ 23 апреля 2019

Интересная проблема была причиной этой проблемы.

В исходном файле SQL, который я экспортировал из SQL Developer, в конце я не включил «выход». Я открыл его в блокноте и добавил «выход». Каждый раз, когда я смотрел на файл SQL, я открывал его в блокноте и там был «выход».

Я только что открыл файл SQL в Notepad +, и «выхода» там не было. Я добавил его, и пакетный файл теперь работает нормально.

Понятия не имею, почему возникает эта проблема.

...