2012-03-16 16 views
2

実行時にFirebirdデータベースを作成しようとしています。私はこれを行うために使用している手順は、このいずれかになります。DelphiでFirebirdデータベースを作成しようとすると、EIBInterBaseError 'unavailable database'

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でした。それを削除すると問題が解決しました。これが同じ問題を抱えている人を助けてくれることを願って

関連する問題