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

#firebird #interbase #isql

#firebird #interbase #isql

Вопрос:

Я создаю простой скрипт isql, но он не работает, и мне нужна помощь, чтобы выяснить, что с ним не так.
Мне нужно подключиться к базе данных и выполнить файл SQL. Это мой скрипт под названием script.sql:

 CONNECT 'localhost:C:MondeServidordbmonde.fdb' USER 'SYSDBA' PASSWORD 'masterkey';    
update usuario  
set senha = 'MYkWEn0kHLHHdm'  
where login = 'rose'
  

Когда я пытаюсь подключиться к своей базе данных с помощью.:

 isql.exe -i script.sql
  

Я получаю это последующее сообщение.:

 Use CONNECT or CREATE DATABASE to specify a database
Expected end of statement, encountered EOF
  

Ответ №1:

Хорошо, хотя это старый вопрос, я выяснил, как это сделать, вам просто нужно добавить параметр de -q, вот так:

 isql.exe -q -i script.sql
  

Источник:

Форма ссылки на iSQL Destructor.de

Ответ №2:

Добавьте точку с запятой в конец UPDATE инструкции:

 CONNECT 'localhost:C:MondeServidordbmonde.fdb' USER 'SYSDBA' PASSWORD 'masterkey';
update usuario
set senha = 'MYkWEn0kHLHHdm'
where login = 'rose';
  

Комментарии:

1. Ошибка при использовании CONNECT или CREATE DATABASE для указания инструкции database, ошибка SQLSTATE = 42000 Dynamic SQL Error -Код ошибки SQL = -104 -Неожиданное завершение командной строки 1, столбец 8 после строки 1 в файле usuario.ошибка команды sql: set senha = ‘MYkWEn0kHLHHdm’, где login = ‘rose’

2. @user: введите новую строку после последней строки.

3. @user: поместите курсор в конец файла, после последней точки с запятой, и нажмите Enter .

4. @user: тогда не могу вам помочь. Я только что воспроизвел это на своем Firebird 1.5 , это работает. Пожалуйста, скопируйте и вставьте команды из моего ответа.

5. Что ж, это сработало. Я забыл добавить запятую после «обычно обновлять». Большое спасибо за вашу помощь.