Я пытаюсь создать базу данных Firebird во время выполнения. Процедура, что я использую, чтобы сделать это это один:EIBInterBaseError «недоступная база данных» при попытке создать базу данных Firebird в Delphi
procedure CreateDatabase(DBName: String);
var
IBDatabase1: TIBDatabase;
begin
IBDatabase1 := TIBDatabase.Create(Self);
try
IBDatabase1.DatabaseName := ChangeFileExt(DBName, '.fdb');
IBDatabase1.Params.Add('USER ''SYSDBA''');
IBDatabase1.Params.Add('PASSWORD ''masterkey''');
IBDatabase1.Params.Add('PAGE_SIZE 4096');
IBDatabase1.Params.Add('DEFAULT CHARACTER SET WIN1252');
IBDatabase1.CreateDatabase;
finally
IBDatabase1.Free;
end;
end;
Я достиг этого без проблем в любом небольшом проекте, который я создаю для TESTE этой функции. Однако, если я попытаюсь запустить этот код на той же машине, тот же Delphi, то же самое, за исключением того, что это другой (и довольно большой) проект, я получаю следующую ошибку в строке IBDatabase1.CreateDatabase:
First chance exception at $7579B9BC. Exception class EIBInterBaseError with message 'unavailable database'. Process xxx.exe (4144)
У кого-нибудь есть подсказки об этом? Может быть, какой-то способ отладить это правильно?
Заранее спасибо.
EDIT
кажется, что-то в моем файле проекта. Мне удалось создать новый, и проблема исчезла, но я боюсь быть укушенной этим в будущем. Что может это сделать?
Что изменилось в файле проекта? Вы уверены, что файл проекта - это * только * вещь, которую вы изменили? –
Не уверен, потому что я делаю это довольно спешно. Но я создал новый файл проекта, добавил все файлы моего проекта и выполнил его. База данных была создана нормально. Я все еще проверяю вещи, и скоро собираюсь сделать больше. – ivarec
Инструмент «diff» вашей системы контроля источника должен быть в состоянии показать вам, что изменилось. –