Как включить AUTODDL в Firebird с помощью .NET Provider? - PullRequest
1 голос
/ 12 августа 2011

Мне нужно включить AUTODDL во встроенной базе данных Firebird из приложения C #. Используя isql, это так же просто, как выполнить:

SET AUTODDL ON;

но я не могу выполнить этот оператор с помощью FbCommand. Я получаю сообщение об ошибке:

Token unknown - line 1, column 5
AUTODDL

1 Ответ

1 голос
/ 12 августа 2011

AUTOddl - это не команда firebird, это команда isql. ISQL

Возможно, вы хотя бы пытались выполнить команду, используя процесс functoin.

public void Execute() {

Process p = new Process();
p.StartInfo.FileName = @"C:\Programme\Firebird2\bin\isql.exe";
p.StartInfo.Arguments = String.Format( " -q -user {0} -password {1} elias:{2} SET AUTOddl ON", user, password,"Database" );
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;

p.Start();
}

Обратите внимание, я не проверял выше, но это должно работать. Если это не так, вы можете попробовать поместить сценарий sql в файл сценария, а затем выполнить файл сценария.

Параметры для выполнения скрипта следующие. -q -i c:\Scripts\CreateScript.sql

Надеюсь, это поможет.

...