Buenas Gente
Si me podrían ayudar con este problema que tengo.
Realizando pruebas en el programa que estoy corriendo y modificando otras cosas que esta saltando un error la ahora de actualizar, borror, buscar y agregar datos nuevos.
La verdad que estaba funcionando de forma correcta y de la nada salta el error
Adjunto el print de pantalla con el error
Por favor si alguien puede iluminar mi camino!
Error A Concexion En Base
Objetivo: Error A Concexion En Base
última edición por drojas el Martes, 21 Marzo 2017, 18:09; editado 2 veces
última edición por drojas el Martes, 21 Marzo 2017, 18:09; editado 2 veces
Objetivo: Re: Error A Concexion En Base
última edición por shordi el Martes, 21 Marzo 2017, 19:46; editado 1 vez
Pues no existen las tablas con esos nombres. Dice.
Comprueba las mayúsculas y minúsculas.
Comprueba que la Base de Datos que abres y usas es la que quieres abrir y usar (hay veces que uno tiene copias y cosas así y utiliza la que no es) y que contiene esas tablas que quieres manejar.
Comprueba las mayúsculas y minúsculas.
Comprueba que la Base de Datos que abres y usas es la que quieres abrir y usar (hay veces que uno tiene copias y cosas así y utiliza la que no es) y que contiene esas tablas que quieres manejar.
última edición por shordi el Martes, 21 Marzo 2017, 19:46; editado 1 vez
Objetivo: Re: Error A Concexion En Base
Puede ser que salte ese error porque tengo otra base de datos anexado en el programa?
Objetivo: Re: Error A Concexion En Base
Un consejo: No uses mayúsculas en los nombres de las bases de datos, los campos, las tablas, las vistas etc.
Otro consejo: No uses mayúsculas mezcladas con minúsculas en los nombres de las bases de datos, los campos, las tablas, las vistas etc.
Si haces caso omiso de los dos consejos en algún momento la vas a cagar en alguna consulta o vista, porque "Tabla" no es lo mismo que "tabla".
Creo que como te indica Shordi, algo pasa con el nombre de una tabla.
Saludos.
Otro consejo: No uses mayúsculas mezcladas con minúsculas en los nombres de las bases de datos, los campos, las tablas, las vistas etc.
Si haces caso omiso de los dos consejos en algún momento la vas a cagar en alguna consulta o vista, porque "Tabla" no es lo mismo que "tabla".
Creo que como te indica Shordi, algo pasa con el nombre de una tabla.
Saludos.
Objetivo: Re: Error A Concexion En Base
No si tienes claro qué base usas.
Qué tienes en la propiedad host de la conexión?
drojas escribió:
No si tienes claro qué base usas.
Qué tienes en la propiedad host de la conexión?
Objetivo: Re: Error A Concexion En Base
Muchas gracias por su ayuda y consejos
El problema era porque tenia dos bases sql y ahí se armaba el conflicto
El problema era porque tenia dos bases sql y ahí se armaba el conflicto
Objetivo: Re: Error A Concexion En Base
Mira, puedes tener mas de una conexion a mas de una base de datos, el tema es como lo gestiones.
Por ejemplo lo que antes te preguntaba Shordi sobre que Host estabas usando, se refiere a que en la "conexion1" tienes que definir el host1 y puedes tener una segunda conexion, por ejemplo conexion2 y en esa conexion debes tener un host2.
Ahora bien si tu problema era que "pensabas" que apuntabas a una base y luego en realidad apuntanbas a otra entonces el problema se corrige modificando el host correcto.
Saludos.
drojas escribió:
Mira, puedes tener mas de una conexion a mas de una base de datos, el tema es como lo gestiones.
Por ejemplo lo que antes te preguntaba Shordi sobre que Host estabas usando, se refiere a que en la "conexion1" tienes que definir el host1 y puedes tener una segunda conexion, por ejemplo conexion2 y en esa conexion debes tener un host2.
Ahora bien si tu problema era que "pensabas" que apuntabas a una base y luego en realidad apuntanbas a otra entonces el problema se corrige modificando el host correcto.
Saludos.
Objetivo: Re: Error A Concexion En Base
Si me di cuenta de eso pero no podía lograr o direccionar a la base que necesitaba. . . Cual seria el código para la conexión en estos casos?
tincho escribió:
Si me di cuenta de eso pero no podía lograr o direccionar a la base que necesitaba. . . Cual seria el código para la conexión en estos casos?
Objetivo: Re: Error A Concexion En Base
No es cuestión de código solamente. Si no entiendes para qué son las propiedades del objecto Connection siempre tendrás problemas. Te las cuento deprisa haciendo hincapié en SQLite:
-Type: {sqlite, mysql, firebird, odbc, etc.) el tipo de base de datos.
-Host: la dirección ip o url del servidor para bases de internet (mysql, firebird, etc.) o la carpeta donde está la base de datos si es sqlite
-Port: El puerto de conexión a la Base de Datos. Para SQLite no es necesario.
-user: El nombre del usuario de la base de datos. Para SQlite normalmente no es necesario
-password: La calve del usuario de la base de datos. Lo mismo que el anterior, para SQLite no suele ser necesaria.
-Name: El nombre de la base de datos. En los servidores de internet, eso, su nombre. En SQLite el nombre del fichero que la contiene, que tiene que estar dentro de la carpeta que hemos puesto en Host, por supuesto.
Es decir, para conectar con SQLite necesitas especificar estos tres parámetros:
Sencillo como ves. La única complicación viene si colocas la base de datos dentro del proyecto mientras lo estás desarrollando. ¿Por qué? porque en tiempo de diseño los path son relativos a la carpeta donde está el proyecto de gambas y en tiempo de ejecución son absolutos.
Se pueden dar distintas situaciones: Si tienes la Base de Datos dentro de la carpeta de tu proyecto en tiempo de diseño, Si tienes la Base de Datos en un path relativo a tu usuario o si tienes la Base de datos en un Path "absoluto", es decir fuera del home de tu usuario.
Para no liarte, un consejo:
-Créate una carpeta fuera del proyecto de gambas y coloca ahí las Bases de Datos SQLite.
Puedes poner todas las que quieras. No metas las bases de Datos dentro de la carpeta del Proyecto. Así no tendrás problemas con los paths relativos y absolutos.
Eso sí, recuerda que si compilas tu programa y lo quieres ejecutar en otro ordenador, los paths no existirán, por cuanto los usuarios de los otros ordenadores no se llamarán igual que el tuyo en tu ordenador. Para no tener problemas entonces, utiliza el siguiente código
Con eso te funcionará en cualquier ordenador... siempre que en él exista esa carpeta, claro.
Saludos
última edición por shordi el Sabado, 25 Marzo 2017, 17:27; editado 1 vez
Citar:
No es cuestión de código solamente. Si no entiendes para qué son las propiedades del objecto Connection siempre tendrás problemas. Te las cuento deprisa haciendo hincapié en SQLite:
-Type: {sqlite, mysql, firebird, odbc, etc.) el tipo de base de datos.
-Host: la dirección ip o url del servidor para bases de internet (mysql, firebird, etc.) o la carpeta donde está la base de datos si es sqlite
-Port: El puerto de conexión a la Base de Datos. Para SQLite no es necesario.
-user: El nombre del usuario de la base de datos. Para SQlite normalmente no es necesario
-password: La calve del usuario de la base de datos. Lo mismo que el anterior, para SQLite no suele ser necesaria.
-Name: El nombre de la base de datos. En los servidores de internet, eso, su nombre. En SQLite el nombre del fichero que la contiene, que tiene que estar dentro de la carpeta que hemos puesto en Host, por supuesto.
Es decir, para conectar con SQLite necesitas especificar estos tres parámetros:
miconexion.type="sqlite"
miconexion.host= /mi_carpeta_donde_está_mi_ base_en_mi_disco_duro/
miconexion.Name=el_nombre_de_mi_bd
miconexion.Open()
miconexion.host= /mi_carpeta_donde_está_mi_ base_en_mi_disco_duro/
miconexion.Name=el_nombre_de_mi_bd
miconexion.Open()
Sencillo como ves. La única complicación viene si colocas la base de datos dentro del proyecto mientras lo estás desarrollando. ¿Por qué? porque en tiempo de diseño los path son relativos a la carpeta donde está el proyecto de gambas y en tiempo de ejecución son absolutos.
Se pueden dar distintas situaciones: Si tienes la Base de Datos dentro de la carpeta de tu proyecto en tiempo de diseño, Si tienes la Base de Datos en un path relativo a tu usuario o si tienes la Base de datos en un Path "absoluto", es decir fuera del home de tu usuario.
Para no liarte, un consejo:
-Créate una carpeta fuera del proyecto de gambas y coloca ahí las Bases de Datos SQLite.
Puedes poner todas las que quieras. No metas las bases de Datos dentro de la carpeta del Proyecto. Así no tendrás problemas con los paths relativos y absolutos.
Eso sí, recuerda que si compilas tu programa y lo quieres ejecutar en otro ordenador, los paths no existirán, por cuanto los usuarios de los otros ordenadores no se llamarán igual que el tuyo en tu ordenador. Para no tener problemas entonces, utiliza el siguiente código
Miconexion.Host=user.home &/ "micarpetadebasesdedatos"/
Con eso te funcionará en cualquier ordenador... siempre que en él exista esa carpeta, claro.
Saludos
última edición por shordi el Sabado, 25 Marzo 2017, 17:27; editado 1 vez
Página 1 de 1
No puede crear mensajesNo 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.1336s (PHP: -35% SQL: 135%)
Consultas SQL: 26 - Debug off - GZIP Activado