PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Problème de transaction
Problème de transaction
Iniciado por guest, jun., 15 2005 3:57 PM - 2 respostas
Publicado em junho, 15 2005 - 3:57 PM
Bonjour,

Je suis confronté à un problème de gestion de transaction dans une application.
L'application sous Windev9 se connecte à une base Oracle avec accès natif.
Mon problème est que l'application utilise deux façons différente pour utiliser la base:
1- Utilisation de HOuvreConnexion : pour la lecture des tables sous Oracle
2- Utilisation de SQLConnecte : pour les opérations de MAJ sur Oracle

Ainsi, lorsque j'utilise une transaction, les fonctions HLit Windev n'arrive pas encore à trouver les données inserées avec SQLExec

(mais non validé pas SQLtransaction) .

Question : Est-ce qu'il y a un moyen de spécifier que les 2 connexions utilisent la meme transaction?

NB: L'utilisation de SQLConnecte a été dicté oar une compatiblité avec les anciennes versions du Client Oracle.

Merci,

Patrick
Publicado em junho, 15 2005 - 4:59 PM
Comme tu utilises 2 connections différentes, il est logique que l'une ne voit pas les données non validées ( "commitées" ) de l'autre.
Je vois deux solutions à ce problème:
1. N'utiliser qu'une seule connection, soit avec les ordres SQL*, soit avec les ordres H*
2. Changer le niveau d'isolation à read-uncommited ( niveau 0, voir dans la doc d'Oracle ). Mais attention, dans ce cas chaque utilisateur verra les données non validées des autres utilisateurs ( "dirty read" ). Cela risque de donner des résultats "étranges".

Ma préférence va à la première solution, personnellement...

Frédéric.
Publicado em junho, 17 2005 - 11:04 AM
Merci Fréderic,

J'avais constaté aussi que c'était impossible.
Et je pense opté pour la 1ère solution.

Patrick