Conexión A Base Sqlite [SOLUCIONADO]


Objetivo: Conexión A Base Sqlite [SOLUCIONADO]
Hola a todos

Soy Juan Carlos de Argentina y aunque soy miembro hace bastante esta es mi primer pregunta en el foro.

Estoy haciendo una pequeña aplicación y no puedo conectarme a la base.

El código de conexión es una copia textual de la que se encuentra en el libro "gambas programación visual con software libre" solo agregue una variable
en el messege() para saber cual era el error. El código es el siguiente:

Public Function ConectarBase() As Boolean

If Conexion <> Null Then Return False

Conexion = New Connection

Conexion.Host = User.Home &/ "pcs"
Conexion.name = "base"
Conexion.Type = "sqlite"

Try Conexion.Open

If Error Then
Conexion = Null
Message.Error("Error al conectar con la Base de Datos\n\nEl error fue:\n " & Error.Text)
Return True
End If

Return False

End


He testeado desde gambas los permisos para saber si el programa tenia acceso al archivo y las funciones stat() y access() me dicen que
soy el dueño (obvio), que pertenece a mi grupo y que tengo permisos de escritura sobre el.

Lo que no se, es cual puede ser el motivo por el cual no puede conectar a la base si desde el IDE puedo modificarla, agregar datos y hacer consultas.

Si alguien tiene alguna idea, les agradeceré.

última edición por whisper el Lunes, 17 Marzo 2014, 18:23; editado 1 vez
Perfil MP  
Objetivo: Re: Conexión A Base Sqlite
Hola whisper:

¿es sqlite3?
Si es asi tienes que poner:

hconn.type = "Sqlite3"


Fijate que también tienes que activar los componentes: gb.db y gb.db.sqlite3

componentes_activados

Si no consigues conectarte, tienes que dar más detalle del error que te dá y/o subir el programa y la base de datos para "trastearlo"

Objetivo: Re: Conexión A Base Sqlite
Gracias por contestar, te comento que todos los los componentes estan seleccionados, incluso probe con
hConn = sqlite3

tampoco funciona.

En cuanto me devuelvan la notebook (la esta usando mi señora y es peligroso sacarsela) subo el programita para que lo puedan revisar,porque aohra estoy en la maquina del escritorio.

El programa es muy simple, la base solo tiene una tabla que guarda los datos de algunos host (IP, descricion y tipo) para despues recorrer la lista y hacer ping a casa uno para ver si están activos o no.

Te comento tambien que probé con gambas 3.1.1, como no funcionaba instale la 3.4.1 (o 3.4.2 no recuerdo) y ahora tengo la 3.5.2 (en debian Wheezy)

Cuando pueda lo subo. Gracias!!

Perfil MP  
Objetivo: Re: Conexión A Base Sqlite
Me olvidaba, el error es:

"Unable to locate database: base"

Gracias.

Perfil MP  
Objetivo: Re: Conexión A Base Sqlite
Hola whisper.

Supongo que pcs es un directorio.
Si es un directorio debería tener la barra detrás.

Conexion.Host = User.Home &/ "pcs/"


Por ejemplo he usado esto:

Public Function ConectarBase() As Boolean

If Conexion <> Null Then Return False

Conexion = New Connection

Conexion.Type = "sqlite3"
Conexion.Host = User.Home & "/BaseDatos/Bases1/"
Conexion.Name = "Precios"
Try Conexion.Open()
If Error Then
Message.Error("No puedo conectar a la base de datos.")
Conexion = Null
Return True
Else
Return False
Endif

End


Julio:

Creo que no es necesario activar el componente, para mi que el interprete tiene que hacer algo internamente.
En mi caso es sqlite3 y no esta activado el componente.

propiedadesproyecto

Supongo que las propiedades de la conexión le dice todo al interprete.
Esto antes no se usaba en Gambas2. Y no siempre parece necesario.

propiedades_conexion

Que por cierto en el desplegable no aparece sqlite3.

Y lo gracioso es que las propiedades de la ruta son equivocadas, pero en el código son correctas.
Que disparate

¿ Que pinta entonces las propiedades de la conexión ?

Saludos

última edición por Shell el Miercoles, 12 Marzo 2014, 09:58; editado 3 veces
Objetivo: Re: Conexión A Base Sqlite
Shell:

Citar:
Supongo que las propiedades de la conexión le dice todo al interprete.

Yo siempre lo hago por código.
En general, todo lo que pueda definir por código, lo hago asi.

Hay muchas propiedades de botones, y otros controles, que puedes modificar directamente en el grid de propiedades, pero prefiero ponerlo en el código, para no tenerme que acordar que lo puse en propiedad.

Un ejemplo, la propiedad "drop", (para coger y soltar), como lo haga desde el grid propiedades, cuando pasa tiempo y vuelvo a ver el programa, no me acuerdo como lo hice. Si está en el código es mucho más claro.

Saludos

Objetivo: Re: Conexión A Base Sqlite
Hola otra vez.

Ya descubrí cual fue mi error gracias al comentario del compañero Shell.

Estaba poniendo en el hConn.Path el nombre de la base "pcs" y en hConn.Name el nombre que aparece en las propiedades de la conexión a la base.

Gracias a todos por sus comentarios.

Bueno, nada mas decirle que encontré otro problema. Cuando lo ejecuto desde el IDE levantando los datos de Settings() funciona bien. pero cuando creo el ejecutable con un icono en el escritorio me dice que hay un error al asignar un valor del .config aunque convierta los valores a Integer con Cint() o val(). Pero eso es para otro post.

Gracias nuevamente. nos estamos viendo por acá.

Perfil MP  
Objetivo: Re: Conexión A Base Sqlite
debes declarar la variable Tconn as Connection


Tconn = New Connection
Tconn.Type = "sqlite3"
Tconn.Host = "/home/palsystems04/Documentos/Desarrollos/softpre/SOFTPRE/Temporales"
Tconn.Name = "softpre_tmp"
Tconn.open

Objetivo: Re: Conexión A Base Sqlite
jarrypalacios:

La consulta de whisper ya esta resuelta:

Citar:
Ya descubrí cual fue mi error gracias al comentario del compañero Shell.
Estaba poniendo en el hConn.Path el nombre de la base "pcs" y en hConn.Name el nombre que aparece en las propiedades de la conexión a la base.


Whisper:
Hay que poner en el titulo de pregunta "[Solucionado]".

Objetivo: Re: Conexión A Base Sqlite [Solucionado]
Mis disculpas , lo estoy cambiando ahora (creo) y gracias a jarrypalacios por tomarce el tiempo para contestar,

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1032s (PHP: -18% SQL: 118%)
Consultas SQL: 24 - Debug off - GZIP Activado