Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
est-il possible, dans une et une seule dw, de rapatrier des données de deux bases de données différentes ? (deux objets de transaction)
Merci.
P.S. : j'ai le sentiment que ce n'est pas possible, ... mais si ça l'était, ça me faciliterait une tâche
Dernière modification par BRWA (17-08-2009 09:27:40)
Hors ligne
2 bases de données en même temps dans la même datawindow, je suppose?
Directement, ce n'est pas possible, sauf à faire un databaselink si tu es en Oracle.
Sinon, il y a possibilité de "ruser" en utilisant deux datastores avec deux objets transactions différents, et en travaillant sur une datawindow visible
dans laquelle tu rapatries ces données. (Par contre, je ne sais pas si un sharedata peut marcher dans ce cas: A tester).
Sinon, n'oublies pas que tu peux utiliser des procédures stockées comme source de données dans une datawindow: Ca peut être utile pour
gérer ce genre de cas, car cela permet d'utiliser les spécificités de ton SGBD.
Hors ligne
Et dans une dw composite :
Transaction tr_obj tr_obj = create tr_obj tr_obj.dbms = "ODBC" tr_obj.AutoCommit = False tr_obj.dbparm = "ConnectString='DSN=db;UID=dba;PWD=sql'" Disconnect using SQLCA; connect using tr_obj; connect using sqlca; dw_composite.GetChild("dw_1",dw_child1) dw_composite.GetChild("dw_2",dw_child2) dw_composite.SetTransObject(SQLCA) dw_child1.SetTransObject(tr_obj) dw_child2.SetTransObject(SQLCA) dw_composite.Retrieve(Arg[]) dw_child1.Retrieve() dw_child2).Retrieve()
Ce code ne fonctionne pas, est-ce que quelqu'un voit pourquoi ?
la base de données de tr_obj est sur le web
Dernière modification par BRWA (17-08-2009 08:56:53)
Hors ligne
Ca m'étonnerai que tu puisses appeler des datawindows child avec des objets transactionnels différents de celui de la datawindow composite
Hors ligne
ok, merci.
Je conserve la solution des deux datastores.
Hors ligne