Войти и выполнить запрос в sybase в пакетном файле

Я пытаюсь войти в sybase и сразу же выполнить запрос в моем пакетном файле. Это строка:

dbisql -c "uid=dba;pwd=sql" -q select max(id)

Но это не сработает, если я просто сделаю:

 dbisql -c "uid=dba;pwd=sql"

в командной строке это работает, и я могу подключиться к базе данных, но если я помещаю весь код, он показывает следующую ошибку:

Could not connect to the database. 
Database server not found 
SQLCODE : -100, OBDC 3 State = "08001" 

You are not connected to a database.

Кто-нибудь может мне помочь? Спасибо вам, ребята.


person mastercoder    schedule 22.03.2018    source источник
comment
Вы говорите, что dbisql -c "uid=dba;pwd=sql" работает в командной строке, а dbisql -c "uid=dba;pwd=sql" -q select max(id) не работает из пакетного файла, но вы не сказали нам, что произойдет, если вы попробуете dbisql -c "uid=dba;pwd=sql" -q select max(id) в командной строке. Пока вы этого не сделаете, мы не сможем определить, связана ли ваша проблема с командой или пакетным файлом!   -  person Compo    schedule 22.03.2018
comment
На какой ОС (Windows? Unix? Linux?) вы работаете, если UNIX/Linux, то какую оболочку вы используете и к какому продукту Sybase (ASE? SQLAnywhere? IQ? Advantage?) пытаетесь подключиться?   -  person markp-fuso    schedule 22.03.2018
comment
Я использую окна и SQL Anywhere   -  person mastercoder    schedule 22.03.2018
comment
если я попробую dbisql -c "uid=dba;pwd=sql" -q select max(id) в командной строке, я получу ту ошибку, которую я описал в своем вопросе. Не удалось подключиться ... Вы не подключены к базе данных   -  person mastercoder    schedule 22.03.2018
comment
Я получаю ту же ошибку, выполняя ее в командной строке или выполняя командный файл.   -  person mastercoder    schedule 22.03.2018
comment
Тогда у вас нет проблемы с пакетным файлом, ваша проблема заключается в том, как использовать вашу программу из интерфейса командной строки. Поэтому я удалил ваш тег batch-file и заменил его тегами cmd, windows и sqlanywhere, чтобы они соответствовали вашим комментариям.   -  person Compo    schedule 22.03.2018


Ответы (1)


Я не уверен, что вы делаете неправильно. Но следующая команда отлично работает для меня. Следующая команда даст вам результат в командной строке.

dbisql -c "uid=dba;pwd=sql;eng=test" select 1
person Ankur Patel    schedule 26.03.2018