RE:Conectarse a varias Base de Datos
Hola !!!.. Yo tengo una programacion que te puede servir.
Esta muy bien lo que te indicaron los chicos, que debes conectar varios objetos transaccionales, pero
puede pasar los datos de esas tablas a tablas temporales de tu conexion SQLCA.
Ejemplo:
SQLCA conectada con mi BD_1
SQLCA1 conectada con mi BD_2
SQLCA2 conectada con mi BD_3
SQLCA3 conectada con mi BD_4
String ls_sql
/*Crea Tabla Temporal*/
ls_sql = "CREATE TABLE #tmp_objetos_2 (nom_obj varchar(255))"
EXECUTE IMMEDIATE :ls_sql USING SQLCA;
/*Crea Tabla Temporal*/
ls_sql = "CREATE TABLE #tmp_objetos_3 (nom_obj varchar(255))"
EXECUTE IMMEDIATE :ls_sql USING SQLCA;
/*Crea Tabla Temporal*/
ls_sql = "CREATE TABLE #tmp_objetos_4 (nom_obj varchar(255))"
EXECUTE IMMEDIATE :ls_sql USING SQLCA;
INSERT INTO #tmp_objetos_1 ( nom_obj )
select distinct obj.name
from syscolumns col, sysobjects obj
where col.name like '%'+:ls_nombre_col+'%' and
col.id = obj.id and
obj.name like :ls_nombre_objeto USING SQLCA1;
if sqlca1.sqlcode <>0 then
MessageBox( "Error de Sybase" , string( sqlca1.sqldbcode ) + " " + sqlca1.sqlerrtext )
end if
INSERT INTO #tmp_objetos_2 ( nom_obj )
select distinct obj.name
from syscolumns col, sysobjects obj
where col.name like '%'+:ls_nombre_col+'%' and
col.id = obj.id and
obj.name like :ls_nombre_objeto USING SQLCA2;
if sqlca2.sqlcode <>0 then
MessageBox( "Error de Sybase" , string( sqlca2.sqldbcode ) + " " + sqlca2.sqlerrtext )
end if
INSERT INTO #tmp_objetos_3 ( nom_obj )
select distinct obj.name
from syscolumns col, sysobjects obj
where col.name like '%'+:ls_nombre_col+'%' and
col.id = obj.id and
obj.name like :ls_nombre_objeto USING SQLCA3;
if sqlca3.sqlcode <>0 then
MessageBox( "Error de Sybase" , string( sqlca3.sqldbcode ) + " " + sqlca3.sqlerrtext )
end if
Lo importante de este ejemplo no es que hace, sino como lo hace, fijate que puede levantar informacion de cualquier
base de datos y cargarla en una temporal en la conexion SQLCA actual.
Luego puedes crear estas tablas temporales en un ambiente, y pueder armar una Datawindows que te visualicen
los datos como quieras.
Yo lo engaño al power armando una datawindow normalente seleccionado una tabla, luego convierto esa datawindow a syntaxis y le pego el select a al tabla temporal, de esa manera se contruye una datawindow que hace select de una tabla temporal y de varias bases de datos.
Saludos, espero que te sirva.