2012-03-16 3 views
2

Я пытаюсь создать базу данных 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

кажется, что-то в моем файле проекта. Мне удалось создать новый, и проблема исчезла, но я боюсь быть укушенной этим в будущем. Что может это сделать?

+0

Что изменилось в файле проекта? Вы уверены, что файл проекта - это * только * вещь, которую вы изменили? –

+0

Не уверен, потому что я делаю это довольно спешно. Но я создал новый файл проекта, добавил все файлы моего проекта и выполнил его. База данных была создана нормально. Я все еще проверяю вещи, и скоро собираюсь сделать больше. – ivarec

+0

Инструмент «diff» вашей системы контроля источника должен быть в состоянии показать вам, что изменилось. –

ответ

3

Это был не мой файл проекта. Это был старый GDS32.dll, который был удален в том же каталоге, что и исполняемый файл. Снятие решения проблемы. Надеюсь, это может помочь кому-то с той же проблемой.

Смежные вопросы