Problema Al Crear Base De Datos


Goto page 1, 2  Next

Subject: Problema Al Crear Base De Datos
tengo un problema en cuento al crear la base de datos en gambas

se supone que al conectarme y no existir base de datos mi programa genera una base de datos

captura_de_pantalla_de_2013_08_21_15_35_10

ese es el problema! es logico que la base de datos no existe por eso quiero que me cree la base de datos

Profile PM  
Subject: Re: Problema Al Crear Base De Datos
Pues me parece que el problema es que tratas de abrirla antes de comprobar si existe. Deberías primero comprobar su existencia y luego abrirla. Yo lo hago así:
Public Sub ConectarBase() As Connection

If Not Exist(User.Home &/ ".stock/stock")
Try Mkdir User.Home &/ ".stock"
Copy "stock" To User.Home &/ ".stock/stock"
Endif

hconn = New Connection
hconn.Host = User.Home &/ ".stock"
hconn.name = "stock"
hconn.type = "sqlite3"
Try hconn.Open()
Return hconn
If Error Then
hconn = Null
Message.Error("error al conectar con la base")

Endif

Es otro tipo de base de datos pero el concepto es el mismo.
Saludos

Subject: Re: Problema Al Crear Base De Datos
Dani26 escribió: [Ver mensaje]
Pues me parece que el problema es que tratas de abrirla antes de comprobar si existe. Deberías primero comprobar su existencia y luego abrirla. Yo lo hago así:
Public Sub ConectarBase() As Connection

If Not Exist(User.Home &/ ".stock/stock")
Try Mkdir User.Home &/ ".stock"
Copy "stock" To User.Home &/ ".stock/stock"
Endif

hconn = New Connection
hconn.Host = User.Home &/ ".stock"
hconn.name = "stock"
hconn.type = "sqlite3"
Try hconn.Open()
Return hconn
If Error Then
hconn = Null
Message.Error("error al conectar con la base")

Endif

Es otro tipo de base de datos pero el concepto es el mismo.
Saludos


creo que tu crear directorios para tu base de datos. el problema que en el mio no se donde estaubicada solo la conecto de mysql a gambas entonces se me hace mas dificil saber si existe. solo me guiaba con ese fragmento de codigo

Profile PM  
Subject: Re: Problema Al Crear Base De Datos
Pues si el host=localhost, esa es la ubicación. Deberías tener un servidor web corriendo para conectarte al localhost,supongo. Al menos así es en php. Igual, insisto, deberías primero comprobar si existe y luego tratar de conectarte. Saludos

Subject: Re: Problema Al Crear Base De Datos
Dani26 escribió: [Ver mensaje]
Pues si el host=localhost, esa es la ubicación. Deberías tener un servidor web corriendo para conectarte al localhost,supongo. Al menos así es en php. Igual, insisto, deberías primero comprobar si existe y luego tratar de conectarte. Saludos
pues te digo que no hacer la comprobacion si no se la ubicacion de la base

Profile PM  
Subject: Re: Problema Al Crear Base De Datos
Soldazero no veo mucha lógica allí como dice el compañero Dani26 primero mandas verificar si la base esta abierta y luego si existe o no existe, otra cosa es que clase de bd quieres crear? sqlite o mysql porque con sqlite me imagino que lo puedes hacer con el código de tu imagen claro me imagino tambien que no solo es 'prueba' también deberías darle una ruta especifica donde debe estar tu proyecto para crear la misma como 'home/desarrollo/prueba' ahora si quieres hacer eso con mysql creo que no se puede porque entonces habría que validar el root,localhost, es mejor crearla y luego abrir mysql o phpmyadmin y copiar la bd prueba en sqlite y pegarla las tablas a mysql usando el phpmyadmin y el gestor de conexion de bd de gambas 3.

Subject: Re: Problema Al Crear Base De Datos
Estoy trabajando con mysql server mi objetivo es crear una aplicacion que cuando se instale cree la base de datos mysql a punto de codigos como el ejemplo de la imagen. Ese ejemplo lo consegui en google. La cosa esta que yo ya casi tengo mi programa. Pero necesito que el cree la base de datos para no usar sqlite porque mi base ya la tengo creada en msql server y todas las conecciones las tengo haci. El cual me genera un problema si yo genero el paquete de instalacion de mi programa se iria sin la base de datos. Por eso quiero que el programa la cree a la hora de no encontrar base de datos. Yo he estado trabajando con mysql y gambas y haciendo coneccion atraves de un modulo pero sin tomar encuenta que no existe base de datos. Gracias espero que me entiendan


en pocas palabras necesito sabser como comprobar si existe la base de datos mysql y si no existe que la cree a punto de codigos internos

es cierto el codigo de la imagen no tienen anta logica. ya decia yo que ese tutoria que estaba en la web era muy facil

Last edited by soldadozero on Thursday, 22 August 2013, 18:26; edited 1 time in total
Profile PM  
Subject: Re: Problema Al Crear Base De Datos
soldadozero:

Es como te dice Dani26

hconn = New Connection
hconn.Login = "root"
hconn.Password = "el que sea"
hconn.name = "datos"
hconn.type = "mysql"
Hconn.Host = "localhost"
TRY Hconn.Open
IF ERROR THEN
Message.Error("Error Abriendo la Base de Datos!!")
ELSE
'nos hemos conectados!!!
'hacer lo que sea...
ENDIF



o

Hconn.Host = "127.0.0.1"


Saludos

Subject: Re: Problema Al Crear Base De Datos
[quote user="jsbsan" post="18755"]soldadozero:

Es como te dice Dani26

hconn = New Connection
hconn.Login = "root"
hconn.Password = "el que sea"
hconn.name = "datos"
hconn.type = "mysql"
Hconn.Host = "localhost"
TRY Hconn.Open
IF ERROR THEN
Message.Error("Error Abriendo la Base de Datos!!")
ELSE

"en esta parte de qui hago la comprobacion de que si no existe la DB entonces que me cree una? verdad como el codigo de arriba"
'nos hemos conectados!!!
'hacer lo que sea...
ENDIF


Profile PM  
Subject: Re: Problema Al Crear Base De Datos
Al margen de cuál es el mejor método para crear automáticamente las bases de datos cuando tu programa se ejecuta por primera vez en un computador desconocido (se han citado al menos dos o tres en otro hilo tuyo, creo), el principal problema o el que debería preocuparte más es el hecho de que nunca sabes si la máquina que va a ejecutar tu programa tiene instalado el servidor mysql u otro o ni siquiera tiene uno disponible para instalar. Peor aún, aunque lo tenga, no tendrás la seguridad de poder acceder a él por el tema de las credenciales, es decir, no sabes si tiene o no contraseña ni cuál tiene establecida.

Si realmente necesitas usar un servidor mysql porque el volumen de datos es muy grande o porque varios procesos van a acceder a los datos al mismo tiempo (concurrencia) o alguna otra razón de peso, plantéate si vale la pena pasar por tanto inconveniente en lugar de usar otro tipo de base de datos como sqlite, que es perfectamente válida para casi todo además de su facilidad de uso y transporte.

No digo ni pretendo que cambies tus ideas, sino que es bueno debatir un poco sobre las necesidades reales antes de escoger un motor u otro de bases de datos, sopesando sus pros y sus contras.

Saludos

Profile PM  
Goto page 1, 2  Next

Page 1 of 2


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1562s (PHP: -12% SQL: 112%)
SQL queries: 24 - Debug Off - GZIP Enabled