Como copiar tabla base a otra base de datos

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

Como copiar tabla base a otra base de datos

Notapor RASAPA » Jue Oct 09, 2014 7:08 am

Buenos dias,
A ver si me sé explicar bien.
Necesito una macro para copiar una tabla de una base de datos"UNO" a otra base de datos "DOS".
Tal como lo hariamos con copiar y pegar.
Tambien me serviria para la ocasion, si pudiese crear una vista o tabla en la base de datos "DOS", leyendo con una consulta SELECT los datos de otra tabla que esta en una base de datos diferente "UNO".
Para crear una vista con una consulta dentro de la misma base utilizo:

Código: Seleccionar todo   Expandir vistaContraer vista
   oDBC = createUnoService("com.sun.star.sdb.DatabaseContext")   
   oBD = oDBC.getByName( "BASEUNO" )
   oCon = oBD.getConnection( "","" )
   oStat = oCon.createStatement()
   oTables=oCon.gettables()
   If oTables.hasByName("Tabla1") Then
      oTables.dropByName("Tabla1")
   Endif
   sSQL="SELECT Ventas.IdVenta,Ventas.Fecha,Ventas.Cliente FROM Ventas "
   sSQL="CREATE VIEW Tabla1 AS " &  sSQL
   oStat.executeUpdate (sSQL)
   oCon.getTables().refresh()
   oBD.DatabaseDocument.Store()


Lo que me haria falta es que el SELECT mirase a la Base "UNO" y el CREATEVIEW crease la vista en la Base "DOS".
Es posible?

Saludos
Ramon
LibreOffice 5.2.6.2
Linux Mint 17.3
RASAPA
 
Mensajes: 222
Registrado: Mar Mar 16, 2010 10:41 pm

Re: Como copiar tabla base a otra base de datos

Notapor SLV-es » Sab Oct 11, 2014 12:38 pm

En el manual de HSQLDB version 1.8.0 (más avanzada que la que incorpora AOO), la orden SELECT no parece permitir que se tome una tabla de otra base de datos.

Tampoco el CREATE VIEW (que utiliza una orden SELECT)

Creo por tanto que no puedes crear una vista que haga referencia a los datos de una tabla en otra base de datos :(

Pero igual otro compañero llega y nos sorprende :D
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Avatar de Usuario
SLV-es
 
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España

Re: Como copiar tabla base a otra base de datos

Notapor RASAPA » Dom Oct 12, 2014 10:06 am

Muchas gracias SLV-es,
Entonces no me queda otro remedio que Importar la tabla de la otra base de datos, o si es posible vincular a dicha tabla.
Ya tengo otra consulta hecha en este sentido en este mismo foro, pero veo que debe ser complicado, porque no obtengo respuesta.
Esperemos un poco a cerrar el tema, por si a alguien se le ocurre algo.
Saludos
Ramon
LibreOffice 5.2.6.2
Linux Mint 17.3
RASAPA
 
Mensajes: 222
Registrado: Mar Mar 16, 2010 10:41 pm

Re: Como copiar tabla base a otra base de datos

Notapor Longi » Dom May 28, 2017 9:29 pm

Buenas!

Supongo que a estas alturas no sirve de mucho (el post es realmente viejo), pero he visto que no está marcado como resuelto, y trasteando he encontrado este enlace (francés) que seguramente te podría valer, aunque tengas que hacer alguna modificación para adecuarlo a tus necesidades:

https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=42552

Nota: el botón marca hacia la macro principal, y así no funciona, tendría que dirigirlo hacia la macro 'Main'.

Un saludo!
Openoffice 4.1.5, en Windows 10
Openoffice 4.1.3, en Windows 7
Libreoffice 6.0, en Windows 10
Longi
 
Mensajes: 566
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados