Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

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 30-01-2007 14:24:24

gilou9120  
Membre
Lieu: Bondoufle
Date d'inscription: 30-01-2007
Messages: 4
Pépites: 19
Banque: 0

[RESOLU] Problème de connexion par SetTransObject

Bonjour,

J'ai une application qui charge des tables dans une base (MS SQL) à partir de fichiers *.XML. Chaque fichier correspond à une table.
Pour charger toutes les tables on rentre dans une boucle qui :
  1) crée un DATASTORE,
  2) fait un SetTransObject
  3) fait un ImportFile
  4) fait un Update
  5) fait un Commit

Cette boucle est pilotée par le contenu d'une table paramètre qui fournit le nom du fcihier XML, le nom de la Datastore et le nom de le table à charger.

J'ai besoin de créer et charger 3 nouvelles tables. J'ai donc modifié l'application (création de 3 Datawindow, modification de la table paramètre).

Exécutée en interprété elle fonctionne corretement. Exécutée avec le .EXE elle fontione pour toutes les tables créées avant la modif et pas du tout pour les nouvelles.

Après recherche et messabox, il s'avère que le code retour du SetTransOject est de -1 pour ces 3 tables en executable mais normal en interprété.


Qu'ai-je oublié de faire pour que cela fonctionne??
D'avance merci

Hors ligne

 

#2 30-01-2007 14:27:13

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

Re: [RESOLU] Problème de connexion par SetTransObject

hello !

tu as fait un grant public to all, pour ces nouvelles tables ?


A+++


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

Hors ligne

 

#3 30-01-2007 14:47:04

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: [RESOLU] Problème de connexion par SetTransObject

si ça ne fonctionne toujours pas tu peux poster ta boucle ou une partie de ta boucle?

Hors ligne

 

#4 30-01-2007 15:13:58

gilou9120  
Membre
Lieu: Bondoufle
Date d'inscription: 30-01-2007
Messages: 4
Pépites: 19
Banque: 0

Re: [RESOLU] Problème de connexion par SetTransObject

Merci.
Nous sommes en train de verifier les droits et autorisations des tables de la base et j'avoue, c'est un sujet qui me dépasse

Ca ne fonctionne toujours pas et voici la fonction appelée dans la boucle :

Code: pb

Integer    li_rc=0, li_rc_st
Long      ll_rc
String    ls_msg, ls_sql
Datastore  lds_data

//- Initialisation
lds_data = Create Datastore
lds_data.Dataobject = as_dataobject
li_rc_st = lds_data.SetTransObject(atr_trans)
messagebox ('SetTransObject', as_tablename + '/' + string(li_rc_st) + string(atr_trans))

//- Chargement des données
ll_rc = lds_data.Importfile(XML!, as_filename)

//- Gestion des erreurs
choose case ll_rc
  case -1
    ls_msg = "No rows or startrow value supplied is greater than the number of rows in the file"
  case -2
Etc...
end choose
 
IF ll_rc < 0 THEN
  ls_msg = "Copy Error - Import" + ls_msg
  li_rc = -1
ELSE
  //- Suppression des anciennes données
  ls_sql = "delete from " + as_tablename
  Execute immediate :ls_sql USING atr_trans;
  
  //- sauvegarde des nouvelles données
  li_rc = lds_data.Update()
  IF  li_rc = 1 THEN
    Commit Using atr_trans;
    li_rc = 0
  ELSE
    ls_msg = "Copy Error - Save " + atr_trans.SQLERRTEXT
    Rollback Using atr_trans;
    li_rc = -2
  END IF
END IF
Destroy lds_data
Return li_rc

Hors ligne

 

#5 30-01-2007 15:24:07

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

Re: [RESOLU] Problème de connexion par SetTransObject

pour tes 3 nouvelles tables...

refais le meme test, mais en passant directement via une datawindow, au lieu d'une datastore...
comme ca, en cas d'erreur, tu auras droit au message d'erreur...et bien plus précis cette fois ci...

enfin, c'est juste une piste...

Bon courage


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

Hors ligne

 

#6 30-01-2007 15:25:34

gilou9120  
Membre
Lieu: Bondoufle
Date d'inscription: 30-01-2007
Messages: 4
Pépites: 19
Banque: 0

Re: [RESOLU] Problème de connexion par SetTransObject

J'essaie et je vous tiens au courant

Hors ligne

 

#7 01-02-2007 12:39:48

gilou9120  
Membre
Lieu: Bondoufle
Date d'inscription: 30-01-2007
Messages: 4
Pépites: 19
Banque: 0

Re: [RESOLU] Problème de connexion par SetTransObject

  J'ai enfin trouvé :

L'application tient dans une pbl.
Donc pour générer l'exécutable on a inclus la pbl ans l'exe (pas de pbd).
Dans le fichier des ressources pbr les 3 datawindow manquaient. Je les ai ajoutées.

et oh bonheur ça MARCHE


Vous pouvez le mettre à Résolu

Merci à vous pour votre soutien

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22