Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-09-2003
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
Crear base de datos

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
Responder Con Cita
  #2  
Antiguo 29-09-2003
Rudi Rudi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Venezuela
Posts: 78
Poder: 21
Rudi Va por buen camino
Hola.

Si entiendo bien, lo que necesitas es ejecutar un script sql con algo como:
Código:
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.
Responder Con Cita
  #3  
Antiguo 30-09-2003
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
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)
Responder Con Cita
  #4  
Antiguo 30-09-2003
Rudi Rudi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Venezuela
Posts: 78
Poder: 21
Rudi Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 30-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Posteado originalmente por Rudi
En la paleta de interbase hay un componente llamado IBSQL ...
Para lanzar scripts de este tipo, existe el componente IBScript
Responder Con Cita
  #6  
Antiguo 30-09-2003
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
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

Última edición por xerkan fecha: 30-09-2003 a las 12:19:30.
Responder Con Cita
  #7  
Antiguo 30-09-2003
Rudi Rudi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Venezuela
Posts: 78
Poder: 21
Rudi Va por buen camino
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.
Responder Con Cita
  #8  
Antiguo 30-09-2003
xerkan xerkan is offline
Miembro
 
Registrado: jun 2003
Posts: 89
Poder: 21
xerkan Va por buen camino
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
Responder Con Cita
  #9  
Antiguo 29-06-2006
switch211 switch211 is offline
Registrado
 
Registrado: jun 2006
Posts: 1
Poder: 0
switch211 Va por buen camino
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 [-]
with IBDatabase1.Params do

begin
Clear;
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.
Responder Con Cita
  #10  
Antiguo 29-06-2006
Rudi Rudi is offline
Miembro
 
Registrado: jul 2003
Ubicación: Venezuela
Posts: 78
Poder: 21
Rudi Va por buen camino
Yo me pensaba terco...

Tres años!!!! ni mi novia cuando quiere algo
Responder Con Cita
  #11  
Antiguo 04-10-2007
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 20
b3nshi Va por buen camino
cual seria el equicalente del IBScript en DBExpress ?

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

{Saludos}
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:40:45.


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
Copyright 1996-2007 Club Delphi