Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Como Crear una base de datos Firebird desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=56915)

pmtzg 30-05-2008 21:44:32

Como Crear una base de datos Firebird desde delphi
 
Hola compañeros
pregunto a los expertos

que componente usar para crear una base de datos Firebird
la deseo crear desde delphi (por medio de codigo)

que uso tengo instalado Zeos y Mdo !!!

alguien me podria dar una orientadita ???

mil gracias

maeyanes 30-05-2008 21:47:18

Hola...

Busca un componente que te permita ejecutar scripts...

La verdad que no uso ni Zeos ni MDO, pero los IBX tienen un componente llamado IBScript... verifica si las suites que menciones tienen alguno parecido...

Ya teniendo el componente correcto, solo tienes que configurarlo para que ejecute X script con las instrucciones para crear la base de datos...


Saludos...

pmtzg 30-05-2008 21:54:24

ok. si los tengo
pero a eso me referia , cual es la instruccioin correcta para crear la base de datos
y de paso las tablas
mil gracias

enecumene 30-05-2008 21:55:55

También esta es otra forma de hacerlo:

Con el Componente IBDatabase tenemos que darle los siguientes datos:

A IBDatabase1->DatabaseName le tenemos que decir su ubicación

Código Delphi [-]
//Ubicación local:
IBDatabase1.DatabaseName="C:\\BD\\PRUEBA.GDB";
Ubicación en otro PC
IBDatabase1.DatabaseName="IP:C:\\BD\\PRUEBA.FDB";

//Luego en los parametros del IBDatabase1 le decimos el usuario, password //y si queremos el page_size de esta forma
IBDatabase1.Params.Clear();
IBDatabase1.Params.Add("USER 'SYSDBA'");
IBDatabase1.Params.Add("PASSWORD ''");
IBDatabase1.Params.Add("PAGE_SIZE = 4096");

//le decimos el dialecto
IBDatabase1.SQLDialect:=1;

//CREAMOS LA BASE DE DATOS
IBDatabase1.CreateDatabase();

Saludos.

pmtzg 30-05-2008 22:15:42

disculpa en la opción de Add
es con doble comilla ? porque estoy haciendo la prueba y me marca error

enecumene 30-05-2008 22:24:45

Cita:

Empezado por pmtzg (Mensaje 290291)
disculpa en la opción de Add
es con doble comilla ? porque estoy haciendo la prueba y me marca error

Prueba con una sola Comilla o Apóstrofe.

Saludos.

pmtzg 30-05-2008 22:38:46

disculpame soy nuevo en esto y estoy haciendo pruebas
pero me creeras que no me sale
me da error :
unavailable database

maeyanes 30-05-2008 22:42:44

Hola...

Verifica que el servidor de bases de datos esté ejecutándose o que los parámetros de conexión estén correctos...


Saludos...

enecumene 30-05-2008 22:44:20

Hola, Intentalo así:

Código Delphi [-]
IBDatabase1.DatabaseName := 'C:\base.FDB';
IBDatabase1.Params.Clear;
IBDatabase1.Params.Add('USER '+QuotedStr('SYSDBA')+'');
IBDatabase1.Params.Add('PASSWORD '+QuotedStr('masterkey')+'');
IBDatabase1.Params.Add('PAGE_SIZE = '4096'');
IBDatabase1.SQLDialect := 3;
IBDatabase1.CreateDatabase;

Saludos.

maeyanes 30-05-2008 22:51:37

Hola...

enecumene, los parámetros están mal puestos. Debería ir así:

Código Delphi [-]
IBDatabase1.Params.Add('user_name=SYSDBA');
IBDatabase1.Params.Add('password=masterkey');
IBDatabase1.Params.Add('page_size=4096');
// etc...


Saludos...

pmtzg 30-05-2008 22:55:38

disculpa tu lo has hecho ?
por que ya lo puse como tu indicas y me marca error

pmtzg 30-05-2008 23:33:06

La Forma Correcta que encontre para crear la base de datos Firebird
 
despues de tantos intentos y gracias a la ayuda de mis compañeros
que me hicieron el favor de guiarme

use Delphi 7, FireBird 2.1
componentes IBX a la versión 7.04

Que encontre por ahi navegando en la red.

NOTA IMPORTANTE: Hay algunas versiones de Delphi 7 que tienen un error en los componentes IBExpress (IBX) que hacen que los componentes ClientDataSet no funcionen correctamente. Recomiendo actualizar los componentes IBX a la versión 7.04 que podeis encontrarla en:

http://codecentral.borland.com/Item.aspx?id=18893

importante que se olvido y que lo hice copie el archivo dgs32.dll
en donde estaba mi aplicación
use este codigo para crear mi base de datos FireBird

Código Delphi [-]
IBDatabase1.DatabaseName := 'D:\base.fdb';
IBDatabase1.Params.Clear;
IBDatabase1.Params.Add('user ''SYSDBA''');
IBDatabase1.Params.Add('password ''masterkey''');
IBDatabase1.Params.Add('PAGE_SIZE = 4096');
IBDatabase1.SQLDialect := 3;
IBDatabase1.CreateDatabase;
showMessage ('Base de Datos Creada');

y listo probe la base de datos con IBExpert
y me funciono

Lo dejo aqui para otros de mis compañeros que apenas incursionan
como yo que soy totalmente nuevo en esto se guien

ahora por ahi alguien me puede decir como crear las tablas jejejeej:)

Saludos y gracias a todos

enecumene 31-05-2008 00:13:38

Cita:

Empezado por maeyanes (Mensaje 290306)
Hola...

enecumene, los parámetros están mal puestos. Debería ir así:

Código Delphi [-]IBDatabase1.Params.Add('user_name=SYSDBA');
IBDatabase1.Params.Add('password=masterkey');
IBDatabase1.Params.Add('page_size=4096');
// etc...



Saludos...

Así es como lo tengo yo, y me funciona sin problemas :D:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
IBDatabase1.DatabaseName := Base.Text;
IBDatabase1.Params.Clear;
IBDatabase1.Params.Add('USER '+QuotedStr(User.Text)+'');
IBDatabase1.Params.Add('PASSWORD '+QuotedStr(pass.Text)+'');
IBDatabase1.Params.Add('PAGE_SIZE = '+page.Text+'');
IBDatabase1.SQLDialect := StrToInt(Dialecto.Text);
IBDatabase1.CreateDatabase;
end;

Saludos.

sebastian0606 08-06-2008 07:16:57

Error
 
he seguido las instrucciones para crear la base de datos desde delphi y no pude...
Uso actualmente delphi 7 con firebird 2.0.1, actualicé los componentes IBX según lo recomendado en mensajes anteriores; realizo cualquiera de los procedimientos que funcionan para ustedes pero a mí me saca el error:

"Your user name and password are not defined. Ask your database administrator to set up an firebird login"

verifiqué el usuario SYSDBA y está con con masterkey... me parece muy extraño, si alguien me puede colaborar... muchas gracias...

sebastian0606 08-06-2008 08:03:15

Error
 
Encontré mi error:

No se trata de los usuarios definidos en firebird; al parecer es la forma de establecer los parámetros al IBDatabase...

En mi problema deseaba crear la base de datos y luego conectarme a ella... utilizando el mismo IBDatabase primero debí asignar los parámetros a la base de datos para crearla así:

******* CONFIGURACIÓN 1 *********

IBDatabase.Params.Clear;
IBDatabase.Params.Add('user ''SYSDBA''');
IBDatabase
.Params.Add('password ''masterkey''');
IBDatabase.Params.Add('PAGE_SIZE = 4096');
IBDatabase.SQLDialect := 3;
IBDatabase.CreateDatabase;

Luego para verificar la conexión con la base de datos debí cambiar los parámetros a esta forma:

******* CONFIGURACIÓN 2 *********

IBDatabase.Close;
IBDatabase.Params.Clear;
IBDatabase.Params.Add('user_name=SYSDBA');
IBDatabase.Params.Add('password=masterkey');

If IBDatabase.TestConnected Then
Conectado
Else NoConectado

si trataba de ejecutar TestConnected con la configuración 1 me salia que no había conexión... no entiendo la diferencia.. es como si la creación la realizara el IBDatabase a través de una unidad diferente a la de conexión.


La franja horaria es GMT +2. Ahora son las 21:54:02.

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