Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-07-2021
LIA_GUILLERMO LIA_GUILLERMO is offline
Miembro
 
Registrado: feb 2016
Posts: 32
Poder: 0
LIA_GUILLERMO Va por buen camino
Consulta de existencia de BD y creación

Buen día, tengo la siguiente duda e inquietud, yo tengo creada mi base de datos para mi aplicación, la base de datos la cree manualmente, pero ahora quisiera que se creara automáticamente al iniciar la aplicación, lo que yo hacía primero era verificar si la base de datos existía y en caso de no existir pues la mandaba a crear, pero me di cuenta que al quitar la base de datos pues me marcaba error en el componente de FireDAC obviamente por que yo lo conectaba a esa base de datos y al no haber pues hay error, ahora mi duda es como verificar que la base de datos exista y crearla si no me eh conectado a alguna base de datos para que trabaje el componente bien y no me marque error.

Espero me puedan orientar en mi duda, Gracias!!!!
Responder Con Cita
  #2  
Antiguo 15-07-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No tengas conectada la BD en modo diseño, conecta a ella cuando inicies tu aplicación.
Responder Con Cita
  #3  
Antiguo 16-07-2021
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.272
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 LIA_GUILLERMO Ver Mensaje
ahora mi duda es como verificar que la base de datos exista y crearla si no me eh conectado a alguna base de datos para que trabaje el componente bien y no me marque error.
No comentas qué Base de Datos estás utilizando.

Si es una Base de Datos que utiliza fichero (tipo MSAccess, SQLite,...) pues deberás comprobar si el fichero existe en disco en la ubicación esperada. Con FileExists, por ejemplo.
Si estás trabajando con un SGBD (tipo SQLServer, Oracle, Firebird, Interbase,...) lo que se suele hacer es intentar conectar a la Base de Datos y capturar la excepción con un try..except.

Cita:
Empezado por Casimiro Notevi Ver Mensaje
No tengas conectada la BD en modo diseño, conecta a ella cuando inicies tu aplicación.
+1
__________________
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
  #4  
Antiguo 16-07-2021
LIA_GUILLERMO LIA_GUILLERMO is offline
Miembro
 
Registrado: feb 2016
Posts: 32
Poder: 0
LIA_GUILLERMO Va por buen camino
Las conexiones que hago las manejo en tiempo de ejecución, el motor de base de datos que manejo es Firebird, y si ya cambie la forma de comprobación, ahora lo hago por medio de FileExists, esa parte ya quedo, pero ahora cuando no existe tengo que crearla y al mandar a crear la base de datos me marca error, yo utilizo el componente de FireDAC TFDConnection y ocupo su función ExecSQL para mandar la sentencia de crear la Base de datos, y ese componente requiere una base de datos para conectarse, pero al no tener ninguna no se que puedo hacer, o existe alguna otra forma en la que yo pueda crearla?
Responder Con Cita
  #5  
Antiguo 16-07-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por LIA_GUILLERMO Ver Mensaje
... me marca error...?
¿ ?
Responder Con Cita
  #6  
Antiguo 16-07-2021
LIA_GUILLERMO LIA_GUILLERMO is offline
Miembro
 
Registrado: feb 2016
Posts: 32
Poder: 0
LIA_GUILLERMO Va por buen camino
Error while trying to open file
El sistema no puede encontrar el archivo especificado

Lo que pasa que el componente TFDConnection se conecta a una base de datos para poder realizar las sentencias, y yo la conecto a la base de datos que pues no existe y por eso el error, esa es mi duda que puedo hacer para que pueda crear esa base de datos.
Responder Con Cita
  #7  
Antiguo 16-07-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En todo caso deberías usar un componente para ejecutar scripts sql.
Aunque también podrías incluir en el proyecto una BD vacía y copiarla cuando te haga falta, en lugar de crearla.
Responder Con Cita
  #8  
Antiguo 02-08-2021
LIA_GUILLERMO LIA_GUILLERMO is offline
Miembro
 
Registrado: feb 2016
Posts: 32
Poder: 0
LIA_GUILLERMO Va por buen camino
Si Gracias, me fui por el segundo camino, aunque un poco diferente, añadí una base de datos extra solo para poder crear la base final, ya que el nombre lo elige el usuario final entonces puede cambiar, agradezco la ayuda!!
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
Creacion de hoja excel desde consulta IBSQL jafera Servers 2 14-07-2014 19:21:13
Existencia del Form luxus OOP 2 07-07-2008 05:13:33
existencia de archivo ddd_ddd Varios 1 06-11-2005 15:54:00
Existencia de ficheros emeritos Varios 1 23-01-2004 14:26:54
Chequear existencia de una BD vichovi Conexión con bases de datos 3 22-09-2003 23:17:48


La franja horaria es GMT +2. Ahora son las 13:55:34.


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