|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2004 Messages : 43 ![]() |
Bonjour,
je souhaite insérer un enregistrement dans une base oracle via ODBC depuis un programme C++. Voici ma requête : Code :
INSERT INTO HISTO_COURS (DATE_,DEV1_,DEV2_) VALUES('17/01/2007','EUR','USD'); J'ai alors supprimé le ';' à la fin de la requête. Cette fois SQLPrepare marche, mais le programme reste bloqué dans SQLExecute L'ensemble fonctionne avec d'autres bases de données (Access, SQL Server), les requêtes de sélection fonctionnent aussi. Merci pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Si la colonne DATE_ est de type DATE alors essayez :
Code :
INSERT INTO HISTO_COURS (DATE_,DEV1_,DEV2_) VALUES(TO_DATE('17/01/2007', 'DD/MM/YYYY'),'EUR','USD')
__________________
Modérateur des forums Oracle et Langage SQL Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2004 Messages : 43 ![]() |
Ca ne fonctionne pas.
Je croyais au début que cela venait du champe DATE_, mais même en l'omettant de la requête j'ai la même erreur. J'ai essayé la requête dans TOAD, elle marche bien (avec ou sans ';'). |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Vous le dîtes vous-mêmes : en exécutant votre requête sous SQLPlus ou sous TOAD elle ne génère aucune erreur.
Tout semble indiquer que l'erreur que vous rencontrez est dû au langage C++ et vos méthodes d'accès à la base plus qu'à Oracle.
__________________
Modérateur des forums Oracle et Langage SQL Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2004 Messages : 43 ![]() |
J'aimerais cependant savoir d'ou vient mon erreur parce que je ne vois pas comment résoudre ce problème.
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Donne ton code pour voir.
|
|
|
00
|
|
|
#7 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2004 Messages : 43 ![]() |
Voici :
Code :
|
||
|
|
00
|
|
|
#8 | |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Supprimez le ';' et vérifiez qu'il n'y a de blocages dans la base avec:
Citation:
|
|
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2004 Messages : 43 ![]() |
Je ne suis pas expert en Oracle mais ils ne trouvent pas les tables dba_blockers et dba_waiters.
Je n'ai pas plusieurs sessions fonctionnant en même temps, j'ai uniquement mon application C++. |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 465 ![]() |
ton application est mono thread ? pcq si elle est multi-thread ce revient a avoir plusieurs session.
As tu TOAD ? Quand ton application est bloqué tu vois quoi comme "current statement" ? (Ca doit aussi se trouver dans des vu system mais j'ai pas le courage de chercher maintenant) |
|
|
00
|
|
|
#11 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2004 Messages : 43 ![]() |
J'ai trouvé le problème, mon application reste bloquée lorsque TOAD est lancé et connecté.
Existe-t-il un moyen d'utiliser "les deux" à la fois ? Merci. |
|
|
00
|
|
|
#12 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 465 ![]() |
Bien sur que tu peux lancer les deux a la fois. Si Oracle était mono utilisateur cela se saurais.
Si tu es bloqué c'est que tu as fais une mise a jour dans TOAD que tu n'as pas commité. Alors Oracle est obligé de locker les données. C'est ce que pifor te demandais de verifier en faisant des selects dans dba_blockers et dba_waiters |
|
|
00
|
|
|
#13 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2004 Messages : 43 ![]() |
Ok merci c'est bon maintenant.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com