Power Builder - un solo DataWindow con informacion de 2 instancias SQL

   
Vista:
Imágen de perfil de Antonio

un solo DataWindow con informacion de 2 instancias SQL

Publicado por Antonio (1114 intervenciones) el 28/07/2015 03:49:32
Un saludo a todos:

Me pregunto si alguien a hecho lo siguiente o si me pueden decir si se puedo o no...

Resulta que tengo un datawindow que recupera información de una sola instancia de SQL Server, pero en SQL Server hay otra instancia.. ejemplo

INSTANCIA 1 = PIMEX
INSTANCIA 2 = PIMEX2

entonces, hay claves de clientes en la instancia 1 que solo se encuentran en la instancia 2.. ¿Cómo puedo relacionar en un solo datawindow ambas instancias

Se que se preguntaran porque no unir en una sola base de datos toda la información, la situación es que una es histórica y la otra actual y no quieren unir ambas por cuestiones de capacidad, ya que son miles y miles de registros y las búsquedas son muy lentas.

Si alguien ha hecho algo así y me pueda apoyar estaré agradecido y espero haberme explicado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

un solo DataWindow con informacion de 2 instancias SQL

Publicado por Leopoldo Taylhardat (690 intervenciones) el 28/07/2015 22:56:56
Saludos..

en primer lugar en SQLServer miles de registros o millones practicamente no te afectan el rendimiento cuando hay buena definición de la base de datos... tendrían que ser cientos o miles de millones para que los procesos tarden demasiado...

por otro lado..
si son dos tablas diferentes con la misma estructura (exacta en la definición de las columnas), puedes hacer un retrieve de la segunda tabla y hacer un rowscopy a la primera para luego hacerle el sort (clasificación) de acuerdo a tu conveniencia... si las tablas difieren en los nombres de columnas tienes que hacerlo linea a linea (do while... loop) para agregar línea a línea en el primer datawindow...

pero como te digo... si tienes una sola tabla con buenos indices definidos etc. no necesitas dos tablas...

espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.

un solo DataWindow con informacion de 2 instancias SQL

Publicado por Leonardo Daniel A. (76 intervenciones) el 28/07/2015 23:33:28
La solucion no es crear 2 datawindows,.... crea datastores que son lo mismo pero sin interfaz visual y consumen mucho menos memoria y procesador, haces el retrieve y luego como te comentan en un dw visible haces el rowscopy y luego haces el sort de ese datawindow, posteriormente destruyes de memoria los datastores y listo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ricardo Barreno

un solo DataWindow con informacion de 2 instancias SQL

Publicado por Ricardo Barreno (4 intervenciones) el 31/07/2015 00:34:59
Buenas Tardes.

Sabemos que un DW ejecuta una sentencia SQL contra la Base de Datos, por ende, porque en una de las instancias creas un procedimiento almacenado que devuelva toda la información, es decir, puedes realizar vinculación de servidores, así tu aplicación solo te preocupas de recuperar la información.

Para ello, como dije antes, puede realizar vinculación de servidores y en un procedimiento, hacer 2 selects, con un UNION ALL y wala!... tienes toda la información que necesitas.

Espero haberte ayudado. :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Antonio

un solo DataWindow con informacion de 2 instancias SQL

Publicado por Antonio (1114 intervenciones) el 31/07/2015 18:31:14
Gracias Ricardo:

Es muy buena tu aportación... solo hay un detalle, que desconozco como hacer un procedimiento.

Tendrás un ejemplo aunque sea muy corto solo para darme una idea.

Nuevamente mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ricardo

un solo DataWindow con informacion de 2 instancias SQL

Publicado por Ricardo (4 intervenciones) el 13/08/2015 17:51:22
Claro!.


create procedure usp_nombre_de_tu_procedimiento_almacenado
@parametro1 varchar(5) -- Los parámetros son opcionales
as
begin

-- primer select
select columna1, columna2, columna3 from tabla1_de_base_datos_1
union all
select columna1, columna2, columna3 from tabla1_de_base_datos_2

end
go

-- prueba del procedimiento almacenado
execute usp_nombre_de_tu_procedimiento_almacenado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar