|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2005 Messages : 769 ![]() |
Bonjour à tous,
j'ai un bout de code faisant appel à OCI et qui fonctionne bien lorsqu'on lui passe un "select", mais qui bloque quand on lui passe un update. Dans ce dernier cas, la fonction OCIStmtExecute coince, donc l'appli aussi. Extrait du code : Code :
Qu'ai-je pu oublier au niveau droits (ou paramétrage de l'environnement lors de l'OCIEnvCreate, ou ailleurs) qui me bloque ainsi ?????? |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Ce n'est probablement pas un problème de droit sinon Oracle retournerait un message d'erreur immédiatement. Cela ressemble plus à un problème de verrouillage qui peut être lié eventuellement au mode d'isolation de la transaction (SET TRANSACTION ...) ou d'une autre session qui verrouillerait la ligne concernée.
Essaie de vérifier que la ligne en question n'est pas verrouillé en remplaçant la commande "update road.test set col1=3 par "select col1 from road.test where col1=x for update nowait" Sil la ligne est verrouillée: ORA-00054 sera retourné. |
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2005 Messages : 769 ![]() |
Tu as raison : c'est une session ouverte lors d'un test précédent et mal fermée (en fait pas fermée du tout...
Ouf !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com