Foros Club Delphi

Foros Club Delphi (http://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (http://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Crear una base de datos Firebird por código con los ZEOS (http://www.clubdelphi.com/foros/showthread.php?t=73215)

rrf 07-04-2011 23:49:01

Crear una base de datos Firebird por código con los ZEOS
 
Hola.

Estoy usando Lazarus+Zeos 6.6.6+Firebird 2.1.3.

Quiero crear una base de datos Firebird por código con los ZEOS, pero no he logrado hacerlo.

Usando Delphi 7+ IBX + Firebird lo hacía usando un código que posiblemente encontrara aquí, en clubdelphi. Intenté adaptar ese código para usarlo con los componentes ZEOS, pero no logré que se creara el archivo.

¿Alguien sabe cómo hacerlo o un enlace donde expliquen cómo realizarlo?

Gracias de antemano y saludos. ;)

Casimiro Notevi 08-04-2011 00:43:20

¿Y cómo lo estás haciendo? :confused:
¿Has probado ejecutando las utilidades de consola que trae firebird?

ecfisa 08-04-2011 00:57:59

Hola rrf.

Encontre este tutorial , donde creo que explica como crear una nueva base de datos desde los componentes. (Busca: CreateNewDatabase).
Lamento no poder aportarte más datos pero no he usado esos componentes.

Si encuentro algo más te lo hago saber de inmediato.

Un saludo.

rrf 08-04-2011 01:02:06

Casimiro, aquí incluyo un ejemplo:

Código Delphi [-]
var
   DataBase: TIbDataBase;
   Fich, aa : string ;
begin
        fich := 'c:\BdeDatos.fdb' ;

                    // Crear la BD vacía
                    //-------------------
         DataBase := TIbDatabase.Create(Application);
         try
            //Configura el objeto DataBase
            Database.DatabaseName := Fich ;
            Database.SQLDialect := 3;
            with Database.Params do
            begin
               Clear;
               Add('user ''SYSDBA''');
               Add('password ''masterkey''');
               Add('page_size = 1024');
    //           Add('default character set ISO8859_1');
            end;    
            Database.CreateDatabase;
         finally
            FreeandNil(DataBase);
            DModule.Dbase.Connected := false ;
         end;

Con ese código y los componentes IBX se crea, por código, la BD en Firebird. Luego se le añaden las tablas, datos, etc.

Lo que quiero es hacer eso con los componentes Zeos,... si se puede, claro.

Un saludo.

P.D.: Mientras escribía este comentario se añadió el mensaje de Ecfisa. Ya había leido ese manual, pero ignoré esa parte porque estaba iniciándome con los Zeos (y el tema estaba fuera de lo que intentaba aprender) y tu mensaje me ha permitido ver que puede ser posible.
Espero probarlo mañana y poder contar que tal me fue.
Muchas gracias.

rrf 08-04-2011 16:39:07

Hola de nuevo.

Ecfisa, el manual que me indicaste tenía la solución a la creación de una BD Firebird por código con Zeos.

Aquí está una adaptación de ese código:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  aa : string ;
begin
         // Crea la Base de Datos Firebird, ...
  aa := ExtractFilePath ( Application.ExeName ) + 'base_datos.fdb' ;

  ZConnection1.Database := aa ;
  ZConnection1.Protocol := 'firebird-2.1';
  ZConnection1.Properties.Add (
    'CreateNewDatabase=CREATE DATABASE ' + QuotedStr ( aa )
  + ' USER  ' + QuotedStr ('sysdba') + ' PASSWORD  ' + QuotedStr ('masterkey')
  + ' PAGE_SIZE 4096'
//  + ' DEFAULT CHARACTER SET ISO8859_1'
  );

  ZConnection1.User     := 'sysdba' ;
  ZConnection1.Password := 'masterkey' ;

  ZConnection1.Connect;

end;

Problema resuelto y dejo el código por si le sirve a alguien más.

Gracias Casimiro y Ecfisa. ;)


La franja horaria es GMT +2. Ahora son las 16:50:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi