When using the Firebird embedded database, it's nice to be able to create the database using only FreePascal/Lazarus.
Is there a way to do this, e.g. using the SQLScript component, using something like this: const DatabaseFile = 'DATABASE1.FDB'; var CreateScript: TSQLScript; ScriptText: TStringList; begin //Connection to Firebird database IBConnection1.HostName := ''; //must be empty for embedded Firebird; must be filled for client/server Firebird IBConnection1.DatabaseName := DatabaseFile; //Filename of Firebird database IBConnection1.Username := 'SYSDBA'; IBConnection1.Password := 'masterkey'; //default password for SYSDBA IBConnection1.Charset := 'UTF8'; //Send and receive string data in UTF8 encoding IBConnection1.Dialect := 3; //Nobody uses 1 or 2 anymore. if (FileExists(DatabaseFile)=false) then begin CreateScript := TSQLScript.Create(nil); ScriptText:=TStringList.Create; try CreateScript.OnException:=@ExceptionHandler; IBConnection1.DatabaseName:=''; CreateScript.DataBase:=IBConnection1; CreateScript.Transaction:=SQLTransaction1; IBConnection1.Open; SQLTransaction1.StartTransaction; ScriptText.Text:='CREATE DATABASE ''database1.fdb'' page_size 16384 user ''SYSDBA'' password ''masterkey'' default character set UTF8;'; CreateScript.Script:=ScriptText; CreateScript.ExecuteScript; SQLTransaction1.Commit; SQLTransaction1.StartTransaction; ScriptText.Text:='CREATE TABLE Table1 (id VARCHAR(255), name VARCHAR(255));'; CreateScript.Script:=ScriptText; CreateScript.ExecuteScript; SQLTransaction1.Commit; IBConnection1.Close; finally ScriptText.Free; CreateScript.Free; end; end; _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal