Power Builder - USAR DOS BASES DE DATOS EN TIEMPO DE EJECUCION

 
Vista:

USAR DOS BASES DE DATOS EN TIEMPO DE EJECUCION

Publicado por elias (31 intervenciones) el 03/02/2003 19:21:28
hola a todos,espero me puedan ayudar deseo conectarme a dos bases de datos en tiempo de ejecucion ambas ,y lo que deseo es pasar la estructura de una tabla de la base datos A a otra tabla de la base de datos b..me podrian dar un ejmplo de como hacer...en lo primero creo que es usando un objeto trans..gtracias
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

RE:USAR DOS BASES DE DATOS EN TIEMPO DE EJECUCION

Publicado por milson cardona (613 intervenciones) el 03/02/2003 21:06:54
Un saludo especial desde COLOMBIA

Ese tema se ha tratado ampliamente en comentarios anteriores.... si deseas puedes buscarlos, tal vez en noviembre - diciembre de 2002.....

pero para resumirte lo que se dijo en ese entonces, simplemente creas dos variables transaccionales diferentes y te conectas a las 2 bases de datos al mismo tiempo (corres el script de conexión de las 2 DB)....

luego haces las operaciones que necesites hacer normalmente, llamando y recuperando datos de cualquiera de las 2 DBs...

espero que resuelvas el problema
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

RE:USAR DOS BASES DE DATOS EN TIEMPO DE EJECUCION

Publicado por Pedro López (68 intervenciones) el 04/02/2003 17:39:54
Para conectarte a dos bases de datos, simplemente debes utilizar un objeto Transaction para cada una. Si utilizas SQLCA para una BD, tienes que crear otro objeto para la otra BD.
Ejemplo:
// Declarar y crear SQLCB (SQLCA no es necesario declararla ni crearla)
Transaction SQLCB
SQLCB = create Transaction
// Profile SQLCA
SQLCA.DBMS = ...
.......
// Profile SQLCB
SQLCB.DBMS = ...
.......
// Conectar a las 2 bases de datos
CONNECT USING SQLCA;
If SQLCA.sqlcode <> 0 Then // Comprobar errores en conexión
Messagebox("Error en conexión a SQLCA", String (SQLCA.SQLDBCode) +": " + SQLCA.SQLErrText)
end if
CONNECT USING SQLCB;
...................
// Ya estás conectado a 2 bases de datos. Ahora realizas tus operaciones
..............
// Desconectar
DISCONNECT USING SQLCA;
if isvalid(SQLCB) then
DISCONNECT USING SQLCB;
destroy SQLCB
end if

Siempre que utilices SQL (COMMIT, ROLLBACK, ...) con la segunda BD, tienes que finalizar la sentencia con USING SQLCB; (para SQLCA no es obligatorio, pero sí es recomendable terminar con USING SQLCA;).

Y para traspasar los datos de una base de datos a otra, si son estructuras parecidas, lo más cómodo es utilizar pipelines.

Espero haberte ayudado.

Un saludo,

Pedro
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