[RESUELTO] Conexión y Des-Conexión de Bases Registradas
Publicado: Mar Oct 13, 2015 2:55 am
Un cordial saludo para todos especialmente a Mauricio (de quien he podido aprender bastante por medio de su libro que considero excelente..), Fornelasa, RGM, RGB-es, SLV-es y en fin muchos otros de los que con sus respuestas y colaboraciones han contribuido mucho en mi proceso de aprendizaje, soy nuevo en el uso de las herramientas y espero me disculpen las torpezas...
Mi pregunta es sobre las bases registradas, tengo unas tablas DBF que provienen de un programa hecho en VisualFoxPro, como las utilizo para realizar consultas, las he copiado en una carpeta y creo una conexión a estas tablas la cual está registrada por Opciones -> LibreOffice Base -> Bases de Datos y todo funciona muy bien (gracias a la ayuda de ustedes), el problema es que necesito actualizar las tablas con alguna frecuencia, es decir volver a copiar las tablas DBF desde el origen a la ubicación de la bese de datos registrada pero al tratar de hacer la copia genera error porque el archivo se encuentra abierto por LibreOffice.
Tratando de solucionarlo me encontré un hilo (https://forum.openoffice.org/es/forum/v ... =50&t=7644) en el que Fornelasa propone "des-registrar" la base para liberarla y luego volver a "registrarla" código que funciona perfectamente pero el archivo sigue estando activo, luego no permite hacer la actualización (copia) de la tabla DBF y en el mismo hilo Mauricio sugiere cerrar las conexiones con "objConnection.dispose()" con lo que se libera el archivo y se puede actualizar pero se pierden (cierran) las conexiones con las bases de datos registradas y por tanto no se puede seguir trabajando con ellas hasta no reiniciar el programa, al utilizar "F4" no muestra las bases de datos registradas.
Mi pregunta es como restablecer las conexiones con las bases de datos registradas, es decir el paso inverso a "objConnection.dispose()", puesto que al tratar de hacer nuevamente una consulta muestra el siguiente error:
Error de ejecución de BASIC.
Se ha producido una excepción
Type: com.sun.star.lang.DisposedException
Message: .
al ejecutar las lineas:
oDBC = createUnoService("com.sun.star.sdb.DatabaseContext")
oBD = oDBC.getByName(sBaseDatos)
Error que se presenta en la última linea, que creo que se debe a que la conexión con las bases de datos fue cerrada.
Espero haber sido claro en mi planteamiento y de antemano les agradezco su ayuda y colaboración.
Cordialmente,
Juan Pablo Iriarte
Mi pregunta es sobre las bases registradas, tengo unas tablas DBF que provienen de un programa hecho en VisualFoxPro, como las utilizo para realizar consultas, las he copiado en una carpeta y creo una conexión a estas tablas la cual está registrada por Opciones -> LibreOffice Base -> Bases de Datos y todo funciona muy bien (gracias a la ayuda de ustedes), el problema es que necesito actualizar las tablas con alguna frecuencia, es decir volver a copiar las tablas DBF desde el origen a la ubicación de la bese de datos registrada pero al tratar de hacer la copia genera error porque el archivo se encuentra abierto por LibreOffice.
Tratando de solucionarlo me encontré un hilo (https://forum.openoffice.org/es/forum/v ... =50&t=7644) en el que Fornelasa propone "des-registrar" la base para liberarla y luego volver a "registrarla" código que funciona perfectamente pero el archivo sigue estando activo, luego no permite hacer la actualización (copia) de la tabla DBF y en el mismo hilo Mauricio sugiere cerrar las conexiones con "objConnection.dispose()" con lo que se libera el archivo y se puede actualizar pero se pierden (cierran) las conexiones con las bases de datos registradas y por tanto no se puede seguir trabajando con ellas hasta no reiniciar el programa, al utilizar "F4" no muestra las bases de datos registradas.
Mi pregunta es como restablecer las conexiones con las bases de datos registradas, es decir el paso inverso a "objConnection.dispose()", puesto que al tratar de hacer nuevamente una consulta muestra el siguiente error:
Error de ejecución de BASIC.
Se ha producido una excepción
Type: com.sun.star.lang.DisposedException
Message: .
al ejecutar las lineas:
oDBC = createUnoService("com.sun.star.sdb.DatabaseContext")
oBD = oDBC.getByName(sBaseDatos)
Error que se presenta en la última linea, que creo que se debe a que la conexión con las bases de datos fue cerrada.
Espero haber sido claro en mi planteamiento y de antemano les agradezco su ayuda y colaboración.
Cordialmente,
Juan Pablo Iriarte