PDA

Ver la Versión Completa : Crear base de datos


xerkan
29-09-2003, 12:27:06
Hola, me gustaria saber si alguien sabe como crear una base de datos en tiempo de ejecucion en interbase/firebird sabiendo el host en el cual la quiero crear y su ruta

Rudi
29-09-2003, 21:34:48
Hola.

Si entiendo bien, lo que necesitas es ejecutar un script sql con algo como:CREATE DATABASE 'servidor:unidad:\ruta\db.gdb'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE = 8192
DEFAULT CHARACTER SET ISO8859_1

CREATE TABLE "Tabla1" (
"Id" Numeric (18,0) NOT NULL,
"Dato1" VARCHAR (50) CHARACTER SET ISO8859_1 COLLATE ES_ES NOT NULL
PRIMARY KEY ("Id"));
.
.
.
.

Espero que te sirva.

xerkan
30-09-2003, 02:16:55
Si pero lo q me gustaria saber es como hacer q el delphi automaticamente cree una base de datos en un host remoto en tiempo de ejecucion (q componentes usar, etc)

Rudi
30-09-2003, 03:52:53
Hola.

Yo en lo personal utilizo los Ib_Objects para mis conecciones nativas con firbird, en esos paquetes hay un componente llamado TIB_Script.

Yo lo utilizo en la instalación de mis aplicaciones, lo que hago es verificar si existe la base de datos antes de conectarme y si no está, ejecuto el script con la definición de la base de datos para crearla. Es tan facil como cargar el script con la definición de tu Base de Datos completa o con alguna otra instrucción SQL y ejecutar el script. Lo "complicado" seria crear el script, que lo puedes hacer mediante algun entorno de diseño (IB_Expert, IB_Manager, etc) y luego que tengas lo que quieres extraes la definición (metadata).

En la paleta de interbase hay un componente llamado IBSQL que, supongo, debe ser igual o parecido al que yo utilizo y asi en cada paquete de coneccines debe haber algún componente para ejecutar scripts de SQL, ya quedaría de tu parte elegir el que mejor te convenga.

Espero haber entendido lo que necesitas esta vez.

__cadetill
30-09-2003, 10:36:54
Posteado originalmente por Rudi
En la paleta de interbase hay un componente llamado IBSQL ...
Para lanzar scripts de este tipo, existe el componente IBScript

xerkan
30-09-2003, 11:18:14
E visto q para usar un script asi ahi q usar los componentes ibo, ya q prove en los ibx y no me funciono (necesitas linkar un ibdatabase y tiene este q estar abierta una base de datos q es la q creo crear), con los ibo lo prove y aunq ahi q linkar un ibconection este no tiene q estar abierto y me creo la bd.

Mi idea de crear una bd es porq voy a hacer una aplicacion comerciar multiempresa y quiero q las tablas de cada empresa se encuentren en bd distintas, para lo q pensaba en usar ibx y luego pasarme a otros componentes mas adelante por el tema de la compatibilidad del firebird, pero igual me planteo en hacerlo directamente en los componentes ibo, los cuales no conozco muy bien ni la licencia q tendria mi empresa q pagar al no ser gratuitos ni la rapidez de esta usando los controles normales de acceso a bd (no los suyos).

Tambien me interesaria saber como se usarian para crear aplicaciones personales y libres(creo q la licencia suya lo permite hacer sin pagar) ya q cuando ejecuto una aplicacion con los componentes ibo sin estar el delphi a la vez en funcionamiento me sale un cuadro de dialogo diciendo q me registre

Rudi
30-09-2003, 16:25:14
Hola xerkan.-

Con respecto a la licencia no sabría responderte pues los IBO que yo utilizo son los de mi trabajo y del asunto de la licencia se encargan mis jefes.

Con respecto a lo demás, la rapidez no es problema IBO es rápido, según mi jefe de proyectos ha hecho comparaciones y son rápidos, el único problema con los IBO es que para sacarles el jugo hay que trabajar con los componentes nativos y al hacer esto te tienes que casar con ellos pues no son compatibles con TDataSet, pero la velocidad y el control valen la pena.

Con lo del mensaje, ese mensaje te sale porque es un demo de los componentes, al pagar la licencia te instalas los paquetes completos (con fuentes) y sin mensajitos ni nada.

Pero no te apresures, hay otros componentes para conexión a Interbase/Firebird, están los Fib_plus, los Zeos (creo que gratis) y otros, busca y documéntate bien a ver cual te conviene mas. En mi caso no pude elegir pues cuando conseguí empleo me sentaron en una computadora con delphi6, Firebird e IB_Objects, por eso no conozco los demás componentes pues nunca trabaje antes con Interbase y cuando comencé a trabajar fue directo con IBO, lo demás lo sé por teoría pues en la práctica no he probado ningún otro.

Bueno, espero que te sirva todo esto y suerte.

xerkan
30-09-2003, 17:02:45
Bien el fibplus y el zeos los e probado (igual no a fondo del todo) pero el zeos lo descarte por q queria un componente exclusivo (mas rapido) el fibplus es muy parecido al ibx (me hace lo mismo con el create database), y el ibo parece q hiba bien (aunq me falta probarlo un poco mas), aunq me gustaria saber como se comporta con los componentes de aceso normales ya q quiero usar un grid multicolor (2 colores por cada columna) y para no atarme a los suyos

switch211
29-06-2006, 13:04:37
Aunque tarde pero creo que bien, yo lo he conseguido de la siguiente manera, si bien no sirve para el que preguntaba, que sirva para alguien que tenga la misma duda:

con el componente TIBDatabase de la paleta de Delphi 5 (en mi caso) y Firebird 1.5


Código Delphi [-] (http://www.clubdelphi.com/foros/#)
with IBDatabase1.Params do

beginClear;
Add('user ''SYSDBA''');
Add('password ''masterkey''');
Add('page_size = 8192');
Add('default character set ISO8859_1');

end;IBDatabase1.SQLDialect:=3;
IBDatabase1.DatabaseName:='localhost:c:\prueba.fdb';
IBDatabase1.CreateDatabase;





y verificaremos que se crea la base de datos.

Rudi
29-06-2006, 19:08:43
Yo me pensaba terco...

Tres años!!!! ni mi novia cuando quiere algo :)

b3nshi
04-10-2007, 03:59:22
cual seria el equicalente del IBScript en DBExpress ?

No se con q crear una base de datos en tiempo de ejecucion con estos componentes... :mad:

{Saludos}