Ver la Versión Completa : [ CONSULTA ] Consultar BD Access
Buenos dias
Tengo una BD en Access con la cual hago mis "trapicheos" con el .net y java (y antes con VB6)... y ahora quería saber si podría usarla en un programilla que me quiero hacer en Android y poder consultarla.
Sé que puedo pasarla a SQLite y usarla con Android, pero es por no andar cambiando... ya que la facilidad que me da Access para cambiar un registro en el propio programa de Microsoft me viene bien, además que por unificar, tendría que modificar mis otras dos aplicaciones de .net y java para atacar una BD SQLite.
Estoy buscando a ver si hay algún conector para las bases de datos access... algo para poder conectarlo... Si alguien sabe cómo hacerlo, por favor, agradecería la ayuda.
Muchas gracias
Un saludo
Hasta donde yo se,no hay manera de hacerlo. Lo que yo suelo hacer es exportarla a CSV, copiar el fichero de texto al proyecto (carpeta raw) y de ahi importarla a una base sqlite. Si necesitas ayuda con eso,me lo comentas.
Sent from my CMLBoston using Tapatalk
iliberis
07/10/11, 00:35:11
Y si no, con ese mismo fichero CSV y el SQLite Database Browser se acaba mucho antes. Te dejo la URL: http://sourceforge.net/projects/sqlitebrowser/
En Android, como en DOS, se puede usar BD Access... haciéndote tu propio conector. El tema es que hay que construir el motor y, la verdad, por lo que recuerdo de una practica en la que habia que hacer precisamente eso (en DOS, claro), yo no lo aconsejo. Es mucho trabajo, y los resultados serian muy pobres. Los recursos con los que contamos en Android lo desaconsejan. Ni te imaginas lo que es trabajar con los indices en Access.
Al no encontrar nada por internet me imaginaba que no habría conectores... pero era posible que alguno se me hubiera pasado y existiera algo....
Mi gozo en un pozo... ahora a ver qué es lo mejor, tener la BD de Android en SQLite y la de PC en Access e ir actualizando una de la otra... o las dos iguales (en este caso debería ser SQLite) y no tener que cambiar de un lado a otro... aunque tendría que cambiar las conexiones de los programas .net y java... no sé que es mejor!!!!!!
A sopesarlo... si tenéis alguna idea... es bienvenida!!!!!!!!!
Muchas gracias por las respuestas... y si alguien encuentra algo... que me avise!!!!!!
Un saludo
PD: Pikoh, si quieres, pásame el código de cómo lo has hecho, así lo pongo en práctica... me encanta ver código fuente de otra gente y de otras cosas para aprender "trucos" y poder usarlos en otras cosas... Gracias!!!!!!
iliberis
07/10/11, 16:54:51
Mi gozo en un pozo... ahora a ver qué es lo mejor, tener la BD de Android en SQLite y la de PC en Access e ir actualizando una de la otra... o las dos iguales (en este caso debería ser SQLite) y no tener que cambiar de un lado a otro... aunque tendría que cambiar las conexiones de los programas .net y java... no sé que es mejor!!!!!!
Desde mi experiencia, te adelanto que hace muuuuchos años que no uso Access. SQLite te ofrece la misma funcionalidad, pero es muchisimo más eficiente. De entrada, tiene muchas menos dependencias que Access, consume muchisimos menos recursos y es más rápido en todas las operaciones. El conector que hay disponible para .NET es estupendo, y funciona de forma facil (ADO.NET) y eficiente.
Además, el SQLite Database Browser, una vez que te acostumbras, es también muy cómodo... y portable.
Yo te aconsejo que lo hagas todo en SQLite directamente. Te vas a ahorrar muchisimos dolores de cabeza.
La alegria que me llevé yo cuando vi que Android usa SQLite por defecto!!! Access, como programa gestor de base de datos, no va mal... pero como motor, es lamentable.
Desde mi experiencia, te adelanto que hace muuuuchos años que no uso Access. SQLite te ofrece la misma funcionalidad, pero es muchisimo más eficiente. De entrada, tiene muchas menos dependencias que Access, consume muchisimos menos recursos y es más rápido en todas las operaciones. El conector que hay disponible para .NET es estupendo, y funciona de forma facil (ADO.NET) y eficiente.
Además, el SQLite Database Browser, una vez que te acostumbras, es también muy cómodo... y portable.
Yo te aconsejo que lo hagas todo en SQLite directamente. Te vas a ahorrar muchisimos dolores de cabeza.
La alegria que me llevé yo cuando vi que Android usa SQLite por defecto!!! Access, como programa gestor de base de datos, no va mal... pero como motor, es lamentable.
Mi intención primera antes de escribir este post, era hacer eso... pero da pereza cambiar todo lo que ya tengo hecho......... y además, es cómodo usar access para dos cambios tontos en la BD... ya que como dices, para gestionar la BD es cómodo y rápido, auque como motor sea menos bueno que otros...
En fin, si no hay nuevas ideas.... espero ponerme en poco con el cambio..
Muchas gracias!
iliberis
10/10/11, 10:38:20
Mi intención primera antes de escribir este post, era hacer eso... pero da pereza cambiar todo lo que ya tengo hecho.........
No es tanto... yo lo he hecho miles de veces, y no hay que cambiar tanto. Todo depende de cómo hayas escrito el programa, pero si es ADO normalito y SQL para todo (es lo más usual y comodo), pues apenas cambiar cuatro objetos y una cadena de conexión. En programas de varios miles de lineas de codigo a mi me ha llevado un par de horas.
No es tanto... yo lo he hecho miles de veces, y no hay que cambiar tanto. Todo depende de cómo hayas escrito el programa, pero si es ADO normalito y SQL para todo (es lo más usual y comodo), pues apenas cambiar cuatro objetos y una cadena de conexión. En programas de varios miles de lineas de codigo a mi me ha llevado un par de horas.
Tienes toda la razón del mundo... porque lo hice así por si hacía cambios de BD más adelante (como toca ahora) ...... pero da pereza... jejejeje...
Nada, la verdad, cambiar la cadena de conexión y poco más... lo tengo hecho con ADO... pero.... da pereza!!!!!!!!!!!!!! jajajajaja
Gracias.... un saludo
iliberis
10/10/11, 10:47:08
No, si de pereza me vas a contar a mi, jejeje. Pero bueno, tambien verás mejorar en mucho el rendimiento de la app, y no hablemos de lo que vas a quitar de dependencias!!! Lo que "pesa" el motor de Access, y lo ligerito que es el SQLite. Yo es que ya no uso otra cosa. Y para trabajar con la BD fuera del programa, el SQLite Database Browser es magnifico. Ya ni uso el interface apenas... todo se lo doy en SQL.
No, si de pereza me vas a contar a mi, jejeje. Pero bueno, tambien verás mejorar en mucho el rendimiento de la app, y no hablemos de lo que vas a quitar de dependencias!!! Lo que "pesa" el motor de Access, y lo ligerito que es el SQLite. Yo es que ya no uso otra cosa. Y para trabajar con la BD fuera del programa, el SQLite Database Browser es magnifico. Ya ni uso el interface apenas... todo se lo doy en SQL.
Ains.... mira, lo del tamaño por las dependencias... pues bueno, la verdad... eso "lo aguanta" el ordenador... jejeje... lo malo es que quitar/poner/modificar columnas de una tabla... es tan comodo en access... y mira que en la oficina trabajo con SQL Server, o sea, que no es que no sepa hacerlo "bien hecho"... pero.... jajajajjajaja...
En fin, como tengo unas pruebas que funcionan que hice para Windows Mobile hace un año o algo así... no me será dificil hacer el cambio... (he dicho que me da pereza? :P) A ver si saco un rato en algún momento y hago los cambios en .net (es la aplicación principal que uso) y luego lo hago en java... para luego aplicarlo en Android.
Muchas gracias!!!!!!! (de verdad, ahora me entran ganas de hacer el cambio...)
Un saludo
acedoriv
19/11/11, 21:36:41
Buenas tardes. Perdón por la intromisión.
Me gustaría plantearos una duda sobre estos dos gestores de BD.
Una base de datos de Access que incluye imágenes entre sus datos podría traspasarla a Sqlite y con éste último podría ver las imágenes?.
Vaya por delante que no conozco Sqlite (Access algo sí) y que lo que necesitaría tener en Android es un gestor de Bases de datos que me permitiera ver imágenes incrustadas.
Gracias por vuestra ayuda.
iliberis
20/11/11, 00:27:02
En primer lugar, un detalle importante: Access, además de un motor de bases de datos, es un GESTOR, que permite manejar esas BD, meter imagenes, etc. sin mayor problema. Pero SQLite es solo un motor de base de datos, y no un programa para gestionarlas.
A pesar de que no existe un programa como tal, SQLite es un motor bastante completo, que SI que permite tener campos Blob, en los que puedes poner no solo imagenes, sino cualquier otro tipo de archivos (eso si, no muy grandes).
Poner imagenes en una BD SQLite no es tan simple como pinchar con el raton. Hay que guardar el archivo dentro del campo Blob desde el codigo y luego para verlo es necesario extraerlo a un directorio temporal, para poder cargarlo desde los views.
Asi que, poderse, se puede. Es necesario hacer un programa (en Windows), que lea un registro, extraiga la imagen a una carpeta desde el archivo Access, y luego inserte ese registro y su imagen correspondiente en el archivo de SQLite. Lo bueno de todo esto es que las bases de datos SQLite se pueden leer/escribir desde casi cualquier lenguaje.
Asi que la unica pieza que falta es el formato del Blob en Access, porque creo que es ligeramente diferente en el programa Access que en los lenguajes de programación. Pero, una vez hechas un par de pruebas, seguro que se da con la forma de extraer las imagenes.
El archivo resultante SQLite es compatible con cualquier programa/sistema que use esos archivos, asi que no habrá problema. Eso si, siempre que se use el mismo metodo para colocar las imagenes en su interior y luego para sacarlas (porque hay varios)
Buenas tardes. Perdón por la intromisión.
Me gustaría plantearos una duda sobre estos dos gestores de BD.
Una base de datos de Access que incluye imágenes entre sus datos podría traspasarla a Sqlite y con éste último podría ver las imágenes?.
Vaya por delante que no conozco Sqlite (Access algo sí) y que lo que necesitaría tener en Android es un gestor de Bases de datos que me permitiera ver imágenes incrustadas.
Gracias por vuestra ayuda.
Sí, sí se pueden guardar imagenes en SQLite (en el campo BLOB como te ha indicado iliberis)
Yo pasé mis campos OLE de Access a BLOB de SQLite y me funcionan perfectamente...
Un saludo
acedoriv
22/11/11, 22:43:35
Gracias Iliberis; gracias Pepeto.
Me dáis una de cal y una de arena.
Veo que es posible lo que necesito.
He encontrado algún gestor de SQLITE, como por ej. un browser para Windows o un plugin para firefox, pero, lo que para mí es imposible es programar para Android una app que sea capaz de gestionar una base SQLITE.
Aunque hace tiempo, mucho tiempo, hice mis pinitos en BASIC, o en C (El C original, antes del ++), ahora, después de haber leído vuestros comentarios a mi pregunta me he puesto a investigar un poco y, así, de entrada, me he visto desbordado. SDK de Android, eclipse, sqlite... Buf...
Agradecería, finalmente, algún enlace a algún código que pudiese estudiar. ¿Sería mucho pedir, Pepeto?.
Otra vez gracias, y, prometo ponerme a estudiar, y a ver hasta donde llego.
:cry:
Pues a ver... un sitio "donde empezar"... yo empecé por la web www.sgoliver.net/blog/?p=1313 de la cual hay un post en este foro.... la veo muy completa y muy bien explicada... y de ahí... con google como buscador... al infinito!!!! jejejeje
Yo la sqlite de momento la veo con la extension de firefox... pero tengo por ahí algún programa que gestiona la bd... no me acuerdo de su nombre.
Ale... mucha suerte.... y sobre todo... "perder tiempo" y horas con esto... es la mejor forma de aprender
Un saludo!
iliberis
26/11/11, 00:39:59
Pues yo, con lo que comentas, directamente me iria a Basic4Android. Te va a gustar, jejeje.
PD - Si quieres un codigo del 50% escribeme. Ese lenguaje va de lujo
acedoriv
26/11/11, 21:09:31
Gracias.
Iliberis, ¿a qué te refieres con el código del 50% ?
Empezaré a estudiar el B4A. Pinta bien.
iliberis
27/11/11, 00:20:45
Pues es un cupon de descuento del 50% para la version Enterprise. La unica diferencia con la version "barata" es que esta tiene dos años de actualizaciones, en lugar de dos meses. Con el cupon se queda al mismo precio que la basica.
A algunos de los que hemos comprado esa version nos dan un codigo para repartirlo (vale para 20 veces), y asi "promocionar" un poco el lenguaje. Asi que una vez que hayas visto que el lenguaje sirve a tus propositos, pues puedes conseguir uno de estos cupones y comprarlo al mismo precio que la otra version.
acedoriv
30/11/11, 23:59:41
Otra vez gracias Iliberis.
Ya te he visto por el foro de B4A; yo espero prodigarme por ahí.
Nos vemos.
iliberis
01/12/11, 01:01:29
Pues ahi te esperamos, que uno más nunca viene mal. De momento somos pocos, pero la vamos a liar!!! :-)
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.