Conexión A Base Sqlite [SOLUCIONADO]


Subject: 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é.

Last edited by whisper on Monday, 17 March 2014, 18:23; edited 1 time in total
Profile PM  
Subject: 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"

Subject: 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!!

Profile PM  
Subject: Re: Conexión A Base Sqlite
Me olvidaba, el error es:

"Unable to locate database: base"

Gracias.

Profile PM  
Subject: 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

Last edited by Shell on Wednesday, 12 March 2014, 09:58; edited 3 times in total
Subject: 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

Subject: 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á.

Profile PM  
Subject: 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

Subject: 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]".

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

Profile PM  

Page 1 of 1


  
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.235s (PHP: -55% SQL: 155%)
SQL queries: 24 - Debug Off - GZIP Enabled