Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 18-03-2009 12:17:00

disneb  
Membre completement Geek
Lieu: Bejaia
Date d'inscription: 16-01-2008
Messages: 118
Pépites: 1,622
Banque: 0

[RESOLU] Connexion à plusieurs bases

bonjour à tous!
je fais mon retour avec cette question: " pouvons nous nous connecter à plusieurs bases à la fois avec powerbuilder?"
je dois faire un transfert de données d'une base à une autre (sql anywhere à DBASE) et j'aurais aimé me connecté simultanément aux deux bases

merci

Dernière modification par disneb (18-03-2009 16:42:11)

Hors ligne

 

#2 18-03-2009 12:39:27

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Connexion à plusieurs bases

Oui c'est possible.

Dans l'environnement de dev, il suffit de connecter plusieurs profiles (un seul est le profil actif), mais cela permet d'utiliser l'objet pipeline (voir l'aide PB sur cet objet qui est également utilisable dans le code PB...)

Dans le code PB, il faut définir plusieurs objets transaction. Celui par défaut (SQLCA) est déclaré au niveau des propriétés avancées de l'objet application (onglet properties). Pour définir une nouvelle connexion il faut un autre objet transaction qu'il faut déclarer, instancier, renseigner et enfin connecter.

Exemple avec deux connexions ODBC

Code: pb

// transaction peut être remplacé par un autre objet hérité de l'objet transaction 
// (menu new puis standard class type de l'onglet PB Object)
transaction sqlcb 

sqlcb = create transaction

sqlca.DBMS = "ODBC"
sqlca.DbParm = "ConnectString='DSN=ma_base_1',CommitOnDisconnect='No'"

sqlcb.DBMS = "ODBC"
sqlcb.DbParm = "ConnectString='DSN=ma_base_2',CommitOnDisconnect='No'"

connect ; // par défaut using sqlca;
connect using sqlcb;


Ensuite il suffit de dire à PB quelle connexion utiliser pour travailler sur les bases

avec une DW

Code: pb

dw_1.SetTransObject(sqlca) // DW connectée à la base 1
dw_2.SetTransObject(sqlcb) // DW connectée à la base 2


avec du sql embarqué

Code: pb

select cli_id into :ll_id from client using sqlca; // ID lu dans la base 1
select cli_id into :ll_id2 from client using sqlcb; // ID lu dans la base 2

Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#3 18-03-2009 15:51:36

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Connexion à plusieurs bases

Bonjour,

Juste un complément sur un problème que j'ai eu lors de ma première mise en œuvre des "pipeline" en mode compilé.

Il ne faut pas oublier de déployer avec l'application le fichier pbodbXX.ini (XX : version PB), sinon le "pipeline" ne fonctionne pas.

Hors ligne

 

#4 18-03-2009 16:41:29

disneb  
Membre completement Geek
Lieu: Bejaia
Date d'inscription: 16-01-2008
Messages: 118
Pépites: 1,622
Banque: 0

Re: [RESOLU] Connexion à plusieurs bases

merci à vous c'est
bonne soirée

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22