Autor |
Mensaje |
NelsonVento
Usuario
Registrado: Marzo 2011
Mensajes: 10
Edad: 50 Ubicación: Zulia
|
Crear Paquetes En Gambas con BB.DD.
Buenas a todos...
He terminado un programa de gestión universitaria y al crear el paquete para instalarlo en otra PC... se instala y corre perfectamente paro al momento que llama a la BD me da ERROR,
¿Que hago para que encuentre la BD?
|
#1 Lunes, 19 Septiembre 2011, 22:51 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Crear Paquetes En Gambas
¿que tipo de BD es?
Si es SQLite, tendras que incorporar el archivo de la base de datos a tu programa y que el se encarge (cuando se ejecuta la 1º vez) de crear de crear la carpeta y copiarlo alli. ( asi lo hace mi programa Visitante
http://jsbsan.blogspot.com/2011/09/...-para-usar.html)
Si es MySQL, nunca lo he echo, pero seguramente tendras que exportar tu BD (de tu ordenador) y luego importarla, al nuevo ordenador, esto lo haria yo con phpMyAdmin. No se si se podra hacerlo con gambas directamente...
Saludos
última edición por jsbsan el Martes, 20 Septiembre 2011, 16:43; editado 1 vez
|
#2 Martes, 20 Septiembre 2011, 16:42 |
|
|
NelsonVento
Usuario
Registrado: Marzo 2011
Mensajes: 10
Edad: 50 Ubicación: Zulia
|
Re: Crear Paquetes En Gambas
Hola Jsbsan...
Si la tengo en MySql, dentro de gambas... ¿cual sera la dirección donde se almacenan las BD en gambas para importarla?, o en que directorio ya que busco el nombre de la BD y no aparece en ningun lado del sistema de archivos... u otra forma sería ¿crear un programa solo para que cree las BD con los nombre y especificaciones de las tablas? Que opinas....
|
#3 Martes, 20 Septiembre 2011, 17:06 |
|
|
Dani26
Analista Programador
Registrado: Junio 2010
Mensajes: 365
Edad: 58 Ubicación: Montevideo
|
Re: Crear Paquetes En Gambas
Nelson,¿guardaste la base de datos en la carpeta datos del programa para que la guadara en la carpeta del proyecto al compilar? ¿Qué rutina utilizas para conectarte a la base de datos? ¿Cùal es su path(ruta)?
Yo tuve un problema similar con sqlite y lo solucionè de la siguiente manera
Primero comprueba si existe la base de datos, si no es así crea el directorio .juego y copia la misma allí. Está probado ya en un par de máquinas. En mi caso el host en la rutina de conecciòn es:
hconn.host=User.Home &/ “.juego”
Espero te sirva de ayuda.
Saludos
=================== Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
|
#4 Martes, 20 Septiembre 2011, 20:53 |
|
|
NelsonVento
Usuario
Registrado: Marzo 2011
Mensajes: 10
Edad: 50 Ubicación: Zulia
|
Re: Crear Paquetes En Gambas
Buenas tardes Dani...
Ok, voy ha realizarlo... daré los resultados en el momento que lo valla a implantar en otra maquina... Gracias por la ayuda...
|
#5 Martes, 20 Septiembre 2011, 21:24 |
|
|
Fenriz07
Programador
Registrado: Agosto 2010
Mensajes: 118
Edad: 32 Ubicación:
|
Re: Crear Paquetes En Gambas
Interesante lo e guardado en marcadores, e tenido problema con esto.
|
#6 Miercoles, 21 Septiembre 2011, 06:23 |
|
|
NelsonVento
Usuario
Registrado: Marzo 2011
Mensajes: 10
Edad: 50 Ubicación: Zulia
|
Re: Crear Paquetes En Gambas
Hola...
Primero utilice para crear la base de datos el siguiente codigo
Varios puntos...
1. Crea perfectamente la BD dentro de Root
2. Donde en la linea de COPY si lo dejo así me dice que ya existe y da error. Si le coloco ".Control/Aced" me dice que no existe...
3. Si le quito la linea de COPY funciona, crea las tablas, pero no se ven las tablas creadas, "existen pero no las puedo visualizar".
4. Da error al Ejecutarlo mediante un Run, pero si compilo paso a paso funciona perfectamente...
5. Al hacer el paquete me encuentra la BD pero no las tablas....
Esta complicado
|
#7 Miercoles, 21 Septiembre 2011, 16:37 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Crear Paquetes En Gambas
Creo que confundes lo que es una base de datos como MySQL con lo que es una base de datos de escritorio como MS-Access o SQLite.
En las bases de datos de escritorio, todo está en un fichero que contiene los datos de las tablas y los datos de control de la propia base. En los servidores de bases de datos "de verdad", la ubicación física de las tablas es independiente por completo del servicio de los datos. En otras palabras: No es un tema de gambas ni de tu programa dónde estén ubicadas las tablas, ni puedes transportarlas como tal en un paquete de instalación.
Cada Ordenador donde esté montado el servidor de MySQL (o postgreSQL o Oracle) tendrá las tablas en una serie de tablespaces y ficheros de control que no tienen nada que ver con las tablas en sí mismas.
Resumiendo: No puedes llevar la base MySQL en tu aplicación. Todo lo más puedes llevar una definición de las tablas en formato SQL y los datos en formato .csv (o SQL también) y crear y restaurar las tablas en el servidor de destino, pero no puedes portarlo todo en un ficherito que instalas en la maquina del cliente.
Si quieres hacer ésto último usa SQLite o similar.
Así, en el objeto connection no puedes hacer esto
hcon = NEW Connection
WITH hcon
' Abre la conexion sólo al servidor de datos, sin abrir tablas
.Type = "mysql"
.Host = User.Home &/ ".Control" 'En el directorio Home (para todos los usuarios)
.User = "root"
.Password = ""
.Name = ""
END WITH
y que te funcione con MySQL.
En su lugar tienes que hacer algo así:
' Abre la conexion sólo al servidor de datos, sin abrir tablas
.Type = "mysql"
.Host = "127.0.0.1" 'En el caso de que el servidor esté en la misma máquina o la dirección IP del servidor de internet o red local si no es así.
.User = "mi usuario" 'nunca root, por seguridad
.Password = "mipass" 'no encontrarás una base mysql sin passwords de usuario sin llamar tonto a su administrador
.Name = "mibasededatos"
Espero que te sirva de ayuda.
=================== No podemos regresar
última edición por shordi el Jueves, 22 Septiembre 2011, 09:06; editado 1 vez
|
#8 Miercoles, 21 Septiembre 2011, 17:40 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Crear Paquetes En Gambas
Estoy deacuerdo con lo que dice Shordi
Citar: Resumiendo: No puedes llevar la base MySQL en tu aplicación. Todo lo más puedes llevar una definición de las tablas en formato SQL y los datos en formato .csv (o SQL también) y crear y restaurar las tablas en el servidor de destino, pero no puedes portarlo todo en un ficherito que instalas en la maquina del cliente.
Eso lo hago yo con PHPMyAdmin, importo las tablas y datos (en mi máquina) y lo exporto (en la otra máquina). Con un ficherito ".SQL" que crea la aplicion PHPMyAdmin.
Pero... en gambas se puede ejecutar comandos de la terminal y tambien expresiones SQL, lo mismo tambien es posible ejecutar ese archivo y las sentencias de .SQL, con lo cual lo podias incorporar a tu aplicacion (en carpeta DATOS), y asi crear las tablas y datos desde gambas directamente...
Por ejemplo para ejecutar por comando:
Siendo copia.sql, el archivo se ha creado importando desde PHPMyAdmin de tu ordenador, y ejecutas ese orden en el ordenador nuevo (donde quiere que se instale).
Bueno, esto no lo he probado, pero puede que funcione... estonces se haria del mismo modo como si fuera sqlite...
Lo probare...
Saludos
|
#9 Miercoles, 21 Septiembre 2011, 22:21 |
|
|
Fenriz07
Programador
Registrado: Agosto 2010
Mensajes: 118
Edad: 32 Ubicación:
|
Re: Crear Paquetes En Gambas
Pero tengo entendido que con SQLite si se puede, ya que solo es un archivo o no se puede meter eso dentro del .deb??? Salu2
PD: Me consegui esto que me arreglo un problema
Citar:
bueno estuve muucho tiempo intentando poder solucionar este problema. ya que no podía crear mi paquete de instalación por que decía que faltaba la bendita librería tar-1.13
a lo que finalmente solucione con un simple comando
sudo ln -s /bin/tar /bin/tar-1.13
este comando le hace creer a nuestro gambas que tiene la vercion correcta y deja continuar con tarea de ejecutar un paquete
espero que esto les solucione tanto la vida como ami jajaj suerte
http://www.ubuntu-es.org/node/156517
última edición por Fenriz07 el Jueves, 22 Septiembre 2011, 06:41; editado 1 vez
|
#10 Jueves, 22 Septiembre 2011, 05:34 |
|
|
|