|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() |
Bonjour,
Vouala, j'ai deux petits problèmes : 1) Je dois être mal réveillé, ou c'est le WE qui était trop long, car je n'arrive pas à mettre la main sur la doc SQL interbase (pas la doc d'install, la doc EssQUelle !). 2) Je m'essaie aux procédures stockées, et mon premier code est rejeté dans IBconsole... ( 'to! ) Voici ce que j'ai écris : Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Pour ce qui est des docs :ftp://ftpc.borland.com/pub/interbase...ib_b60_doc.zip
Un zip de 10.4 Mo contenant les principaux bouquins au format PDF indispensable pour être autonome... Sinon ta procédure a un problème, tu ne renseignes jamais le paramètre de retour .... CREATE PROCEDURE nb_acces_par_jour ( JOUR varchar(10) ) RETURNS ( NB_ACCES integer ) AS BEGIN select count(*) from TEST1 where COL_DATE = :JOUR INTO :NB_ACCES; suspend; /*Si tu veux pouvoir récupérer le résultat comme pour un odre select */ END |
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() |
Merci pour la doc, je l'avais déjà jéjà téléchargé en fait, mais je l'avais oublié dans un coin de mon disque dur ! ! !
Pour la procédure stockée, ça marche pas, IBconsole me dit : Code :
|
||
|
|
00
|
|
|
#4 | ||||||||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Oui tu n'as pas redéfini le Code qui précise à Interbase que tu as fini...
Par défaut ce code est le ; donc dès qu'il le rencontre il essaye d'exécuter ce qui précéde.. ca marche tres bien pour les Code :
Mais si tu lui envois : Code :
Code :
Donc il faur redéfinir le ; provisoirement pour lui dire de ne pas exécuter dès le premier ; rencontré mais autre chose.... va remplacer le caractère de fin de commande par !! donc essaye ceci : Code :
|
||||||||
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() |
WouaaA ! !
Génial, ça marche ! ! !
|
|
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() |
Heu, j'ai fais une autre version de ma procédure stockée, en essayant d'utiliser un compteur, mais ça marche pas non plus :
Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Oui ton select count(*) est bien mieux...
Mais pour te corriger : Code :
|
||
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() |
Yes, ça passe (encore !
Par contre, lorsque j'appelle la procédure avec Code :
execute procedure nb_acces_par_jour("16Mar2003"); Code :
SELECT count(*) FROM TEST1 WHERE COL_DATE ="16Mar2003"; C'est le même problème pour les deux procédures. |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Si tu veux l'appeler par execute procedure (regarde mon commentaire sur la ligne suspend)..
Enlève la ligne suspend; et normalement tu pourras récupérer le résultat avec execute procedure. (Enfin je pense....) Sinon si tu laisses la ligne suspend essaye d'exécuter l'odre SQL suivant (pas par execute procedure...) Code :
SELECT NB_ACCES FROM nb_acces_par_jour('16Mar2003'); |
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() |
Merci encore
, tout fonctionne avec un select !Je vais pouvoir commencer à pousser un peu le chmilblic... Par contre, le fait d'enlever suspend ne me permet pas de récupérer le résultat, mais ce n'est pas grave, puisque ça marche avec un select ! |
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() |
Certes, mais il se trouve que j'utilise pour cette partie de mon projet du PHP ! ! !
D'ailleurs, j'ai un problème : il faudrait que je puisse envoyer des procédures (CREATE PROCEDURE...) à partir du ouèb (d'un formulaire donc) mais ça ne marche pas... J'ai peur que cela ne soit pas possible : une procédure stockée s'appelle à distance, mais peut-elle être aussi créée à distance ?? C'est un point crucial de mon projet... PS : il serait peut-être mieu que je post ce message dans le forum PHP, mais j'ai bien peur qu'on me renvoie ici ! |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Ca je ne sais pas...
Ca va dépendre essentiellement des API interbase qui sont à ta disposition pour PHP... et là j'avoue... je ne connais pas... Essaye le forum PHP. Tu es certains que tu ais besoin de créer des procédures dynamiquement ? |
|
|
00
|
|
|
#14 |
|
Candidat au titre de Membre du Club
![]() |
Pour la création de procédure dynamique, oui.
Enfin bref, j'essaie du coté des PHPistes... ...et encore MERCI Barbibulle pour tes conseils et ton savoir, tu es Grand
|
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
arrete...
|
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Peux tu m'expliquer ton besoin de créer des procédures stockées dynamiquement ? (Si ce n'est pas un secret...)
|
|
|
00
|
|
|
#17 |
|
Candidat au titre de Membre du Club
![]() |
En fait, je suis toujours sur le même projet depuis deux mois (chui en stage...).
Le but est de créer un outil qui puisse analyser n'importe quel type de fichier log. J'ai donc construit un convertisseur de fichier log en base de donnée (à l'aide d'un système d'expressions régulières et tout...) dans le but de bénéficier de la puissance du langage SQL pour l'analyse. La deuxième étape est de créer une interface consultable de n'importe ou (donc web) qui permettrait d'analyser la base de données. Dans cette optique, il m'a été imposé deux manières de procéder : 1) possibilité de faire une demande ponctuelle (donc d'écrire une requète simple, en gérant les droits d'accès et les types de requètes - pas de drop par exemple) 2) 'programmation' d'analyses, qui pourront être exploitable facilement par la suite (donc PROCEDURES STOCKéES). Vu que les fichiers log convertis changent régulièrement, et que l'utilisateur n'est pas sur la machine serveur, la création d'une procédure à partir de l'interface graphique s'impose comme un bon choix... (enfin j'espère, parce que dans un mois mon exam dépendra de ce projet !)
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com