IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Appel de proc stockée ORACLE renvoyant un curseur à partir de DELPHI


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Appel de proc stockée ORACLE renvoyant un curseur à partir de DELPHI
    bonjour à tous,

    je viens de récupérer un application qui tourne en DELPHI 2006 sur une bdd DB2 et il faut que je la fasse tourner en DELPHI 2006 (sachant que je ne connais pas du tout DELPHI) sur une bdd ORACLE 10g.

    J'ai des modifications à apporter au niveau des procédures stockées (qui retournent des curseurs servant à alimenter des grid) et de l'appel de ces proc stockées à partir de DELPHI.
    Cependant, ne connaissant ni DELPHI, ni DB2, je n'arrive pas à trouver de solutions...

    Voici un exemple de procédure stockée en DB2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    	CREATE PROCEDURE REC_NUMFAX_Z (IN NUMFAX INTEGER ) 
    	DYNAMIC RESULT SETS 1 
    	LANGUAGE SQL 
    	SPECIFIC  REC_NUMFAX_Z 
    	NOT DETERMINISTIC 
    	READS SQL DATA 
    	CALLED ON NULL INPUT 
    	BEGIN 
    	DECLARE SQLCODE INTEGER DEFAULT 0 ; 
    	DECLARE RELATION INTEGER ; 
    	DECLARE RELATION1 INTEGER ; 
    	DECLARE QUERY1 CHAR ( 512 ) ; 
    	DECLARE C11 DYNAMIC SCROLL CURSOR FOR S11 ; 
    	DECLARE C12 DYNAMIC SCROLL CURSOR FOR SELECT ORPC00 FROM  ORPTBL1I6 WHERE ( ORPC19 = NUMFAX ) ; 
    	OPEN C12 ; 
    	FETCH C12 INTO RELATION ; 
    	IF SQLCODE <> 0 THEN 
    	SET QUERY1 = 'SELECT * FROM  ORPTBL1IZ WHERE ORPC00=0000000' ; 
    	ELSE 
    	SET RELATION1 = RELATION ; 
    	FETCH C12 INTO RELATION ; 
    	IF SQLCODE = 0 THEN 
    		SET QUERY1 = 'SELECT ORPC00, ORPC03, ORPC13, ORPC20, ORPC15, ORPC14, ORPC21, ORPC23 FROM  ORPTBL1I6 WHERE (ORPC19=' CONCAT CAST ( NUMFAX AS VARCHAR ( 10) ) CONCAT ')' ; 
    	ELSE 
    		SET QUERY1 = 'SELECT * FROM  ORPTBL1IZ WHERE (ORPC00=' CONCAT CAST ( RELATION1 AS VARCHAR ( 7 ) ) CONCAT ')' ; 
    	END IF ; 
    	END IF ; 
    	CLOSE C12 ; 
    	PREPARE S11 FROM QUERY1 ; 
    	OPEN C11 ; 
    	SET RESULT SETS CURSOR C11 ; 
    	END  ;
    et voici l'appel de cette procédure sous DELPHI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          begin
          numrac := edtEntree.Text;
          numrac := format('%.10d',[strtoint(numrac)]);
          qryReccli.SQL.Add('Call orphee.rec_numfax_z(' +  numrac + ')');
          end;
    1) Quelqu'un peut-il m'indiquer comment retranscrire cette procédure DB2 au format d'un base ORACLE ???


    2) Quelqu'un peut-il m'indiquer l'appel de la procédure stockée ORACLE sous DELPHI ???


    Je vous remercie d'avance.
    a+

  2. #2
    Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Il faut utiliser une librairie de composants appelée ODAC (Oracle Data Access Components), qui de plus permet d'utiliser l'OCI (Oracle Call Interface) et donc évite de passer par l'ODBC et le BDE.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel de procédure stockée Oracle
    Par olive-andre dans le forum C#
    Réponses: 5
    Dernier message: 17/12/2007, 12h59
  2. appel de proc stock dans shells unix
    Par fguigui dans le forum Oracle
    Réponses: 20
    Dernier message: 05/04/2007, 14h05
  3. Réponses: 2
    Dernier message: 16/02/2007, 18h49
  4. [Proc Stock]Création d'un curseur en SQL dynamique
    Par marsup54 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/06/2006, 14h02
  5. Réponses: 9
    Dernier message: 14/10/2005, 18h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo