|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
J'écris en rafale une poignée de ligne par :
Code :
De suite après, je tente de vérifier l'existence de ce que je viens d'écrire par: Code :
Par contre, en sortant/relançant mon prog, je les trouve J'ai du louper quelque chose, mais je ne vois pas quoi. Qui peut me sortir de cette ornière ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Je suis là en Read / consistency, et je ne retrouve pas mes petits.....
(coté serveur, IBExpert me confirme leur présence)[/quote] Ce qui prouve bien que c'est pas une question de flush de buffer... C'est votre deuxième transaction qui ne les voient pas. A quel moment a t elle débutée ? Pourquoi ne pas utiliser une simple ReadCommited (read_committed, rec_version, nowait)? |
|
|
00
|
|
|
#3 | |||||||
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Citation:
Citation:
Bon, ma transaction servant à la lecture vient d'hériter des paramètres prescrits... Mais, ça "pète" ailleurs maintenant et en amont : Citation:
Code :
Code :
J'ai poussé + loin: le code ci-dessus bénéficie d'un paramétrage manuelle de la transaction (read/consistency), je laisse l'appel à Prepare2Read pour relire mes inserts (cf le 1er post), mais ces insert sont toujours invisibles
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|||||||
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Quel
je fais: j'utilise une transaction non initialisée: je l'ai dropé sur la forme et puis rien !!!!! Bref je ferme tout pour ce soir ! Mais si qq'un a un tuyau sur ce TPB......
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#5 | |||||||||||||||||||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
Citation:
Le plus simple est de poser sur votre DataModule, un TIBDataBase vous double cliquez dessus pour le paramétrer. Ensuite un TIBTransaction, vous affectez au IBDatabase.DefaultTransaction la référence au composant transaction et dans le IBTransaction.DefaultDatabase la database. Ces deux affectations permettent d'avoir une transaction par défaut pour cette base, mais on n'est pas obligé de l'utiliser. (Je vais expliquer après). Double cliquez sur le TIBTransaction et cochez ReadCommited. Visiblement vous avez un PS pour vérifier dès la connexion une habilitation. Placer un TIBStoredProc renseignez le DataBase et choisissez dans la liste proposé dans StoredProcName la PS VERIF_PSW. Dans l'évènement AfterConnect du TIBDadabase codez ceci : Code :
Code :
En conception le poserai donc un TIBQuery que je nommerai IBQInsertAffectation, Clique droit "Modifier SQL" puis je mettrai : Code :
Puis quand j'ai besoins de l'utiliser : Code :
Clique droit "Modifier SQL" : Code :
SELECT COUNT(*) AS NbAffectation FROM AFFECTATION WHERE AFF_ANNEE=:aa AND ATE_REF=:REF; Clique droit sur IBQCompteAffectation puis "Editeur de champs" (ou double clique) Dans la petite fenêtre qui s'ouvre faites un clique droit Ajouter tous les champs (ou CTRL + F). Normalement un champ appelé NbAffectation apparait. Lorque vous voulez l'exécuter : Code :
|
|||||||||||||||||||
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Merci Barbibulle pour toutes ces précieuses informations que je vais m'attacher à mettre en pratique.
Je dois confesser que ma seule expérience de programmation avec un SGBD relationnel commence à dater et est réduite à du COBOL/CICS/DB2... DB2 pour lequel toutes les finesses (finasseries?) offertes par IB (et d'autres) n'existent pas (du moins pour le programmeur lambda). Sans parler que la doc sur ce sujet n'est pas très répandue D'autre part, ce qui m'occupe actuellement (et qui m'amène souvent sur ce forum) est le portage sous IB d'un soft qui utilisait MyLittlebase... Bref, que des difficultés en perspective...mais je sais où m'adresser en cas de problème Mais, j'avance quand même. Merci encore
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com