Como copiar tabla base a otra base de datos

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
RASAPA
Mensajes: 224
Registrado: Mar Mar 16, 2010 10:41 pm

Como copiar tabla base a otra base de datos

Mensaje por RASAPA »

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

	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 7.3.1.3
Linux Mint 20.3
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Como copiar tabla base a otra base de datos

Mensaje por SLV-es »

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
RASAPA
Mensajes: 224
Registrado: Mar Mar 16, 2010 10:41 pm

Re: Como copiar tabla base a otra base de datos

Mensaje por RASAPA »

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 7.3.1.3
Linux Mint 20.3
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Como copiar tabla base a otra base de datos

Mensaje por Longi »

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/v ... =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.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Responder