Powerbuilder pour les completement Geeks !

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-01-2012 08:34:39

Worldinmyeyes  
Membre Geek
Date d'inscription: 22-04-2010
Messages: 23
Pépites: 97
Banque: 0

COMMIT OK mais pas de mise à jour en base !

Bonjour à tous et bonne année à la communauté !

Je vous soumet un souci pas banal :

J'ai une application simple qui met à jour une table (valeur + champ date/heure mise à jour)

L'application lancé en local fonctionne parfaitement.

Cette même application lancé depuis le serveur de base de donnée, fonctionne également pareil, mais après consultation de la table, je m'aperçois que la table n'est pas mise à jour.

En debuggant je vois les choses suivantes :

- la connexion à la base est OK
- sur la datawindow sur laquelle va être effectuée le commit, les valeurs attendues sont bien là
- L'update de la datawindow vaut bien 1
- Le commit est effectué et le SQLCode vaut 0

La seule différence, c'est qu'après le commit, la table est réellement mise à jour si l'application est lancée sur ma machine, et pas dans le cas d'un lancement directement via le serveur.

Quelqu'un a t'il une explication à cela ? Y'aurait il un paramètre au niveau base qui empêcherait la table de se mettre "reellement" à jour ?

Hors ligne

 

#2 18-01-2012 09:35:27

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: COMMIT OK mais pas de mise à jour en base !

Est-ce que tu fais bien ce que tu crois que tu fais ?

Peut-être que tout se passe bien, mais ailleurs que là où tu regardes (par exemple dans une autre base locale à la machine serveur) ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#3 18-01-2012 09:46:33

Worldinmyeyes  
Membre Geek
Date d'inscription: 22-04-2010
Messages: 23
Pépites: 97
Banque: 0

Re: COMMIT OK mais pas de mise à jour en base !

Non j'ai bien vérifié, j'ai même un copier/coller du point ini

Je me connecte bien à la bonne base

Hors ligne

 

#4 18-01-2012 10:19:37

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2485
Pépites: 82
Banque: 9,223,372,036,854,776,000

Re: COMMIT OK mais pas de mise à jour en base !

- Tu pointes sur le même schéma?
- Tu as vérifié que tu n'as pas un code de connexion "en dur" dans ton application qui zappe le .ini?
- Tu es en autocommit?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#5 18-01-2012 10:25:18

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: COMMIT OK mais pas de mise à jour en base !

Cela ressemble au problème que j'avais la semaine dernière...Tu te connectes comment à la base ?

Hors ligne

 

#6 18-01-2012 12:45:10

Worldinmyeyes  
Membre Geek
Date d'inscription: 22-04-2010
Messages: 23
Pépites: 97
Banque: 0

Re: COMMIT OK mais pas de mise à jour en base !

- Tu pointes sur le même schéma?   ===> OUI
- Tu as vérifié que tu n'as pas un code de connexion "en dur" dans ton application qui zappe le .ini? ===> OUI, j'utilise bien le .ini
- Tu es en autocommit? ====> NON

Tu te connectes comment à la base ?

==> via ADO.NET

Hors ligne

 

#7 18-01-2012 13:13:54

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 712
Pépites: 11,315
Banque: 100,221,387,868,884,300
Site web

Re: COMMIT OK mais pas de mise à jour en base !

pour info : si tu es en pb11.5 ou +, tu peux espionner les events "sqlpreview" et "dberror" de ton objet transaction par exemple.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#8 18-01-2012 13:18:45

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: COMMIT OK mais pas de mise à jour en base !

Dans la série "espionner", tu devrais regarder sqlcode et sqlerrtext *avant* le commit...

Peut-être que le commit ne fait rien avec succès ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#9 18-01-2012 14:59:34

infopower  
Membre Power Geek
Lieu: paris
Date d'inscription: 13-04-2011
Messages: 213
Pépites: 1,060
Banque: 0

Re: COMMIT OK mais pas de mise à jour en base !

Bonjour,
Peux-tu lancer le traçage de la base de données sur le serveur lors de l’exécution via le serveur  et vérifier par la suite les requêtes envoyées à la base ?
Cordialement


la vie est une course et il faut avoir un bon depart

Hors ligne

 

#10 18-01-2012 15:56:06

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

Re: COMMIT OK mais pas de mise à jour en base !

Bonjour,

Une autre piste, j'ai déjà eu un problème identique. Il s'agissait en fait d'un "trigger" sur la table qui effectué un "rollback".

Hors ligne

 

#11 19-01-2012 09:54:00

Worldinmyeyes  
Membre Geek
Date d'inscription: 22-04-2010
Messages: 23
Pépites: 97
Banque: 0

Re: COMMIT OK mais pas de mise à jour en base !

Je vais vérifier les états avant COMMIT

Hors ligne

 

#12 19-01-2012 10:24:34

Worldinmyeyes  
Membre Geek
Date d'inscription: 22-04-2010
Messages: 23
Pépites: 97
Banque: 0

Re: COMMIT OK mais pas de mise à jour en base !

Grrrrr en mettant DBMS="TRACE ADO.Net" dans le .ini, j'ai bien mon fichier trace.log complet quand j'exécute en local, mais si je l'exécute directement sur le serveur, le fichier trace ne se génère pas !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22