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 26-07-2011
Avatar de Thoma
Thoma Thoma is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 46
Poder: 0
Thoma Va por buen camino
¿Cómo creo una base de datos desde Delphi?

Hola, de nuevo estoy retomando el Delphi y mi duda es la siguiente:
Cuando intento conectarme a una base de datos y esta no existe, quiero crearla desde Delphi.
Hojeando un libro me pone lo siguiente:
Create database “c:\pruebas.GDB” User “ SYSDBA” password “masterkey” page_size 2048;
¿Para utilizar estas instrucciones hace falta algún componente específico?
¿Hay alguna otra forma de crear la base de datos desde Delphi?
Responder Con Cita
  #2  
Antiguo 26-07-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Es bastante habitual tener un archivo de datos en blanco, y copiarlo a una nueva base de datos para crearlo.

Puesto que vas a tener dificultades para crear una base de datos en código Delphi. La mayoría de componentes de conexión necesitan primero conectarse a una base de datos para poder lanzarle consultas. Por lo tanto no puedes crear la base de datos, puesto que primero necesitas conectarte a una base de datos existente.

Yo utilizo esto de copiar una base de datos en blanco que siempre tengo disponible. Probablemente otros usuarios te puedan aportar más soluciones.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 26-07-2011
Avatar de Thoma
Thoma Thoma is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 46
Poder: 0
Thoma Va por buen camino
Estoy revisando un manual que he encontrado por internet sobre los componentes Zeos y pone lo siguiente:
CreateNewDataBase:

TZConnection
:
ZConnection1.Database := 'd:\db1.fdb';
ZConnection1.Protocol := 'firebird-1.5';
ZConnection1.Properties.Add ('CreateNewDatabase=CREATE DATABASE ' +
QuotedStr ('d:\db1.fdb') + ' USER ' +
QuotedStr ('sysdba') + ' PASSWORD ' + QuotedStr ('masterkey') +
' PAGE_SIZE 4096 DEFAULT CHARACTER SET ISO8859_1');
ZConnection1.Connect;
:
He intentado instalar los componentes Zeos, pero me da una serie de errores y no puedo instalarlos. Utilizo el Delphi XE, no sé si por ello es por lo que no puedo instalarlos.

Última edición por Thoma fecha: 26-07-2011 a las 15:34:48.
Responder Con Cita
  #4  
Antiguo 26-07-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por Thoma Ver Mensaje
He intentado instalar los componentes Zeos, pero me da una serie de errores y no puedo instalarlos. Utilizo el Delphi XE, no sé si por ello es por lo que no puedo instalarlos.
Si detallas los errores que te encuentras, quizás te podamos ayudar.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #5  
Antiguo 27-07-2011
Avatar de Thoma
Thoma Thoma is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 46
Poder: 0
Thoma Va por buen camino
Cuando activo el ZComponent150.bpl y lo compilo me da los siguientes errores:

[DCC Error] ZComponent.dpk(58): E1030 Invalid compiler directive: '$ENDIF'
[DCC Fatal Error] ZComponent.dpk(58): F2063 Could not compile used unit '..\..\src\component\ZStreamBlob.pas'

Código Delphi [-]
package ZComponent;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS ON}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'Zeos Database Components'}
{$LIBSUFFIX '150'}
{$RUNONLY}
{$IMPLICITBUILD OFF}

requires
  rtl,
  dbrtl,
  ZPlain,
  ZDbc,
  ZCore,
  ZParseSql,
  vclactnband,
  vcl;

contains
  ZSqlUpdate in '..\..\src\component\ZSqlUpdate.pas',
  ZAbstractDataset in '..\..\src\component\ZAbstractDataset.pas',
  ZAbstractRODataset in '..\..\src\component\ZAbstractRODataset.pas',
  ZStreamBlob in '..\..\src\component\ZStreamBlob.pas',
  ZAbstractConnection in '..\..\src\component\ZAbstractConnection.pas',
  ZGroupedConnection in '..\..\src\component\ZGroupedConnection.pas',
  ZConnectionGroup in '..\..\src\component\ZConnectionGroup.pas',
  ZConnection in '..\..\src\component\ZConnection.pas',
  ZDataset in '..\..\src\component\ZDataset.pas',
  ZDatasetUtils in '..\..\src\component\ZDatasetUtils.pas',
  ZSqlStrings in '..\..\src\component\ZSqlStrings.pas',
  ZSqlProcessor in '..\..\src\component\ZSqlProcessor.pas',
  ZSqlMonitor in '..\..\src\component\ZSqlMonitor.pas',
  ZStoredProcedure in '..\..\src\component\ZStoredProcedure.pas',
  ZAbstractTable in '..\..\src\component\ZAbstractTable.pas',
  ZSqlMetadata in '..\..\src\component\ZSqlMetadata.pas',
  ZSequence in '..\..\src\component\ZSequence.pas'

  {$ENDIF};

end.
Responder Con Cita
  #6  
Antiguo 27-07-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Para el error de la directiva simplemente elimina el {ENDIF} que hay al final. Esta desparejado. A mi tambien me ha pasado al compilar la version 7.

P.D: Los errores y acentos no estçan puestos porque a mi teclado no le sale de los coj.... ponerlos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 27-07-2011
Avatar de Thoma
Thoma Thoma is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 46
Poder: 0
Thoma Va por buen camino
He comentado en {ENDIF} y ahora me da éste error:

[Fatal Error] Error in module ZComponent: CONTAINS clause is incorrect
Responder Con Cita
  #8  
Antiguo 27-07-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Thoma Ver Mensaje
He comentado en {ENDIF} y ahora me da éste error:

[Fatal Error] Error in module ZComponent: CONTAINS clause is incorrect
¿Has dejado bien el ; ?
Yo lo tengo igual que tú y las tengo instaladas.

Código Delphi [-]
package ZComponent;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS ON}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DESCRIPTION 'Zeos Database Components'}
{$LIBSUFFIX '150'}
{$RUNONLY}
{$IMPLICITBUILD OFF}

requires
  rtl,
  dbrtl,
  ZPlain,
  ZDbc,
  ZCore,
  ZParseSql,
  vclactnband,
  vcl;

contains
  ZSqlUpdate in '..\..\src\component\ZSqlUpdate.pas',
  ZAbstractDataset in '..\..\src\component\ZAbstractDataset.pas',
  ZAbstractRODataset in '..\..\src\component\ZAbstractRODataset.pas',
  ZStreamBlob in '..\..\src\component\ZStreamBlob.pas',
  ZAbstractConnection in '..\..\src\component\ZAbstractConnection.pas',
  ZGroupedConnection in '..\..\src\component\ZGroupedConnection.pas',
  ZConnectionGroup in '..\..\src\component\ZConnectionGroup.pas',
  ZConnection in '..\..\src\component\ZConnection.pas',
  ZDataset in '..\..\src\component\ZDataset.pas',
  ZDatasetUtils in '..\..\src\component\ZDatasetUtils.pas',
  ZSqlStrings in '..\..\src\component\ZSqlStrings.pas',
  ZSqlProcessor in '..\..\src\component\ZSqlProcessor.pas',
  ZSqlMonitor in '..\..\src\component\ZSqlMonitor.pas',
  ZStoredProcedure in '..\..\src\component\ZStoredProcedure.pas',
  ZAbstractTable in '..\..\src\component\ZAbstractTable.pas',
  ZSqlMetadata in '..\..\src\component\ZSqlMetadata.pas',
  ZSequence in '..\..\src\component\ZSequence.pas';

end.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 27-07-2011
Avatar de Thoma
Thoma Thoma is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 46
Poder: 0
Thoma Va por buen camino
He estado estableciendo las rutas en el Paht y al compilar el archivo ZComponentDesing150.bpl me da algunos Warnig's. y al hacer la Instalación me dice los siguiente:
"El programa no puede iniciarse porque falta ZComponent150.bpl en el equipo. Intente reinstalar el programa para corregir este problema"

y al pulsar Aceptar me da otro mensaje:
Can't load package ...\ZComponentDesign150.bpl. No se pude encontrar el modulo especificado.
Responder Con Cita
  #10  
Antiguo 27-07-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Hola Thoma, yo lo que hago es lo siguiente, selecciono la ruta de la siguiente manera

Código Delphi [-]
procedure TFCreadorTablas.Button1Click(Sender: TObject);
//------------------------------------------------------------------------------
//****************************************************[ Cargamos la ruta ]******
//------------------------------------------------------------------------------
begin
  if SaveDialog1.Execute then
  begin
    Label1.Caption:=ExtractFilePath(SaveDialog1.FileName);
  end;
end;

en un edit pongo el nombre y sólo el nombre de la BD, sin extensión y pulso el boton crear BD, con el siguiente código

Código Delphi [-]
procedure TFCreadorTablas.Button3Click(Sender: TObject);
//------------------------------------------------------------------------------
//********************************************[ CReamos La Base De Datos ]******
//------------------------------------------------------------------------------
var VarSRut:string;
begin
  if Label1.Caption='' then VarSRut:='C:\'+Edit1.Text+'.FDB'
                       else VarSRut:=Label1.Caption+Edit1.Text+'.FDB';
  IBDatabase1.DatabaseName := VarSRut;
  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'+#13+ #13+
               'Grabado en la ruta: '+VarSRut);
end;


Como vez sólo uso un Ibdataset, para su creación, claro que mi programa tiene más funciones, pero para crear la BD, espero sea lo que buscas.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #11  
Antiguo 27-07-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A mi para que me funcione (se me olvido comentártelo) he tenido que ca,biar la ruta de todos los packages:



Esto para todos los packages.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 27-07-2011
Avatar de Thoma
Thoma Thoma is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 46
Poder: 0
Thoma Va por buen camino
Jose Luis Garci, he probado la forma de crear la BD según el ejemplo que me has puesto y me ha funcionado. ¡¡Muchas Gracias!!
....
Neftali, he probado poniendo la ruta según como me dices, pero sigue dandome los mismos errores.
Responder Con Cita
  #13  
Antiguo 27-07-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Me alegro que te funcionara Thoma
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como Crear una base de datos Firebird desde delphi pmtzg Firebird e Interbase 14 08-06-2008 07:03:15
como añadir tabla a base de datos desde delphi anubis Firebird e Interbase 3 17-03-2008 17:46:41
Como creo una base de datos por Delphi Shidalis OOP 9 23-08-2005 22:05:15
Como respaldar una base de datos desde Delphi gilberto_1126 Conexión con bases de datos 2 01-09-2004 08:22:56


La franja horaria es GMT +2. Ahora son las 00:25:50.


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