Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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 13-12-2008 10:35:08

b2oba  
Membre Geek
Date d'inscription: 03-12-2007
Messages: 46
Pépites: 240
Banque: 0

Application Pipeline Base de données MS Access - SQL Server 2005

Bonjour Chers tous,

J'ai une préoccupation, je voudrais écrire une petite application qui fait le pipeline entre 2 sources de données (Access et SQL Server)
la méthode d'un objet pipeline qui lance l'intégration des données est start(trans_source,trans_destination,datawindow_erreur).

Quand je lance graphique (via l'interface PB) le pipeline, l'intégration de données se fait sans problème.
Mais par le code ce la ne se fait pas. Chose bizzare aussi c'est que je voudrais connecter mon profile DB pour access, il me donne le message suivant : Catalog tables could not be created and are not available for use mais il affiche quand même le message Connection successful

Voici la liste des déclaration

Code: pb

transaction SQLCA_HORIO, SQLCA_SIRH
String ls_dbms
String ls_dbparm1
String ls_dbparm2
String ls_autocommit
String ls_pwd
string ls_matricule
datastore ds_error
pipeline pp_integration


Création des objects de transaction

Code: pb

//Passage des valeurs de connexion récuperée aux propriétés de l'objet SQLCA
SQLCA_SIRH = create transaction

SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=SIRH;UID=sa;PWD=mdpss;DelimitIdentifier='No',MsgTerse='Yes',CallEscape=''"

SQLCA_SIRH = SQLCA //affectation de l'état de la transaction SQLCA dans la transaction SQLCA_SIRH
Connect using SQLCA_SIRH;

If SQLCA.SQLCode <> 0 Then
  //MessageBox ("Erreur Base de données [SIRH], Veuillez contacter le ICT", SQLCA.SQLErrText )
else
  SELECT max(dbo.tbadgeages.matricule) into :ls_matricule  FROM dbo.tbadgeages;
  MessageBox("Top Matricule", ls_matricule)
end if


SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = True
SQLCA.DBParm = "ConnectString='DSN=HORIO'"

//SQLCA_HORIO = SQLCA
Connect using SQLCA;
If SQLCA.SQLCode <> 0 Then
  MessageBox ("Erreur Base de données [HORIO], Veuillez contacter le ICT", SQLCA.SQLErrText )
else
  SELECT max(Badgeages.HeureBadgeagesd1) into :ls_matricule  FROM Badgeagess;
  MessageBox("Top HBG", ls_matricule)
end if

la première requete select m'affiche quelque chose, mais la deuxième affiche rien du tout

Lancement du processus d'integration de données

Code: pb

ds_error = create datastore
pp_integration = create pipeline
pp_integration.dataobject = "pp_horio_to_sirh"
pp_integration.start(SQLCA_HORIO,SQLCA_SIRH,ds_error)
MessageBox("Nombre de Written",string(pp_integration.RowsWritten))


Cette boîte de dialogue m'affiche toujours 0 je ne sais pas si j'ai mal construit ma deuxième transaction.
Quelqu'un pourrait m'aider.
D'avance je vous dis merci

Hors ligne

 

#2 13-12-2008 11:00:53

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Application Pipeline Base de données MS Access - SQL Server 2005

Code: pb

SQLCA_SIRH = create transaction

SQLCA_SIRH .DBMS = "ODBC"
SQLCA_SIRH .AutoCommit = False
SQLCA_SIRH .DBParm = "ConnectString='DSN=SIRH;UID=sa;PWD=mdpss;DelimitIdentifier='No',MsgTerse='Yes',CallEscape=''"

Connect using SQLCA_SIRH;

If SQLCA_SIRH.SQLCode <> 0 Then
  //MessageBox ("Erreur Base de données [SIRH], Veuillez contacter le ICT", SQLCA_SIRH .SQLErrText )
else
  SELECT max(dbo.tbadgeages.matricule) into :ls_matricule  FROM dbo.tbadgeages using SQLCA_SIRH ;
  MessageBox("Top Matricule", ls_matricule)
end if

Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 13-12-2008 12:24:11

b2oba  
Membre Geek
Date d'inscription: 03-12-2007
Messages: 46
Pépites: 240
Banque: 0

Re: Application Pipeline Base de données MS Access - SQL Server 2005

C'est cette partie du code qui ne passe, je signale également que HORIO est une source de données ODBC pour MS Access

Code: pb

SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = True
SQLCA.DBParm = "ConnectString='DSN=HORIO'"

//SQLCA_HORIO = SQLCA
Connect using SQLCA;
If SQLCA.SQLCode <> 0 Then
  MessageBox ("Erreur Base de données [HORIO], Veuillez contacter le ICT", SQLCA.SQLErrText )
else
  SELECT max(Badgeages.HeureBadgeagesd1) into :ls_matricule  FROM Badgeagess;
  MessageBox("Top HBG", ls_matricule)
end if


Mais par contre cette partie marche sans problème

Code: pb

SQLCA_SIRH = create transaction

SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=SIRH;UID=sa;PWD=mdpss;DelimitIdentifier='No',MsgTerse='Yes',CallEscape=''"

SQLCA_SIRH = SQLCA //affectation de l'état de la transaction SQLCA dans la transaction SQLCA_SIRH
Connect using SQLCA_SIRH;

If SQLCA.SQLCode <> 0 Then
  //MessageBox ("Erreur Base de données [SIRH], Veuillez contacter le ICT", SQLCA.SQLErrText )
else
  SELECT max(dbo.tbadgeages.matricule) into :ls_matricule  FROM dbo.tbadgeages;
  MessageBox("Top Matricule", ls_matricule)
end if

Hors ligne

 

#4 13-12-2008 13:12:26

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: Application Pipeline Base de données MS Access - SQL Server 2005

donc, c'est ta connection qui n'est pas bonne .
il ne manque pas de mot de passe et cie ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22