|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre confirmé
![]() Olivier MuetResponsable de service informatique Inscription : septembre 2003 Messages : 222 ![]() |
J'ai IB 6.01 OpenSource (Delphi 7 Pro sur WinXP Pro).
Ma base de données comporte quelques Procédures Stockées. Je compile ces PS en exécutant les commandes dans un TIBSQL (issu des IBX Delphi). Or, lorsque j'essaie de compiler la PS suivante : Code :
Code :
Code :
/*SELECT SUM(MNT_SOLDE) FROM TA_COMPTE WHERE CODE_DEVISE=:CODE_DEV AND CODE_COMPTEPERE=:IN_COMPTE INTO MNT_SUMSOLDES;*/
De plus, lorsque j'exécute la commande : Code :
SELECT SUM(MNT_SOLDE) FROM TA_COMPTE WHERE CODE_DEVISE=-211 AND CODE_COMPTEPERE=13 |
||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Bonjour,
Il est préférable (je crois que ce n'est pas obligatoire, mais fortement recommandé de mettre des : devant les variables dans les ordres SQL des PS. [quote="TMuet"] Code :
Moi je mets toujours les : comme préconnisé dans la doc. |
||
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Olivier MuetResponsable de service informatique Inscription : septembre 2003 Messages : 222 ![]() |
J'avais bien sûr bouquiné le tutoriel des PS.
Effectivement, tous les exemples préfixent les variables avec :. J'ai donc pris une sale habitude Ceci dit, c'est encore pire quand je compile la fameuse PS avec les : rajoutés. J'obtiens : Code :
Code :
SELECT MNT_SOLDE,CODE_DEVISE FROM TA_COMPTE WHERE CODE_COMPTE=:IN_COMPTE INTO [b]:[/b]OUT_DISPO,:CODE_DEV; J'ai donc repris d'autres PS qui fonctionnent actuellement. J'ai rajouté systématiquement les : devant les variables, recompilé et là... même message. |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Je pense que votre probleme est que vous passez par le TIBSQL pour les créer.
Avez vous essayé le script dans IBConsole tout simplement ? Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Olivier MuetResponsable de service informatique Inscription : septembre 2003 Messages : 222 ![]() |
Ah oui, c'est vrai que ça compile directement dans IBConsole... Par contre, ça ne m'arrange pas trop parce que tous mes scripts de mise à jour utilisent un TIBSQL... Mais bon, je vais essayer d'en trouver la raison Merci encore ô très grand Barbibulle. |
|
|
00
|
|
|
#6 | ||||
|
Membre confirmé
![]() Olivier MuetResponsable de service informatique Inscription : septembre 2003 Messages : 222 ![]() |
Tiré de l'aide en ligne de IBConsole :
Code :
Code :
Comment on fait alors ? Je crois que je vais aller envahir le forum SQL. |
||||
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
Citation:
Si vous ne trouvez pas comment empécher ça sachez qu'il y a d'autres moyen pour mettre à jour votre base. Vous pouvez executer en tache de fond votre script de mise à jour en utilisant la ligne de commande d'IBConsole. Ou si vous utilisez IBExpert (je ne sais pas si c'est inclus dans la version gratuite) vous avez un interpreteur de scrip amélioré (On peux mettre dans le script des tests comme par exemple si la table XXX existe alors ... sinon ... ). Cette editeur est exécutable en ligne de commande également. Cette méthode offre l'avantage de ne pas être obligé de se faire un programme de mise à jour. Sinon il reste la solution d'appeler l'API d'interbase directement... Mais là c'est pas le même niveau d'investissement temps... |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com