Package DEBUG

  Rubriques connexes 	  Toutes les procédures internes

Debug.Break

Debug.Getx

Debug.Interpret

Debug.Setx

Debug.Suspend


Debug.Break

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Utilisée pour entrer un point d'interruption à partir d'un déclencheur de débogage.

Syntaxe

Debug.Break  EXCEPTION;

Notes d'utilisation Debug.Break est surtout intéressant pour créer des points d'interruption conditionnelle. Lorsque l'exception est générée, le contrôle est transmis à l'interpréteur comme si vous aviez entré un point d'interruption à l'adresse du déclencheur de débogage.


Debug.Break - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Créer un point d'interruption uniquement lorsque
** la valeur de 'mon_sal' est supérieure à 5000.
*/
IF Debug.Getn('mon_sal') > 5000 THEN
  RAISE Debug.Break;
END IF;


Debug.Getx

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Recherche la valeur de la variable locale indiquée.

Syntaxe

FUNCTION Debug.Getc
   (nom_variable VARCHAR2)
RETURN VARCHAR2;

FUNCTION Debug.Getd
   (nom_variable VARCHAR2)
RETURN DATE;

FUNCTION Debug.Geti
   (nom_variable VARCHAR2)
RETURN PLS_INTEGER;

FUNCTION Debug.Getn
   (nom_variable VARCHAR2)
RETURN NUMBER;

Paramètres

nom_variable	Variable de type VARCHAR2 ou CHAR (Debug.Getc convertit les valeurs de type CHAR en variables de type VARCHAR2), DATE, PLS_INTEGER ou NUMBER.
Notes d'utilisation Cette syntaxe est utile pour déterminer la valeur d'une variable locale à partir d'un déclencheur de débogage.


Debug.Getx - Exemples

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher la valeur de la variable 'mon_nom'
** et l'utiliser pour tester une condition.
*/
IF Debug.Getc('mon_nom') = 'JULES' THEN
  RAISE Debug.Break;
END IF;

L'unité de programme foo appelle ici le sous-programme (bar). Ce dernier est également appelé par de nombreuses autres unités de programme. Considérez le cas suivant : la procédure bar accepte l'argument 'message' des nombreuses procédures qui l'appellent. La procédure foo transmet l'argument unique 'Salut à tous' à bar. Dans ce cas, il est possible de définir un déclencheur qui détecte un point d'interruption dans la procédure bar uniquement lorsque foo transmet son argument :

PL/SQL> .TRIGGER PROC bar LINE 3 IS
      >BEGIN
      >  IF Debug.Getn('message') = 'hello world' THEN
      >    RAISE Debug.Break;
      >  END IF;
      >END;


Debug.Interpret

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Exécute l'instruction PL/SQL ou la chaîne de commandes d'interpréteur de Procedure Builder figurant dans saisie comme si elle avait été entrée dans l'interpréteur.

Syntaxe

PROCEDURE Debug.Interpret
   (input VARCHAR2);

Paramètres

saisie	Chaîne de commandes Procedure Builder.
Notes d'utilisation Cette syntaxe est utile pour appeler automatiquement les fonctions de Procedure Builder à partir d'un déclencheur de débogage.


Debug.Interpret - Exemples

  Rubriques connexes	   Tous les exemples

 /*
** Exécuter la commande SHOW STACK
** lorsqu'une condition est remplie.
*/
IF Debug.Getc('mon_nom') = 'JULES' THEN
  Debug.Interpret('.SHOW LOCALS');
END IF;

L'unité de programme foo appelle ici le sous-programme bar. Ce dernier est également appelé par de nombreuses autres unités de programme. Vous voulez créer un point d'interruption dans bar, mais vous ne voulez l'activer que lorsque le sous-programme est appelé depuis foo, et non depuis d'autres unités de programme.

Pour ce faire, procédez comme suit :

1	Créez un point d'interruption dans la procédure bar à l'endroit où vous voulez interrompre l'exécution.

2	Désactivez le point d'interruption que vous venez de créer.

Vous pouvez exécuter ces deux étapes depuis la boîte de dialogue Point d'interruption. Dans la procédure foo, créez un point d'interruption avec un déclencheur de point d'interruption qui active le premier point d'interruption créé dans la procédure bar. Par exemple :

PL/SQL>.BREAK PROC foo LINE 6 TRIGGER
      >BEGIN
      >  Debug.Interpret('.enable break 1');
      >  Debug.Interpret('.go');
      >END;

L'exemple suivant crée un point d'interruption qui active le déclencheur chaque fois que le point d'interruption est atteint.

PL/SQL> .break proc my_proc line 10 trigger
     +> DEBUG.INTERPRET('.SHOW LOCALS');


Debug.Setx

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Affecte une nouvelle valeur à une variable locale.

Syntaxe

PROCEDURE Debug.Setc
   (nom_variable  VARCHAR2,
    nouvelle_valeur VARCHAR2);

PROCEDURE Debug.Setd
   (nom_variable  VARCHAR2,
    nouvelle_valeur DATE);

PROCEDURE Debug.Seti
   (nom_variable  VARCHAR2,
    nouvelle_valeur PLS_INTEGER);

PROCEDURE Debug.Setn
   (nom_variable  VARCHAR2,
    nouvelle_valeur NUMBER);

Paramètres

nom_variable	Variable de type VARCHAR2 ou CHAR (Debug.Getc convertit les valeurs de type CHAR en variables de type VARCHAR2), DATE, PLS_INTEGER ou NUMBER.
nouvelle_valeur	Valeur appropriée pour le paramètre nom_variable.
Notes d'utilisation Cette syntaxe est utile pour modifier la valeur d'une variable locale à partir d'un déclencheur de débogage.


Debug.Setx - Exemples

  Rubriques connexes	   Tous les exemples

 /*
** Affecter la valeur de la variable locale 'mon_emp'
** à partir d'un déclencheur de débogage.
** */
Debug.Setc('mon_emp', 'DUPONT');
/*
** Affecter la valeur de la variable locale 'ma_date'
** à partir d'un déclencheur de débogage.
*/
Debug.Setd('ma_date', '02-OCT-96');


Debug.Suspend

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Suspend l'exécution de l'unité de programme en cours et transfère le contrôle à l'interpréteur.

Syntaxe

PROCEDURE Debug.Suspend;


Debug.Suspend - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Cet exemple utilise Debug.Suspend
*/
PROCEDURE proc1 IS
BEGIN
  FOR i IN 1..10 LOOP
    Debug.Suspend;
    Text_IO.Put_Line('Salut');
  END LOOP;
 END;


Package DDE

  Rubriques connexes 	  Toutes les procédures internes

DDE.App_Begin

DDE.App_End

DDE.App_Focus

DDE.DMLERR_Not_Supported

DDE.Execute

DDE.Getformatnum

DDE.Getformatstr

DDE.Initiate

DDE.IsSupported

DDE.Poke

DDE.Request

DDE.Terminate


DDE.App_Begin
  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Lance un programme d'application et retourne un identificateur.

Syntaxe

FUNCTION DDE.App_Begin
   (Nom_App VARCHAR2,
    Mode_App PLS_INTEGER)
RETURN PLS_INTEGER; Paramètres

Paramètres

Nom_App	Nom de l'application.
Mode_App	Modes de lancement de l'application : App_Mode_Normal    Ouvre la fenêtre d'application en taille normale. App_Mode_Minimized     Ouvre la fenêtre d'application en taille réduite. App_Mode_Maximized    Ouvre la fenêtre d'application en taille maximum.

Retourne Un identificateur d'application.

Notes d'utilisation Le nom de l'application peut contenir un chemin d'accès. S'il n'en contient pas, le programme explore les répertoires dans l'ordre indiqué ci-après :

•	répertoire courant

•	répertoire Windows

•	répertoire système de Windows

•	répertoire contenant le fichier exécutable de la tâche en cours.

Pour Nom_App, le nom du programme d'application peut être suivi d'arguments qui doivent être séparés du nom du programme d'application par un espace.

L'application peut être lancée en taille normale, réduite ou maximum, selon l'option indiquée par Mode_App.

L'identificateur d'application retourné par DDE.App_Begin doit être utilisé dans tous les appels ultérieurs à DDE.App_End et à DDE.App_Focus pour cette fenêtre d'application.


DDE.App_Begin - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Lancer MS Excel avec la feuille de calcul emp.xls chargée.
*/
DECLARE
  ID_App  PLS_INTEGER;
BEGIN
    ID_App := DDE.App_Begin('c:\excel\excel.exe emp.xls',
     DDE.App_Mode_Minimized);
END;


DDE.App_End

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Met fin à un programme d'application lancé par Dde_App_Begin.

Syntaxe

PROCEDURE DDE.App_End
   (ID_App PLS_INTEGER);

Paramètres

ID_App	Identificateur d'application retourné par DDE.App_Begin.
Notes d'utilisation Vous pouvez également mettre fin à l'application selon la procédure standard de Windows : par exemple, en cliquant deux fois sur la case du menu système.

Vous devez avoir au préalable appelé DDE.App_Begin pour lancer le programme d'application si vous voulez y mettre fin en utilisant DDE.App_End.


DDE.App_End - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Lancer Excel, effectuer certaines opérations sur la
** feuille de calcul, puis fermer l'application.
*/
DECLARE
  ID_App  PLS_INTEGER;
BEGIN
    ID_App := DDE.App_Begin('c:\excel\excel.exe emp.xls',
    DDE.App_Mode_Normal);
  ...
   DDE.App_End(ID_App);
END;


DDE.App_Focus

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Active un programme d'application lancé par DDE.App_Begin.

Syntaxe

PROCEDURE DDE.App_Focus
   (ID_App PLS_INTEGER);

Paramètres

ID_App	Identificateur d'application retourné par DDE.App_Begin.
Notes d'utilisation L'application peut également être activée selon la procédure standard de Windows : par exemple, en cliquant dans la fenêtre de l'application.

Vous devez avoir au préalable appelé DDE.App_Begin pour lancer le programme d'application si vous voulez l'activer en utilisant DDE.App_Focus.


DDE.App_Focus - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Lancer Excel, puis activer la fenêtre de l'application.
*/
DECLARE
   ID_App  PLS_INTEGER;
BEGIN
  ID_App := DDE.App_Begin('c:\excel\excel.exe',
    DDE.App_Mode_Maximized);
  DDE.App_Focus(ID_App);
END;


DDE.Execute

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Exécute une chaîne de commandes qui peut être acceptée par l'application serveur destinataire.

Syntaxe

PROCEDURE DDE.Execute
   (ID_Conv  PLS_INTEGER,
    Chaîne_cdes  VARCHAR2,
    Délai_attente PLS_INTEGER);

Paramètres

ID_conv	Identificateur de conversation DDE retourné par DDE.Initiate.
Chaîne_cdes	Chaîne de commandes à exécuter par le serveur.
Délai_attente	Temps d'attente, exprimé en millisecondes.
Notes d'utilisation La valeur de Chaîne_cdes dépend des valeurs supportées par l'application serveur.

Délai_attente indique, en millisecondes, le temps maximal pendant lequel cette routine attendra une réponse de l'application serveur DDE. Si vous indiquez une valeur non valide (par exemple, un nombre négatif), le système utilisera par défaut la valeur 1000 ms.


DDE.Execute - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Lancer Excel, puis relancer un calcul.
*/
DECLARE
  ID_Conv  PLS_INTEGER;
BEGIN
   ID_Conv := DDE.Initiate('EXCEL', 'abc.xls');
   DDE.Execute(ID_Conv, '[calculer.maintenant()]', 1000);
END;


DDE.Getformatnum

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Traduit ou enregistre le nom de format de données indiqué et retourne la représentation numérique de la chaîne de format de données.

Syntaxe

FUNCTION DDE.Getformatnum
   (Nom_Format_Données VARCHAR2)
RETURN PLS_INTEGER;

Paramètres

Nom_Format_Données	Chaîne de nom de format de données.
Notes d'utilisation DDE.Getformatnum convertit un format de données de chaîne en nombre. Ce nombre peut être utilisé dans les transactions DDE.Poke et DDE.Request pour représenter la variable Format_Données.

Si le nom indiqué n'a pas encore été enregistré, DDE.Getformatnum l'enregistre et retourne un numéro de format unique. Cette solution est la seule qui permette d'utiliser, au cours d'une transaction DDE.Poke ou DDE.Request, un format non prédéfini.


DDE.Getformatnum - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher le numéro de format prédéfini de "CF_TEXTE"
** (qui doit retourner CF_TEXTE=1), puis enregistrer
** un format de données défini par l'utilisateur et appelé "MON_FORMAT".
*/
DECLARE
  Num_Format    PLS_INTEGER;
  Mon_Num_Format  PLS_INTEGER;
BEGIN
  Num_Format := DDE.Getformatnum('CF_TEXTE');
  Mon_Num_Format := DDE.Getformatnum('MON_FORMAT');
END;


DDE.Getformatstr

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Traduit un numéro de format de données en une chaîne de nom de format.

Syntaxe

FUNCTION DDE.Getformatstr
   (Num_Format_Données PLS_INTEGER)
RETURN VARCHAR2;

Paramètres

Num_Format_Données	Numéro de format de données.
Retourne La chaîne représentant le numéro de format de données fourni.

Notes d'utilisation DDE.Getformatstr retourne un nom de format de données si le numéro de format de données est valide. Les numéros de format valides comprennent les formats prédéfinis et les formats définis par l'utilisateur et enregistrés par DDE.Getformatnum.


DDE.Getformatstr - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher un nom de format de données (dans cet exemple,
** la chaîne 'CF_TEXTE').
*/
DECLARE
  Chaîne_Format  VARCHAR2(80);
BEGIN
  Chaîne_Format := DDE.Getformatstr(CF_TEXTE);
END;


DDE.Initiate

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Engage une conversation DDE avec une application serveur.

Syntaxe

FUNCTION DDE.Initiate
   (Service VARCHAR2,
    Rubrique   VARCHAR2)
RETURN PLS_INTEGER;

Paramètres

Service	Code de service DDE de l'application serveur.
Rubrique	Nom de la rubrique de la conversation.
Retourne Un identificateur de conversation DDE.

Notes d'utilisation La valeur de Service et de Rubrique dépend des valeurs supportées par une application serveur DDE donnée. Le programme d'application s'appelle généralement Service. Le nom de fichier document des applications qui utilisent des documents basés sur des fichiers est généralement Rubrique ; en outre, la rubrique System est généralement supportée par chaque service.

L'identificateur de conversation retourné par DDE.Initiate devra être utilisé dans tous les appels ultérieurs à DDE.Execute, DDE.Poke, DDE.Request et DDE.Terminate pour cette conversation.

Une application peut engager simultanément plusieurs conversations avec plusieurs services et plusieurs rubriques, à condition que les identificateurs de conversation ne soient pas permutés.

Utilisez DDE.Terminate pour mettre fin à la conversation.


DDE.Initiate - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Engager une conversation DDE avec MS Excel sur
** la rubrique abc.xls.
*/
DECLARE
  ID_Conv  PLS_INTEGER;
BEGIN
  ID_Conv := DDE.Initiate('EXCEL', 'abc.xls');
END;


DDE.IsSupported

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Confirme que le package DDE est pris en charge sur la plate-forme en cours.

Syntaxe

DDE.ISSUPPORTED

Retourne TRUE, si DDE est pris en charge sur la plate-forme ; FALSE, s'il ne l'est pas.


DDE.IsSupported - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Avant d'appeler un objet DDE dans le code indépendant de plate-forme,
** utiliser ce prédicat pour déterminer si DDE est pris en charge sur la
** plate-forme en cours.
*/
IF (DDE.ISSUPPORTED)THEN
. . . code PL/SQL utilisant le package DDE
ELSE
. . . message indiquant que DDE n'est pas pris en charge
END IF;


DDE.DMLERR_Not_Supported

  Rubriques connexes 	   Toutes les procédures internes

Description Cette exception est générée si le package DDE est appelé alors qu'il n'est pas pris en charge sur la plate-forme en cours.

Syntaxe

DDE.DMLERR_NOT_SUPPORTED EXCEPTION;


DDE.Poke

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Envoie des données à une application serveur.

Syntaxe

PROCEDURE DDE.Poke
   (ID_Conv          PLS_INTEGER,
    Elément          VARCHAR2,
    Données          VARCHAR2,
    Format_Données   PLS_INTEGER,
    Délai_attente    PLS_INTEGER);

Paramètres

ID_conv	Identificateur de conversation DDE retourné par DDE.Initiate.
Elément	Nom de l'élément de données auquel les données doivent être envoyées.
Données	Données à transmettre.
Format_données	Format des données à transmettre.
Délai_attente	Temps d'attente, exprimé en millisecondes.
Notes d'utilisation La valeur de Elément dépend des valeurs supportées par l'application serveur sur le sujet de la conversation en cours.

Vous pouvez utiliser des constantes de format de données prédéfinies pour Format_Données.

Vous pouvez également utiliser un format défini par l'utilisateur et préalablement enregistré par DDE.Getformatnum, à condition que l'application serveur le reconnaisse. C'est l'utilisateur qui doit s'assurer que l'application serveur traitera bien le format de données spécifié.

Délai_attente indique, en millisecondes, le temps maximal pendant lequel cette routine attendra une réponse de l'application serveur DDE. Si vous indiquez une valeur non valide (par exemple, un nombre négatif), le système utilisera par défaut la valeur 1000 ms.


DDE.Poke - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Engager une conversation DDE avec MS Excel sur la rubrique
** abc.xls et envoyer les données "arc" à la cellule
** de la ligne 2, colonne 2.
*/
DECLARE
  ID_Conv  PLS_INTEGER;
BEGIN
  ID_Conv = DDE.Initiate('EXCEL', 'abc.xls');
  DDE.Poke(ID_Conv, 'R2C2', 'arc', DDE.CF_TEXTE, 1000);
END;


DDE.Request

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Demande des données à une application serveur.

Syntaxe

PROCEDURE DDE.Request
   (ID_conv         PLS_INTEGER,
    Elément         VARCHAR2,
    Tampon          VARCHAR2,
    Format_données  PLS_INTEGER,
    Délai_attente   PLS_INTEGER);

Paramètres

ID_conv	Identificateur de conversation DDE retourné par DDE.Initiate.
Elément	Nom de l'élément de données demandé.
Tampon	Tampon destiné à recevoir les données demandées.
Format_données	Format du tampon.
Délai_attente	Temps d'attente, exprimé en millisecondes.
Notes d'utilisation La valeur de Elément dépend des valeurs supportées par l'application serveur sur le sujet de la conversation en cours.

C'est l'utilisateur qui doit s'assurer que le tampon destiné à recevoir les données retournées est suffisamment grand pour les données demandées. Dans le cas contraire, les données sont tronquées.

Vous pouvez utiliser des constantes de format de données prédéfinies pour Format_Données.

Vous pouvez également utiliser un format défini par l'utilisateur et préalablement enregistré par DDE.Getformatnum, à condition que l'application serveur le reconnaisse. C'est l'utilisateur qui doit s'assurer que l'application serveur traitera bien le format de données spécifié.

Délai_attente indique, en millisecondes, le temps maximal pendant lequel cette routine attendra une réponse de l'application serveur DDE. Si vous indiquez une valeur non valide (par exemple, un nombre négatif), le système utilisera par défaut la valeur 1000 ms


DDE.Request - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Engager une conversation DDE avec MS Excel pour Windows sur
** la rubrique abc.xls, puis demander les données des 6 cellules
** se trouvant entre la ligne 2, colonne 2 et la ligne 3, colonne 4.
*/
DECLARE
  ID_Conv   PLS_INTEGER;
  Tampon   VARCHAR2;
BEGIN
   ID_Conv := DDE.Initiate('EXCEL', 'abc.xls');
   DDE.Request (ID_Conv, 'R2C2:R3C4', Tampon, DDE.Cf_Texte,
     1000);
END;


DDE.Terminate

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Met fin à la conversation indiquée avec une application.

Syntaxe

PROCEDURE DDE.Terminate
    (ID_conv PLS_INTEGER);

Paramètres

ID_conv	Identificateur de conversation.
Notes d'utilisation Après l'appel DDE.Terminate, tous les appels à DDE.Execute, DDE.Poke, DDE.Request et DDE.Terminate utilisant l'identificateur de conversation arrêtée entraîneront l'indication d'une erreur.

Vous devez avoir au préalable engagé la conversation à l'aide de DDE.Initiate pour y mettre fin avec une application serveur à l'aide de DDE.Terminate.


DDE.Terminate - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Engager une conversation DDE avec MS Excel sur le sujet
** abc.xls, effectuer quelques opérations, puis mettre fin à
** la conversation.
*/
DECLARE
  ID_Conv	PLS_INTEGER;
BEGIN
  ID_Conv := DDE.Initiate('EXCEL', 'abc.xls');
  ...
  DDE.Terminate(ID_Conv);
END;


Package TOOL_ENV

  Rubriques connexes 	  Toutes les procédures internes

Tool_Env.Getvar


Tool_Env.Getvar

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Permet d'importer une variable d'environnement dans une variable VARCHAR2.

Syntaxe

PROCEDURE Tool_Env.Getvar
   (nom_variable  VARCHAR2,
    valeur_variable VARCHAR2);

Paramètres

nom_variable	nom de la variable d'environnement.
valeur_variable	valeur de la variable d'environnement.


Tool_Env.Getvar - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Placer la variable d'environnement USER dans une
** variable appelée :id_utilisateur pour pouvoir l'utiliser dans une
** chaîne de connexion ou dans un autre appel.
*/
Tool_Env.Getvar('USER', :id_utilisateur);


Package TOOL_ERR

  Rubriques connexes 	  Toutes les procédures internes

Tool_Err.Clear

Tool_Err.Code

Tool_Err.Encode

Tool_Err.Message

Tool_Err.Nerrors

Tool_Err.Pop

Tool_Err.Tool_Error

Tool_Err.Toperror


Tool_Err.Clear

 Rubriques connexes 	   Toutes les procédures internes

Description Vide la pile d'erreurs.

Syntaxe

PROCEDURE Tool_Err.Clear;


Tool_Err.Code

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne le code d'erreur de la nième erreur de la pile (l'erreur située au sommet de la pile est retournée par défaut). Si la pile est vide, retourne zéro.

Syntaxe

FUNCTION Tool_Err.Code
   (i PLS_INTEGER := TOPERROR)
RETURN NUMBER;

Paramètres

n	Entier qui indique le rang de l'erreur dans la pile.
Retourne Le code d'erreur de l'erreur spécifiée.


Tool_Err.Code - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Vérifier s'il existe des erreurs
** inattendues, les ignorer et imprimer toute autre erreur.
*/
PROCEDURE check_err IS
BEGIN
  IF (TOOL_ERR.CODE != pkg_a.not_found) THEN
    TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE);
  END IF;
  TOOL_ERR.POP;
END;


Tool_Err.Encode

  Exemples	   Rubriques connexes 	  Toutes les procédures internes

Description  Selon un préfixe et un décalage donnés, construit un code d'erreur unique à utiliser au sein d'un package.

Remarque : Cela n'est pas une exception PL/SQL

Syntaxe

FUNCTION Tool_Err.Encode
   (préfixe VARCHAR2,
    décalage PLS_INTEGER)
RETURN NUMBER;

Paramètres

préfixe	Chaîne de cinq caractères.
Décalage	Entier compris entre 1 et 127.
Retourne Un code d'erreur.


Tool_Err.Encode - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Pour un package, définir une liste
** d'erreurs appelée pkg_a.
*/
PACKAGE pkg_a IS
  not_found CONSTANT pls_integer := TOOL_ERR.ENCODE('pkg_a', 1);
  bad_value CONSTANT pls_integer := TOOL_ERR.ENCODE('pkg_a', 2);
  too_big   CONSTANT pls_integer := TOOL_ERR.ENCODE('pkg_a', 3);
  too_small CONSTANT pls_integer := TOOL_ERR.ENCODE('pkg_a', 4);
  . . .     /* Reste de la spécification pkg_a */
END;


Tool_Err.Message

  Exemples	   Rubriques connexes 	  Toutes les procédures internes

Description Retourne le message mis en forme, associé à la nième erreur de la pile (l'erreur située au sommet de la pile est retournée par défaut).

Syntaxe

FUNCTION Tool_Err.Message
   (n PLS_INTEGER := TOPERROR)
RETURN VARCHAR2;

Paramètres

n	Entier qui indique le rang de l'erreur dans la pile.
Retourne Un message d'erreur


Tool_Err.Message - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Déterminer le nombre d'erreurs
** de la pile. Puis imprimer chaque
** message d'erreur de la pile d'erreurs.
*/
PROCEDURE print_all_errors IS
  number_of_errors   PLS_INTEGER;
BEGIN
EXCEPTION
  WHEN OTHERS THEN
  number_of_errors := TOOL_ERR.NERRORS;
  FOR i IN 1..number_of_errors LOOP
    TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE(i-1));
  END LOOP;
END;


Tool_Err.Nerrors

  Exemples	   Rubriques connexes 	  Toutes les procédures internes

Description Retourne le nombre d'erreurs se trouvant dans la pile d'erreurs.

Syntaxe

FUNCTION Tool_Err.Nerrors
RETURN PLS_INTEGER;

Retourne Le nombre d'erreurs se trouvant dans la pile d'erreurs.


Tool_Err.Nerrors - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Déterminer le nombre d'erreurs
** de la pile. Puis imprimer chaque
** message d'erreur de la pile d'erreurs.
*/
PROCEDURE print_all_errors IS
  number_of_errors   PLS_INTEGER;
BEGIN
EXCEPTION
  WHEN OTHERS THEN
  number_of_errors := TOOL_ERR.NERRORS;
  FOR i IN 1..number_of_errors LOOP
    TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE(i-1));
  END LOOP;
END;


Tool_Err.Pop

  Exemples	   Rubriques connexes 	  Toutes les procédures internes

Description Supprime l'erreur située au sommet de la pile.

Syntaxe

PROCEDURE Tool_Err.Pop;


Tool_Err.Pop - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Pour chaque message de la pile d'erreurs, l'imprimer
** puis le supprimer de la pile.
*/
BEGIN
  . . .

EXCEPTION
  WHEN OTHERS THEN
    FOR i IN 1..Tool_Err.Nerrors LOOP
TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE);
    TOOL_ERR.POP;
  END LOOP;
  . . .

END;


Tool_Err.Tool_Error

  Exemples	   Rubriques connexes 	  Toutes les procédures internes

Description Définit une erreur générique pour indiquer qu'une ou plusieurs erreurs ont été entrées dans la pile d'erreurs.

Syntaxe

Tool_Err.Tool_Error  EXCEPTION;


Tool_Err.Tool_Error - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Déclencher une erreur générique interne
** si un argument de fonction IS est hors limites.
*/
PROCEDURE my_proc(count PLS_INTEGER) IS
BEGIN
  IF (count < 0) THEN
    RAISE TOOL_ERR.TOOL_ERROR;
  END IF;
  . . .

END;


Tool_Err.Toperror

  Examples	   Rubriques connexes 	  Toutes les procédures internes

Description Identifie l'erreur située au sommet de la pile d'erreurs.

Syntaxe

Tool_Err.Toperror CONSTANT PLS_INTEGER;


Tool_Err.Toperror - Exemple

  Rubriques connexes	   Tous les exemples

/*
**  Imprimer l'erreur située au sommet de la pile.
**  Les mêmes résultats sont obtenus en appelant
**  Tool_Err.Message sans argument.
*/
BEGIN
  . . .

  TEXT_IO.PUT_LINE(TOOL_ERR.MESSAGE(TOOL_ERR.TOPERROR));
  . . .

END;


Package EXEC_SQL

  Rubriques connexes 	  Toutes les procédures internes

Les fonctions et les procédures sont répertoriées dans l'ordre où elles sont généralement appelées dans une session.

EXEC_SQL.Open_Connection

EXEC_SQL.Curr_Connection

EXEC_SQL.Default_Connection

EXEC_SQL.Open_Cursor

EXEC_SQL.Parse

EXEC_SQL.Describe_Column

EXEC_SQL.Bind_Variable

EXEC_SQL.Define_Column

EXEC_SQL.Execute

EXEC_SQL.Execute_And_Fetch

EXEC_SQL.Fetch_Rows

EXEC_SQL.More_Result_Sets

EXEC_SQL.Column_Value

EXEC_SQL.Variable_Value

EXEC_SQL.Is_Open

EXEC_SQL.Close_Cursor

EXEC_SQL.Is_Connected

EXEC_SQL.Is_OCA_Connection

EXEC_SQL.Close_Connection

Les fonctions suivantes extraient des informations sur le dernier curseur référencé dans une connexion, après l'exécution d'une instruction SQL.

EXEC_SQL.Last_Error_Position

EXEC_SQL.Last_Row_Count

EXEC_SQL.Last_SQL_Function_Code

EXEC_SQL.Last_Error_Code

EXEC_SQL.Last_Error_Mesg


EXEC_SQL.Open_Connection

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

FUNCTION EXEC_SQL.Open_Connection
    (Nom_util        IN VARCHAR2,
     Mot_passe       IN VARCHAR2,
     Source_données  IN VARCHAR2)
RETURN EXEC_SQL.ConnType;

Paramètres

Chaîne_conn	Chaîne prenant la forme 'Utilisateur[/Mot_passe][@Chaîne_base_données]'
Nom_util	Chaîne indiquant le nom utilisateur servant à se connecter à la base de données
Mot_passe	Chaîne indiquant le mot de passe pour le nom utilisateur
Source_données	Chaîne indiquant l'alias SQLNet ou la connexion OCA commençant par 'ODBC:'

Retourne  Un identificateur de la nouvelle connection de base de données.


EXEC_SQL.Open_Connection - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData IS
  --
  -- un identificateur de connexion doit être de type EXEC_SQL.conntype
  --
  connection_id EXEC_SQL.CONNTYPE;

  ...

BEGIN
  --
  -- une chaîne de connexion prend la forme'utilisateur/mot_passe@alias_base_données'
  --
  connection_id := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion');

  ...

END;


EXEC_SQL.Curr_Connection

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne un identificateur de connexion utilisant la même connexion de base de données établie à l'origine par Developer. EXEC_SQL.Default_Connection remplace EXEC_SQL.Curr_Connection.

Syntaxe

FUNCTION EXEC_SQL.Curr_Connection
RETURN EXEC_SQL.ConnType;

Retourne Un identificateur de la connexion principale de Developer.

Notes d'utilisation  Utilisez EXEC_SQL.Default_Connection au lieu de EXEC_SQL.Curr_Connection. Pour assurer la compatibilité amont, EXEC_SQL.Curr_Connection est encore pris en charge.


EXEC_SQL.Default_Connection

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne un identificateur de connexion utilisant la même connexion de base de données établie à l'origine par Developer. EXEC_SQL.Default_Connection remplace EXEC_SQL.Curr_Connection.

Syntaxe

FUNCTION EXEC_SQL.Default_Connection
RETURN EXEC_SQL.ConnType;

Retourne Un identificateur de la connexion principale de Developer.

Notes d'utilisation  La connexion par défaut est la connexion principale de Developer. Lors du premier appel à EXEC_SQL.Default_Connection, la connexion par défaut est recherchée  puis placée dans un cache du package EXEC_SQL. Un identificateur est alors retourné à l'utilisateur. Les appels ultérieurs à EXEC_SQL.Default_Connection extraient simplement l'identificateur du cache.

Etant donné que l'identificateur de connexion se trouve dans un cache, si vous accédez à des données à partir de la connexion par défaut uniquement, vous n'avez pas besoin d'indiquer explicitement l'identificateur de connexion dans les appels aux autres méthodes EXEC_SQL ; EXEC_SQL consulte automatiquement le cache pour obtenir l'identificateur de connexion.

Pour libérer le cache, appelez EXEC_SQL.Close_Connection sur l'identificateur de connexion qui est obtenu de EXEC_SQL.Default_Connection appelant. Pour les connexions par défaut, EXEC_SQL.Close_Connection ne met pas fin à la connexion, mais libère uniquement les ressources utilisées par EXEC_SQL.


EXEC_SQL.Default_Connection et EXEC_SQL.Curr_Connection - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple illustre l'utilisation de
** EXEC_SQL.Default_Connection et
** EXEC_SQL.Curr_Connection.
*/
PROCEDURE esdefaultcon2 IS
  connection_id EXEC_SQL.CONNTYPE;
  bIsConnected BOOLEAN;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  nIgn PLS_INTEGER;
  nRows PLS_INTEGER := 0;
  nTimes PLS_INTEGER := 0;
  mynum NUMBER;

BEGIN
  --
  -- obtenir la connexion par défaut et vérifier que celle-ci est valide
  --
  connection_id := EXEC_SQL.DEFAULT_CONNECTION;
  bIsConnected := EXEC_SQL.IS_CONNECTED;
  IF bIsConnected = FALSE THEN
    TEXT_IO.PUT_LINE('Aucune connexion principale. Veuillez vous connecter avant d'effectuer un nouvel essai.');
    RETURN;
  END IF;
  --
  -- les appels ultérieurs à EXEC_SQL.Open_Cursor, EXEC_SQL.Parse, EXEC_SQL.Define_Column,
  -- EXEC_SQL.Execute, EXEC_SQL.Fetch_Rows, EXEC_SQL.Column_Value,
  -- EXEC_SQL.Close_Cursor et EXEC_SQL.Close_Connection utilisent tous implicitement
  -- cette connexion du cache
  --
  cursorID := EXEC_SQL.OPEN_CURSOR;
  sqlstr := 'select empno from emp';
  EXEC_SQL.PARSE(cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.DEFINE_COLUMN(cursorID, 1, mynum);
  nIgn := EXEC_SQL.EXECUTE(cursorID);

  LOOP
    IF (EXEC_SQL.FETCH_ROWS(cursorID) > 0) THEN
      EXEC_SQL.COLUMN_VALUE(cursorID, 1, mynum);

      ...

    ELSE
      exit;
    END IF;
  END LOOP;
  EXEC_SQL.CLOSE_CURSOR(cursorID);
  EXEC_SQL.CLOSE_CONNECTION;
END;


EXEC_SQL.Open_Cursor

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Crée un nouveau curseur sur la connexion indiquée et retourne un identificateur de curseur. Lorsque vous n'avez plus besoin du curseur, vous devez le fermer explicitement en utilisant EXEC_SQL.Close_Cursor.

Syntaxe

FUNCTION EXEC_SQL.Open_Cursor
    [Id_conn     IN CONNTYPE]
RETURN EXEC_SQL.CursType;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.

Retourne  Un identificateur du nouveau curseur.

Notes d'utilisation  Vous pouvez utiliser des curseurs pour exécuter, de façon itérative, la même instruction SQL (sans nouvelle analyse) ou exécuter une nouvelle instruction SQL (avec analyse). Lorsque vous réutilisez un curseur pour une nouvelle instruction, le contenu du curseur est automatiquement remis à l'état initial au moment de l'analyse de la nouvelle instruction. Cela signifie que vous n'avez pas à fermer et rouvrir un curseur avant de le réutiliser.


EXEC_SQL.Open_Cursor - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData IS
  --
  -- un identificateur de curseur doit être de type EXEC_SQL.cursType
  --
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;

  ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion');

  ...

  --
  -- ce curseur est maintenant associé à une connexion particulière
  --
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);

  ...

END;


EXEC_SQL.Parse

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Cette procédure analyse une instruction sur un curseur donné.

Syntaxe

PROCEDURE EXEC_SQL.Parse
    ([Id_conn      IN CONNTYPE,]
      Id_curs      IN CURSTYPE,
      Instruction  IN VARCHAR2
         [Langage  IN PLS_INTEGER]);

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	Identificateur de curseur que vous souhaitez attribuer à l'instruction.
Instruction	Instruction SQL à analyser. Elle ne doit pas comporter de point-virgule final.
Indicat_langage	Indicateur déterminant le mode de traitement Oracle de l'instruction SQL. Indicateurs valides : V6           Oracle V6 V7           Oracle V7 NATIVE   Valeur par défaut

Notes d'utilisation  Toutes les instructions SQL doivent être analysées à l'aide de cette procédure. L'analyse permet de vérifier la syntaxe de l'instruction et de l'associer au curseur dans votre code. Contrairement à l'analyse OCI, l'analyse EXEC_SQL est toujours immédiate. Vous ne pouvez pas la différer.

Vous pouvez analyser toute instruction DML ou DDL. Pour les sources de données Oracle, les instructions DDL sont exécutées lors de la procédure d'analyse. Pour les sources de données autres que Oracle, ces instructions peuvent être exécutées lors de la procédure d'analyse ou d'exécution. Cela signifie que vous devez toujours analyser et exécuter toutes les instructions DDL dans EXEC_SQL.


EXEC_SQL.Parse - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);

  ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- l'instruction à analyser est stockée sous forme de variable VARCHAR2
  --
  sqlstr := 'select ename from emp';
  --
  -- effectuer l'analyse
  --
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);

  ...

END;


EXEC_SQL.Describe_Column

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Obtient des informations sur les colonnes dans un ensemble de résultats d'une instruction SQL analysée. Si vous tentez de décrire un numéro de colonne inexistant dans l'ensemble de résultats, l'exception EXEC_SQL.Invalid_Column_Number est générée. Conseil

Syntaxe

PROCEDURE EXEC_SQL.Describe_Column
    ([Id_conn    IN CONNTYPE,
      Id_curs    IN CURSTYPE,
      Position   IN PLS_INTEGER,
      Nom        OUT VARCHAR2,
      Long_col   OUT PLS_INTEGER,
      Type       OUT PLS_INTEGER]);

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale d'Oracle Developer.
Id_curs	Identificateur de curseur associé à la colonne que vous souhaitez décrire.
Position	Position dans l'ensemble de résultats de la colonne que vous souhaitez décrire. Les positions sont numérotées de gauche à droite, en commençant à 1.
Nom	Nom de la colonne, sur la sortie.
Long_col	Longueur maximale de la colonne en octets, sur la sortie.
Type	Type de la colonne, sur la sortie. Valeurs valides : EXEC_SQL.VARCHAR2_TYPE EXEC_SQL.NUMBER_TYPE EXEC_SQL.FLOAT_TYPE EXEC_SQL.LONG_TYPE EXEC_SQL.ROWID_TYPE EXEC_SQL.DATE_TYPE EXEC_SQL.RAW_TYPE EXEC_SQL.LONG_RAW_TYPE EXEC_SQL.CHAR_TYPE (ANSI fixe CHAR) EXEC_SQL.MLSLABLE_TYPE (Trusted Oracle uniquement)


EXEC_SQL.Describe_Column - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE esdesccol(tablename VARCHAR2) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursor_number EXEC_SQL.CURSTYPE;
  sql_str VARCHAR2(256);
  nIgnore PLS_INTEGER;
  nColumns PLS_INTEGER := 0;	 --décompte des colonnes retournées
  colName VARCHAR2(30);
  colLen PLS_INTEGER;
  colType PLS_INTEGER;

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion');
  --
  -- Lorsque vous effectuez un "select *..." à partir d'une table connue à l'exécution
  -- uniquement, vous ne pouvez pas connaître les colonnes a priori. EXEC_SQL.Describe_Column est alors très utile.
  --
  sql_str := 'select * from ' || tablename;
  cursor_number := EXEC_SQL.OPEN_CURSOR(connection_id);
  EXEC_SQL.PARSE(connection_id, cursor_number, sql_str, exec_sql.V7);
  nIgnore := EXEC_SQL.EXECUTE(connection_id, cursor_number);

  LOOP
    nColumns := nColumns + 1;  --utilisé comme index de colonne dans l'ensemble de résultats
    --
    -- describe_column est en général utilisé dans un bloc PL/SQL, avec un bloc
    -- d'exception inclus, afin de déceler l'exception EXEC_SQL.invalid_column_number.
    -- Lorsqu'il n'y a plus de colonne à rechercher, nous pouvons stocker les noms et
    -- les longueurs de colonne dans une table PL/SQL d'enregistrements et effectuer
    -- d'autres interrogations afin d'obtenir les lignes de la table. Dans cet exemple,
    -- colName, colLen et colType servent à stocker les caractéristiques des colonnes
    -- retournées.
    --
  BEGIN
    EXEC_SQL.DESCRIBE_COLUMN(connection_id, cursor_number,
                      nColumns, colName, colLen, colType);
         TEXT_IO.PUT_LINE(' col= ' || nColumns || ' name ' || colName  ||
                          ' len= ' || colLen   || ' type ' || colType );
  EXCEPTION
    WHEN EXEC_SQL.INVALID_COLUMN_NUMBER THEN
      EXIT;
    END;
  END LOOP;

  nColumns := nColumns - 1;
  IF (nColumns <= 0) THEN
    TEXT_IO.PUT_LINE('Aucune colonne retournée dans l'interrogation');
  END IF;

  ...

  EXEC_SQL.CLOSE_CURSOR(connection_id, cursor_number);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Bind_Variable

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Lie une valeur donnée à une variable nommée dans une instruction SQL.

Syntaxe

PROCEDURE EXEC_SQL.Bind_Variable
    ([Id_conn   IN CONNTYPE],
      Id_curs   IN CURSTYPE,
      Nom       IN VARCHAR2,
      Valeur    IN <type_données>);

où <type_données> peut être :

      NUMBER
DATE
VARCHAR2

PROCEDURE EXEC_SQL.Bind_Variable
    ([Id_conn            IN CONNTYPE],
      Id_curs            IN CURSTYPE,
      Nom                IN VARCHAR2,
      Valeur             IN VARCHAR2,
      Taille_valeur_Out  IN PLS_INTEGER);

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	Identificateur de curseur auquel lier la variable.
Nom	Nom de la variable dans l'instruction SQL.
Valeur	Pour les variables IN et IN/OUT, donnée que vous souhaitez lier à la variable nommée. Pour les variables OUT, la donnée n'est pas prise en compte, mais vous devez toutefois utiliser Bind_Variable pour indiquer le type de variable PL/SQL à extraire ultérieurement par Variable_Value.
Taille_valeur_Out	Taille maximale en octets de la valeur OUT attendue pour les variables VARCHAR2 OUT ou IN/OUT. Si la taille n'est pas indiquée, la longueur en cours du paramètre Valeur est utilisée.

Notes d'utilisation  Utilisez des marques dans les instructions SQL pour indiquer l'endroit où les données d'entrée doivent être fournies à l'exécution. Vous devez également utiliser des marques pour les valeurs de sortie, si l'instruction est un bloc PL/SQL ou un appel à une procédure stockée avec des paramètres de sortie.

Pour chaque marque d'entrée, vous devez utiliser EXEC_SQL.Bind_Variable pour fournir la valeur. Pour chaque marque de sortie, vous devez également utiliser EXEC_SQL.Bind_Variable pour indiquer le type de variable permettant d'extraire la valeur dans les appels ultérieurs à  EXEC_SQL.Variable_Value.

La marque d'entrée ou la variable de lien dans une instruction SQL est identifiée par un nom commençant par deux-points. Par exemple, la chaîne ':X' est une variable de lien dans l'instruction SQL suivante :

SELECT ename FROM emp WHERE SAL > :X;

La procédure EXEC_SQL.Bind_Variable est :

BIND_VARIABLE(connection_handle, cursor_handle, ':X', 3500);


EXEC_SQL.Bind_Variable - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData(input_empno NUMBER) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);

  ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- l'instruction à analyser contient une variable de lien
  --
  sqlstr := 'select ename from emp where empno = :bn';
  --
  -- perform parsing
  --
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- La procédure bind_variable attribue la valeur de l'argument d'entrée à la variable
  -- de lien nommée. Notez l'utilisation des deux-points et de l'apostrophe pour désigner la
  -- variable de lien. La procédure bind_variable est appelée après la procédure d'analyse.
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, mynum);

  ...

END;


EXEC_SQL.Define_Column

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Cette procédure est utilisée uniquement avec les instructions SELECT ou les appels à des procédures stockées autres que Oracle retournant un ensemble de résultats. Elle permet de définir une colonne à extraire d'un curseur donné. La colonne est identifiée par sa position relative dans l'ensemble de résultats ; la première position relative est identifiée par l'entier 1. Le type PL/SQL du paramètre Colonne détermine le type de la colonne définie.

Syntaxe

PROCEDURE EXEC_SQL.Define_Column
    ([Id_conn    IN CONNTYPE],
      Id_curs    IN CURSTYPE,
      Position   IN PLS_INTEGER,
      Colonne    IN <type_données>);

où <type_données> peut être :

      NUMBER
      DATE
      VARCHAR2

PROCEDURE EXEC_SQL.Define_Column
    ([Id_conn         IN CONNTYPE],
      Id_curs         IN CURSTYPE,
      Position        IN PLS_INTEGER,
      Colonne         IN VARCHAR2,
      Taille_colonne  IN PLS_INTEGER);

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	Identificateur de curseur que vous souhaitez définir pour la colonne.
Position	Position relative de la colonne dans la ligne ou l'ensemble de résultats. La première colonne dans l'instruction a une position relative de 1.
Colonne	Valeur de la colonne définie. Le type de valeur détermine le type de colonne défini. La valeur réelle stockée dans la variable n'est pas prise en compte.
Taille_colonne	Taille maximale attendue de la valeur de colonne en octets  (pour le type de colonne VARCHAR2 uniquement)

Notes d'utilisation  Pour une interrogation, vous devez définir la colonne par EXEC_SQL.Column_Value avant d'extraire ses données.


EXEC_SQL.Define_Column - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);   -- variables locales pour la procédure ;
  loc_eno NUMBER;           -- utilisées pour stocker les valeurs retournées de votre
  loc_hiredate DATE;        -- interrogation

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'select ename, empno, hiredate from emp ';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  --
  -- Nous appelons DEFINE_COLUMN pour chaque élément de la liste de sélection.
  -- Nous devons utiliser des variables locales pour stocker les valeurs retournées. Pour
  -- une valeur de résultat de type VARCHAR, il est important d'indiquer la longueur maximale.
  -- Pour une valeur de résultat de type NUMBER ou DATE, il n'est pas nécessaire d'indiquer
  -- la longueur maximale. Nous obtenons la position relative des colonnes retournées de
  -- l'instruction de sélection sql_str.
  --
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);

 ...

END;


EXEC_SQL.Execute

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Exécute l'instruction SQL pour un curseur donné.

Syntaxe

FUNCTION EXEC_SQL.Execute
    ([Id_conn    IN CONNTYPE],
      Id_curs    IN CURSTYPE)
RETURN PLS_INTEGER;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	Identificateur de curseur de l'instruction SQL que vous souhaitez exécuter.
Retourne  Le nombre de lignes traitées.

Notes d'utilisation  La valeur retournée n'est valide que pour les instructions INSERT, UPDATE et DELETE. Pour les autres instructions, y compris DDL, la valeur retournée n'est pas prise en compte, car elle n'est pas définie.


EXEC_SQL.Execute - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
  nIgn PLS_INTEGER;

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'select ename, empno, hiredate from emp ';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);
  --
  -- Après l'analyse et l'appel à BIND_VARIABLE et DEFINE_COLUMN, au besoin, vous
  -- pouvez exécuter l'instruction. Notez que toutes les informations sur l'instruction
  -- et son ensemble de résultats sont intégrées dans le curseur référencé par cursorID.
  --
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);

 ...

END;


EXEC_SQL.Execute_And_Fetch

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Cette fonction appelle  EXEC_SQL.Execute, puis EXEC_SQL.Fetch_Rows. Elle exécute une instruction SQL pour un curseur donné et extrait la première ligne correspondant à la question. L'appel à EXEC_SQL.Execute_And_Fetch peut réduire le nombre d'allers-retours dans le cas d'une base de données éloignée.

Syntaxe

FUNCTION EXEC_SQL.Execute_And_Fetch
    ([Id_conn    IN CONNTYPE],
      Id_curs    IN CURSTYPE,
      Exact      IN BOOLEAN DEFAULT FALSE)
RETURN PLS_INTEGER;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	Identificateur de curseur de l'instruction SQL que vous souhaitez exécuter.
Exact	La valeur par défaut est FALSE. TRUE permet de générer l'exception EXEC_SQL.Package_Error. La ligne est extraite même si l'exception est générée.
Retourne  Le nombre de lignes extraites (soit 0 ou 1).


EXEC_SQL.Execute_And_Fetch - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData(input_empno NUMBER) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
  nIgn PLS_INTEGER;

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- en supposant que empno est une clé primaire de la table emp, la clause where vous assure
  -- que 0 ou 1 ligne est retournée
  --
  sqlstr := 'select ename, empno, hiredate from emp '
  sqlstr := sqlstr || ' where empno = ' || input_empno;
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);
  --
  -- exécuter la fonction execute_and_fetch après l'analyse de l'instruction et l'appel à
  -- bind_variable et define_column, au besoin
  --
  nIgn := EXEC_SQL.EXECUTE_AND_FETCH (connection_id, cursorID);
  IF (nIgn = 0 ) THEN
    TEXT_IO.PUT_LINE (' Aucun employé n'a ce numéro (empno) = ' || input_empno);
  ELSE IF (nIgn = 1) THEN
    TEXT_IO.PUT_LINE (' Un employé a ce numéro (empno) ' || input_empno);
  --
  -- obtenir les valeurs de cette ligne
  --
    EXEC_SQL.column_value(connection_id, cursorID, 1, loc_ename);
    EXEC_SQL.column_value(connection_id, cursorID, 2, loc_eno);
    EXEC_SQL.column_value(connection_id, cursorID, 3, loc_hiredate);

 ...

  END IF;

 ...

END;


EXEC_SQL.Fetch_Rows

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Extrait une ligne correspondant à la question pour un curseur donné.

Syntaxe

FUNCTION EXEC_SQL.Fetch_Rows
    ([Id_conn    IN CONNTYPE],
      Id_curs    IN CURSTYPE)
RETURN PLS_INTEGER;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	Identificateur de curseur de l'instruction SQL depuis laquelle vous souhaitez effectuer une extraction.

Retourne  Le nombre de lignes réellement extraites.

Notes d'utilisation  Chaque appel à EXEC_SQL.Fetch_Rows  extrait une ligne et la met dans un tampon. Utilisez EXEC_SQL.Fetch_Rows de façon itérative jusqu'à ce que 0 soit retourné. Pour les bases de données Oracle, cela signifie qu'il n'y a plus de données dans l'ensemble de résultats. Pour les sources de données autres que Oracle , cela ne signifie pas qu'il n'y a plus de données dans le curseur indiqué. Pour plus d'informations, reportez-vous à EXEC_SQL.More_Results_Sets.

Après chaque appel à EXEC_SQL.Fetch_Rows, utilisez EXEC_SQL.Column_Value pour lire chaque colonne dans la ligne extraite.


EXEC_SQL.Fetch_Rows - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
  nIgn PLS_INTEGER;
  nRows PLS_INTEGER := 0;  -- utilisé pour le décompte réel des lignes retournées

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'select ename, empno, hiredate from emp ';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);
  --
  -- Appeler FETCH_ROWS pour obtenir une ligne. Lorsqu'une ligne est retournée, obtenir
  -- les valeurs et incrémenter le décompte.
  --
  WHILE (EXEC_SQL.FETCH_ROWS(connection_id, cursorID) > 0 ) LOOP
    nRows := nRows + 1;
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 1, loc_ename;
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 2, loc_eno);
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 3, loc_hiredate);

 ...

  END LOOP;
  --
  -- La boucle prend fin lorsque FETCH_ROWS retourne 0. Cela peut se produire si
  -- l'interrogation est incorrecte ou qu'il n'y ait plus de lignes à extraire. Pour en
  -- connaître la raison effective, nous assurons le suivi du nombre de lignes retournées.
  --
  IF (nRows <= 0) THEN
    TEXT_IO.PUT_LINE ('Attention : aucune ligne retournée par l'interrogation');
  END IF;

 ...

END;


EXEC_SQL.More_Result_Sets

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Cette fonction ne concerne que les connexions autres que Oracle. Elle détermine s'il existe un autre ensemble de résultats à rechercher pour un curseur donné.

Syntaxe

FUNCTION EXEC_SQL.More_Result_Sets
    ([Id_conn     IN CONNTYPE],
      Id_curs     IN CURSTYPE)
RETURN BOOLEAN;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	Identificateur de curseur de l'instruction SQL depuis laquelle vous souhaitez effectuer une extraction.

Retourne  TRUE ou FALSE

Notes d'utilisation  Si elle est utilisée avec les bases de données Oracle, cette fonction retourne toujours la valeur FALSE. Si une procédure stockée autre que Oracle a un autre ensemble de résultats à extraire, la fonction initialise l'ensemble de résultats et retourne la valeur TRUE. EXEC_SQL.Describe_Column vous permet d'obtenir des informations sur le nouvel ensemble de résultats, et EXEC_SQL.Fetch_Rows d'extraire au besoin les données.


EXEC_SQL.More_Result_Sets - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE esmoreresultsets(sqlstr VARCHAR2) IS
  conidODBC EXEC_SQL.CONNTYPE;
  nRes PLS_INTEGER;
  nRows PLS_INTEGER := 0 ;
  curID EXEC_SQL.CURSTYPE;
BEGIN
  --
  -- une connexion ODBC prend en général la forme suivante : 'utilisateur/mot_passe@ODBD:nom_bd'
  --
  conidODBC := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion_ODBC');
  curID := EXEC_SQL.OPEN_CURSOR(conidODBC);
  EXEC_SQL.PARSE(conidODBC, curID, sqlstr, exec_sql.v7);
  nRes := EXEC_SQL.EXECUTE(conidODBC, curID);
  --
  -- obtenir les résultats de la première interrogation dans sqlstr
  WHILE (EXEC_SQL.FETCH_ROWS(conidODBC, curID) > 0) LOOP
    nRows := nRows + 1;

 ...

  END LOOP;
  --
  -- Pour certaines bases de données autres que Oracle, sqlstr peut contenir une série
  -- d'interrogations ; MORE_RESULT_SETS vérifie s'il existe d'autres ensembles de résultats.
  --
  IF (EXEC_SQL.MORE_RESULT_SETS(conidODBC, curID)) THEN
    TEXT_IO.PUT_LINE(' autres ensembles de résultats ');
  ELSE
    TEXT_IO.PUT_LINE(' aucun autre ensemble de résultats ');
  END IF;

 ...

  EXEC_SQL.CLOSE_CONNECTION(conidODBC);
END;


EXEC_SQL.Column_Value

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Cette procédure retourne la valeur du curseur pour une position donnée dans un curseur donné. Elle permet d'accéder aux données extraites en appelant EXEC_SQL.Fetch_Rows.

Syntaxe

PROCEDURE EXEC_SQL.Column_Value
    ([Id_conn          IN CONNTYPE],
      Id_curs          IN CURSTYPE,
      Position         IN PLS_INTEGER,
      Valeur           OUT <type_données>,
     [Erreur_colonne   OUT NUMBER],
     [Longueur_réelle  OUT PLS_INTEGER]);

où<type_données> peut être :

NUMBER
DATE
VARCHAR2

Paramètres

Nom	Mode	Description
Id_conn	IN	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	IN	Identificateur de curseur de la ligne depuis laquelle vous souhaitez obtenir la valeur de colonne.
Position	IN	Position relative de la colonne dans le curseur indiqué. En partant de la gauche, la première colonne a la position 1.
Valeur	OUT	Retourne la valeur de la colonne et de la ligne indiquées.
Erreur_colonne	OUT	Retourne le code d'erreur pour la valeur de colonne indiquée (sources de données Oracle uniquement).
Longueur_réelle	OUT	Retourne la longueur réelle de la valeur de colonne avant troncation.

Notes d'utilisation  Vous devez utiliser EXEC_SQL.Define_Column pour définir les caractéristiques des données de la colonne avant d'employer EXEC_SQL.Column_Value pour extraire la valeur. Si vous indiquez une valeur dont le type PL/SQL diffère de celui qui est spécifié dans EXEC_SQL.Define_Column, l'exception EXEC_SQL.Value_Error est générée.


EXEC_SQL.Column_Value - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
  nIgn PLS_INTEGER;
  nRows PLS_INTEGER := 0;

 ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION(connect_str);
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'select ename, empno, hiredate from emp ';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 3, loc_hiredate);
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);
  --
  -- Vous devez avoir utilisé DEFINE_COLUMN pour définir les caractéristiques de données
  -- de colonne avant de faire appel à COLUMN_VALUE pour extraire la valeur. Attribuez la


  -- première valeur de la ligne à la variable locale loc_ename. Attribuez la deuxième
  -- valeur de la ligne à la variable locale loc_eno. Attribuez la troisième valeur de la ligne à la variable locale loc_hiredate.
  --
  WHILE (EXEC_SQL.FETCH_ROWS(connection_id, cursorID) > 0 ) LOOP
    nRows := nRows + 1;
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 1, loc_ename);
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 2, loc_eno);
    EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 3, loc_hiredate);

   ...

  END LOOP;
  IF (nRows <= 0) THEN
    TEXT_IO.PUT_LINE ('Attention : aucune ligne retournée par l'interrogation');
  END IF;

 ...

END;


EXEC_SQL.Variable_Value

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Cette procédure extrait la valeur de sortie d'une variable de lien nommée pour un curseur donné. Elle retourne également la valeur des variables de lien dans des blocs anonymes.

Syntaxe

PROCEDURE EXEC_SQL.Variable_Value
    ([Id_conn     IN CONNTYPE],
      Id_curs     IN CURSTYPE,
      Nom         IN VARCHAR2,
      Valeur      OUT <type_données>);

où<type_données> peut être :

NUMBER
DATE
VARCHAR2

Paramètres

Nom	Mode	Description
Id_conn	IN	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	IN	Identificateur de curseur que vous souhaitez extraire de la variable de lien.
Nom	IN	Nom de la variable de lien.
Valeur	OUT	Retourne la valeur de la variable de lien pour le curseur indiqué.

Notes d'utilisation  Si vous tentez d'extraire un type de données autre que celui qui est indiqué pour la variable de lien par EXEC_SQL.Bind_Variable, l'exception EXEC_SQL.Value_Error est générée.


EXEC_SQL.Variable_Value - Exemple

  Rubriques connexes	   Tous les exemples

Cet exemple est fondé sur l'hypothèse que la procédure suivante, tstbindnum, existe sur le serveur indiqué par la chaîne de connexion utilisée dans OPEN_CONNECTION.

Créer ou remplacer la procédure tstbindnum (input IN NUMBER, output OUT NUMBER) :

BEGIN
  output := input * 2;
END;

Cette procédure ne fait que prendre un nombre d'entrée, en doubler la valeur et la retourner à la variable de sortie.

PROCEDURE esvarvalnum (input IN NUMBER) IS
  connection_id EXEC_SQL.CONNTYPE;
  bIsConnected BOOLEAN;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  nRes PLS_INTEGER;
  mynum NUMBER;
BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion');
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'begin   tstbindnum(:bn1, :bnret);   end;';   -- un bloc anonyme
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- définir la valeur d'entrée
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn1', input);
  --
  -- établir la valeur d'entrée
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bnret', mynum);
  nRes := EXEC_SQL.EXECUTE(connection_id, cursorID);
  --
  -- après l'exécution de l'instuction, nous appelons VARIABLE_VALUE pour obtenir la valeur de
  -- la variable de lien :bnret
  --
  EXEC_SQL.VARIABLE_VALUE(connection_id, cursorID, ':bnret', mynum);
  EXEC_SQL.CLOSE_CURSOR(connection_id, cursorID);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Is_Open

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Retourne la valeur TRUE si un curseur donné est ouvert sur la connexion indiquée.

Syntaxe

FUNCTION EXEC_SQL.Is_Open
    ([Id_conn     IN CONNTYPE],
      Id_curs     IN CURSTYPE)
RETURN BOOLEAN;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	Identificateur de curseur que vous souhaitez identifier s'il est ouvert.

Retourne  TRUE ou FALSE


EXEC_SQL.Is_Open, EXEC_SQL.Close_Cursor, EXEC_SQL.Is_Connected et EXEC_SQL.Close_Connection - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple illustre l'utilisation de EXEC_SQL.Is_Open,
** EXEC_SQL.Close_Cursor, EXEC_SQL.Is_Connected et
** EXEC_SQL.Close_Connection.
*/
PROCEDURE esclosecursor.pld IS
  connection_id EXEC_SQL.CONNTYPE;
  bIsConnected BOOLEAN;
  cr1 EXEC_SQL.CURSTYPE;
  sqlstr1 VARCHAR2(200);
  sqlstr2 VARCHAR2(200);
  nRes PLS_INTEGER;
  bOpen BOOLEAN;
  nRows PLS_INTEGER;
  loc_ename VARCHAR2(30);
  loc_eno NUMBER;
  loc_hiredate DATE;
BEGIN
  BEGIN
    connection_id := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion');
  EXCEPTION
    WHEN EXEC_SQL.PACKAGE_ERROR THEN
    TEXT_IO.PUT_LINE(' échec d'ouverture de connexion ');
  END;
  --
  -- confirmer que la connexion est valide
  --
  bIsConnected := EXEC_SQL.IS_CONNECTED(connection_id);
  IF bIsConnected = FALSE THEN
    TEXT_IO.PUT_LINE('Aucune connexion à une source de données. Veuillez vous connecter avant d'effectuer un nouvel essai.');
    RETURN;
  END IF;
  --
  -- ouvrir un curseur et effectuer une mise à jour
  --
  cr1 := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr1 := 'update emp set empno = 3600 where empno = 7839';
  EXEC_SQL.PARSE(connection_id, cr1, sqlstr1, exec_sql.V7);

  nRes := EXEC_SQL.EXECUTE(connection_id, cr1);
  --
  -- ré-utiliser le même curseur, s'il est ouvert, pour effectuer une autre interrogation.
  --
  sqlstr2 := 'select ename, empno, hiredate from emp ';
  --
  -- utiliser IS_OPEN pour vérifier l'état du curseur
  --
  IS (EXEC_SQL.IS_OPEN(connection_id, cr1) != TRUE) THEN
    TEXT_IO.PUT_LINE('Curseur maintenant non disponible ');
    RETURN;
  END IF;
  --
  -- associer le curseur à une autre instruction et procéder à l'interrogation
  --
  EXEC_SQL.PARSE(connection_id, cr1, sqlstr2, exec_sql.V7);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cr1, 1, loc_ename, 30);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cr1, 2, loc_eno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cr1, 3, loc_hiredate);
  nIgn := EXEC_SQL.EXECUTE(connection_id, cr1);
  WHILE (EXEC_SQL.FETCH_ROWS(connection_id, cursorID) > 0 ) LOOP
    nRows := nRows + 1;
    EXEC_SQL.COLUMN_VALUE(connection_id, cr1, 1, loc_ename);
    EXEC_SQL.COLUMN_VALUE(connection_id, cr1, 2, loc_eno);
    EXEC_SQL.COLUMN_VALUE(connection_id, cr1, 3, loc_hiredate);

 ...

  END LOOP;
  --
  -- fermer le curseur et la connexion pour libérer les ressources
  --
  EXEC_SQL.CLOSE_CURSOR(connection_id, cr1);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Close_Cursor

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Ferme un curseur donné et libère la mémoire qui lui est affectée.

Syntaxe

PROCEDURE EXEC_SQL.Close_Cursor
    ([Id_conn    IN CONNTYPE],
      Id_curs    IN OUT CURSTYPE);

Paramètres

Parameter	Mode	Description
Id_conn	IN	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
Id_curs	IN OUT	Identificateur de curseur que vous souhaitez fermer. Définit l'identificateur à NULL.

Notes d'utilisation  Lorsque vous n'avez plus besoin d'un curseur, vous devez le fermer. Sinon, il se peut que vous soyez incapable d'ouvrir de nouveaux curseurs.


EXEC_SQL.Is_Connected

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Retourne TRUE si l'identificateur de connexion indiqué est connecté à une source de données.

Syntaxe

FUNCTION EXEC_SQL.Is_Connected
    [Id_conn     IN CONNTYPE]
RETURN BOOLEAN;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.

Retourne  TRUE ou FALSE


EXEC_SQL.Is_OCA_Connection

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Retourne TRUE si l'identificateur de connexion indiqué est pour une connexion OCA.

Syntaxe

FUNCTION EXEC_SQL.Is_OCA_Connection
    ([Id_conn     IN CONNTYPE]
RETURN BOOLEAN;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.

Retourne  TRUE ou FALSE


EXEC_SQL.Is_OCA_Connection - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE esmoreresultsets(sqlstr VARCHAR2) IS
  conidODBC EXEC_SQL.CONNTYPE;
  nRes PLS_INTEGER;
  nRows PLS_INTEGER := 0 ;
  curID EXEC_SQL.CURSTYPE;
BEGIN
  --
  -- une chaîne de connexion ODBC
  --
  conidODBC := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion_ODBC');
  curID := EXEC_SQL.OPEN_CURSOR(conidODBC);
  EXEC_SQL.PARSE(conidODBC, curID, sqlstr, exec_sql.v7);
  nRes := EXEC_SQL.EXECUTE(conidODBC, curID);
  --
  -- obtenir les résultats de la première interrogation dans sqlstr
  --
  WHILE (EXEC_SQL.FETCH_ROWS(conidODBC, curID) > 0) LOOP
    nRows := nRows + 1;

 ...

  END LOOP;
  --
  -- Vérifier si la connexion est de type OCA. Ne pas continuer pour une
  -- connexion Oracle.
  --
  IF (EXEC_SQL.IS_OCA_CONNECTION != TRUE) THEN
    TEXT_IO.PUT_LINE('Ce n'est pas une connexion OCA. ');
    RETURN;
  END IF;
  --
  -- vérifier s'il existe d'autres ensembles de données
  --
  IF (EXEC_SQL.MORE_RESULT_SETS(conidODBC, curID)) THEN
    TEXT_IO.PUT_LINE(' autres ensembles de résultats ');
  ELSE
    TEXT_IO.PUT_LINE(' aucun autre ensemble de résultats ');
  END IF;

 ...

  EXEC_SQL.CLOSE_CONNECTION(conidODBC);
END;


EXEC_SQL.Close_Connection

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Cette procédure libère toute ressource utilisée par l'identificateur de connexion et l'invalide.

Syntaxe

PROCEDURE EXEC_SQL.Close_Connection
    ([Id_conn     IN OUT CONNTYPE]);

Paramètres

Nom	Mode	Description
Id_conn	IN	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.
	OUT	Définit l'identificateur à NULL. Toute la mémoire affectée à l'identificateur est également libérée.

Notes d'utilisation  Si la connexion est ouverte par EXEC_SQL.Open_Connection, EXEC_SQL.Close_Connection ferme également la connexion de base de données. Si elle est ouverte par EXEC_SQL.Default_Connection, EXEC_SQL.Close_Connection ne ferme pas la connexion.

Il est important de fermer la connexion lorsque vous n'en avez plus besoin. Si vous ne le faites pas, la connexion de base de données reste ouverte, et la mémoire affectée à la connexion, y compris les curseurs ouverts, demeurent actifs, ce qui pourrait provoquer un blocage de connexion.


EXEC_SQL.Last_Error_Position

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Retourne le décalage d'octets dans l'instruction SQL comportant une erreur. Le premier caractère de l'instruction est à la position 0.

Syntaxe

FUNCTION EXEC_SQL.Last_Error_Position
    [Id_conn     IN CONNTYPE]
RETURN PLS_INTEGER;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.

Retourne  Un entier.

Notes d'utilisation  Utilisez cette fonction après EXEC_SQL.PARSE et avant une autre procédure ou fonction EXEC_SQL. Le décalage d'octets dans l'instruction SQL comportant une erreur ne peut être déterminé pour les sources de données OCA.


EXEC_SQL.Last_Error_Position - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE eslasterrorpos(sqlstr VARCHAR2) is
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  nErrPos PLS_INTEGER := 0;
  errmesg VARCHAR2(256);
BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('');
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  BEGIN
  --
  -- instruction d'analyse à partir de l'appelant
  --
    EXEC_SQL.parse(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- vérifier s'il existe une erreur dans l'instruction ; rechercher la position où se trouve la syntaxe erronée de l'instruction
  --
  EXCEPTION
    WHEN EXEC_SQL.PACKAGE_ERROR THEN
      nErrPos := EXEC_SQL.LAST_ERROR_POSITION(connection_id);
      TEXT_IO.PUT_LINE(' position dans le texte où se trouve l'erreur '|| nErrPos);
      errmesg := EXEC_SQL.LAST_ERROR_MESG(connection_id);
      TEXT_IO.PUT_LINE(' message d'erreur ' || errmesg);
      RETURN;
  END;
  --
  -- ici pour exécuter l'instruction
  --

  ...

  nRes := EXEC_SQL.EXECUTE(connection_id, cursorID);

  ...

  EXEC_SQL.CLOSE_CURSOR(connection_id, cursorID);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Last_Row_Count

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Retourne le nombre cumulatif de lignes extraites.

Syntaxe

FUNCTION EXEC_SQL.Last_Row_Count
    [Id_conn     IN CONNTYPE]
RETURN PLS_INTEGER;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.

Retourne  Un entier.

Notes d'utilisation  Utilisez cette fonction après un appel à EXEC_SQL.Fetch_Rows ou EXEC_SQL.Execute_And_Fetch. Celle-ci retourne un zéro après un appel à EXEC_SQL.Execute.


EXEC_SQL.Last_Row_Count - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE eslastrowcount is
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  nIgn PLS_INTEGER;
  nRows PLS_INTEGER := 0 ;
  mynum NUMBER;
BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion');
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- dans cette interrogation, nous classons les résultats explicitement
  --
  sqlstr := 'select empno from emp order by empno';
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, mynum);
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);
  LOOP
    nIgn := EXEC_SQL.FETCH_ROWS(connection_id, cursorID);
    --
    -- effectuer le traitement nécessaire
    --
    IF (nIgn > 0) THEN
      EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 1, mynum);

      ...

    END IF;
    nRows := EXEC_SQL.LAST_ROW_COUNT(connection_id);
    --
    -- Dans cet exemple, nous ne nous intéressons qu'aux 10 premières lignes, puis nous sortons
    -- après les avoir extraites.
    --
    IF (nRows > 10) THEN
      EXIT;
    END IF;
  END LOOP;
  EXEC_SQL.CLOSE_CURSOR(connection_id, cursorID);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Last_SQL_Function_Code

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Retourne le dernier code de fonction SQL, en indiquant le type d'instruction SQL. Pour obtenir une liste des codes de fonction valides, reportez-vous à Programmer's Guide to the Oracle Call Interface.

Syntaxe

FUNCTION EXEC_SQL.Last_SQL_Function_Code
    [Id_conn     IN CONNTYPE]
RETURN PLS_INTEGER;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.

Retourne  Un entier.

Notes d'utilisation  Utilisez cette fonction immédiatement après l'analyse de l'instruction.


EXEC_SQL.Last_SQL_Function_Code - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Dans cette procédure, une instruction est transmise et exécutée. Si l'instruction est
** une instruction select, un traitement additionnel est alors amorcé pour déterminer les
** caractéristiques de la colonne.
*/

PROCEDURE eslastfunccode(sqlstr VARCHAR2) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursor_number EXEC_SQL.CursType;
  --
  -- La valeur pour les codes de fonction dépend de la version RDBMS.
  --
  SELECTFUNCCODE PLS_INTEGER := 3;
  sql_str VARCHAR2(256);
  nColumns PLS_INTEGER := 0;
  nFunc PLS_INTEGER := 0;
  colName VARCHAR2(30);
  colLen PLS_INTEGER;
  colType PLS_INTEGER;
BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('chaîne_connexion');
  cursor_number := EXEC_SQL.OPEN_CURSOR(connection_id);
  EXEC_SQL.PARSE(connection_id, cursor_number, sql_str, exec_sql.V7);
  nIgnore := EXEC_SQL.EXECUTE(connection_id, cursor_number);
  --
  -- vérifier le type de fonction
  --
  nFunc := EXEC_SQL.LAST_SQL_FUNCTION_CODE(connection_id);
  IF (nFunc != SELECTFUNCCODE) THEN
    RETURN;
  END IF;
  --
  -- obtenir les caractéristiques de colonne
  --
  LOOP
    nColumns := nColumns + 1;
    BEGIN
      EXEC_SQL.DESCRIBE_COLUMN(connection_id, cursor_number,
                        nColumns, colName, colLen, colType);
           TEXT_IO.PUT_LINE(' col= ' || nColumns || ' name ' || colName  ||
                            ' len= ' || colLen   || ' type ' || colType );
    EXCEPTION
    WHEN EXEC_SQL.INVALID_COLUMN_NUMBER THEN
      EXIT;
    END;
  END LOOP;
  EXEC_SQL.CLOSE_CURSOR(connection_id, cursor_number);
  EXEC_SQL.LCOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Last_Error_Code

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Retourne le dernier code d'erreur Oracle généré sur une connexion.

Syntaxe

FUNCTION EXEC_SQL.Last_Error_Code
    [Id_conn     IN CONNTYPE]
RETURN PLS_INTEGER;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.

Retourne  Un entier.

Notes d'utilisation  Utilisez cette fonction immédiatement après la génération de l'exception EXEC_SQL.Package_Error.


EXEC_SQL.Last_Error_Code and EXEC_SQL.Last_Error_Mesg - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Dans la procédure suivante, nous exécutons une instruction qui lui est transmise. Si
** une exception est indiquée, nous en vérifions la nature à l'aide de LAST_ERROR_CODE
** et LAST_ERROR_MESG.
*/

procedure eslastfunccode(sqlstr varchar2) is
  connection_id exec_sql.connType;
  cursor_number exec_sql.CursType;
  sql_str VARCHAR2(256);
  nIgnore pls_integer;
BEGIN
  connection_id := exec_sql.open_connection('chaîne_connexion');
  cursor_number := exec_sql.open_cursor(connection_id);
  exec_sql.parse(connection_id, cursor_number, sql_str, exec_sql.V7);
  nIgnore := exec_sql.execute(connection_id, cursor_number);
  exec_sql.close_cursor(connection_id, cursor_number);
  exec_sql.close_connection(connection_id);
--
-- vérifier l'erreur dans le bloc d'exception
--
EXCEPTION
  WHEN exec_sql.package_error THEN
    text_io.put_line('error :'  ||
       to_char(exec_sql.last_error_code(connection_id))  || '  ' ||
       exec_sql.last_error_mesg(connection_id) );
  --
  -- s'assurer que, même si une erreur s'est produite, le curseur et la connexion
  -- sont fermés.
  --
  IF exec_sql.is_connected(connection_id) THEN
    IF exec_sql.is_open(connection_id, cursor_number) THEN
      exec_sql.close_cursor(connection_id, cursor_number);
    END IF;
    exec_sql.close_connection(connection_id);
  END IF;
END;


EXEC_SQL.Last_Error_Mesg

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Retourne le message du dernier code d'erreur généré sur la connexion.

Syntaxe

FUNCTION EXEC_SQL.Last_Error_Mesg
    [Id_conn     IN CONNTYPE]
RETURN VARCHAR2;

Paramètres

Id_conn	Identificateur de la connexion que vous souhaitez utiliser. Si vous n'indiquez pas de connexion, EXEC_SQL.Default_Connection extrait, depuis le cache, l'identificateur de la connexion principale de Developer.

Retourne  Une chaîne.

Notes d'utilisation  Utilisez cette fonction immédiatement après la génération de l'exception EXEC_SQL.Package_Error.


Conseil

Pour obtenir le nombre de colonnes dans un ensemble de résultats, effectuez une boucle sur les colonnes, à partir de la colonne 1, jusqu'à ce que l'exception EXEC_SQL.Invalid_Column_Number soit générée.


Changement de connexion principale de base de données

  Rubriques connexes

Si vous changez de connexion principale de Developer après avoir appelé EXEC_SQL.Default_Connection, le prochain appel à EXEC_SQL.Default_Connection continue de retourner l'identificateur du cache ; il ne retourne pas automatiquement un identificateur de la nouvelle connexion principale.

Pour vous assurer que l'identificateur est correct, utilisez toujours EXEC_SQL.Close_Connection (sans argument) avant de changer de connexion principale. Cela permet à EXEC_SQL de libérer la mémoire affectée à la connexion précédente, sans la fermer.


Package LIST

  Rubriques connexes 	  Toutes les procédures internes

List.Appenditem

List.Destroy

List.Deleteitem

List.Fail

List.Getitem

List.Insertitem

List.Listofchar

List.Make

List.Nitems

List.Prependitem


List.Appenditem

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ajoute un élément à la liste.

Syntaxe

PROCEDURE List.Appenditem
   (Liste Listofchar,
    élément VARCHAR2);

Paramètres

Liste	Liste.
Elément	Elément de liste.


List.Appenditem - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Ajouter un élément à la fin de 'ma_liste', puis
** imprimer le nombre d'éléments de la liste.
*/
PROCEDURE append (ma_liste List.Listofchars) IS
BEGIN
  List.Appenditem(ma_liste, 'Cet élément est le dernier.');
  Text_IO.Put_Line(List.Getitem(ma_liste,
    List.Nitems(ma_liste)));
END;


List.Destroy

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Détruit une liste.

Syntaxe

PROCEDURE List.Destroy
   (Liste Listofchar);

Paramètres

Liste	Liste.


List.Destroy - Exemple

  Rubriques connexes	   Tous les exemples

 /*
**  Détruire la liste identifiée par mon_package. ma_liste.
*/
List.Destroy(mon_package.ma_liste);


List.Deleteitem

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Supprime l'élément se trouvant à la position indiquée dans la liste.

Syntaxe

PROCEDURE List.Deleteitem
   (Liste Listofchar),
    pos  PLS_INTEGER);

Paramètres

Liste	Liste.
pos	Position (base égale à 0).


List.Deleteitem - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Supprimer le troisième élément de 'ma_liste'.
*/
List.Deleteitem(mon_package.ma_liste, 2));


List.Fail

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Générée lorsqu'une opération List échoue.

Syntaxe

List.Fail   EXCEPTION;


List.Fail - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Fournir un gestionnaire d'exceptions pour
** l'exception List.Fail.
*/
EXCEPTION
  WHEN List.Fail THEN
    Text_IO.Put_Line('échec de l'opération List');


List.Getitem

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Extrait un élément de la liste.

Syntaxe

FUNCTION List.Getitem
   (Liste Listofchar,
    pos  PLS_INTEGER)
RETURN VARCHAR2;

Paramètres

Liste	Liste.
pos	Position (base égale à 0).
Retourne Un élément de la liste spécifiée.


List.Getitem - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Extraire et imprimer le second élément
** de ma_liste.
*/
Text_IO.Put_Line(List.Getitem(ma_liste, 1));


List.Insertitem

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Insère un élément dans la liste à la position indiquée.

Syntaxe

PROCEDURE List.Insertitem
   (Liste Listofchar),
    pos  PLS_INTEGER,
    élément VARCHAR2);

Paramètres

Liste	Liste.
pos	Position (base égale à 0).
Elément	Elément de liste.


List.Insertitem - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Insérer une chaîne de caractères dans la liste en troisième position
** puis l'imprimer.
*/
PROCEDURE insert_item(ma_liste List.Listofchar) IS
BEGIN
  List.Insertitem(ma_liste, 2, 'Cet élément est le
    troisième.');
  Text_IO.Put_Line(List.Getitem(ma_liste, 2));
END;


List.Listofchar

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Indique un identificateur de liste.

Syntaxe

TYPE List.Listofchar;


List.Listofchar - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Déclarer une variable de type
** Listofchar, puis créer la liste.
*/
PROCEDURE my_proc IS
  ma_liste List.Listofchar;
BEGIN
  ma_liste := List.Make;
END;


List.Make

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Crée une nouvelle liste vide. Vous devez créer une liste pour pouvoir l'utiliser.

Syntaxe

FUNCTION List.Make
RETURN Listofchar;

Notes d'utilisation Toute liste créée par cette fonction devra être détruite par l'utilisation de la procédure List.Destroy.


List.Make - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Créer une liste de type Listofchar.
*/
PROCEDURE my_proc IS
  ma_liste List.Listofchar;
BEGIN
  ma_liste := List.Make;
END;


List.Nitems

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne le nombre d'éléments de la liste.

Syntaxe

FUNCTION List.Nitems
   (Liste Listofchar)
RETURN PLS_INTEGER;

Paramètres

Liste	Liste.


List.Nitems - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Pour chaque élément de ma_liste, extraire la
** valeur de l'élément et l'imprimer.
*/
PROCEDURE print_List Is
BEGIN
  FOR i IN 0..List.Nitems(mon_pkg.ma_liste)-1 LOOP
    Text_IO.Put_Line(List.Getitem(mon_pkg.ma_liste, i));
  END LOOP;
END;


List.Prependitem

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ajoute un élément de liste au début d'une liste.

Syntaxe

PROCEDURE List.Prependitem
   (Liste Listofchar),
    élément VARCHAR2);

Paramètres

Liste	Liste.
Elément	Elément de liste.


List.Prependitem - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Insérer une chaîne au début de ma_liste
** puis l'extraire et l'imprimer.
*/
PROCEDURE prepend(ma_liste List.Listofchars) IS
BEGIN
  List.Prependitem(ma_liste, 'Cet élément est le premier.');
  Text_IO.Put_Line(List.Getitem(ma_liste, 0));
END;


Package ORA_NLS

  Rubriques connexes 	  Toutes les procédures internes

Ora_Nls.American

Ora_Nls.American_Date

Ora_Nls.Bad_Attribute

Ora_Nls.Get_Lang_Scalar

Ora_Nls.Get_Lang_Str

Ora_Nls.Linguistic_Collate

Ora_Nls.Linguistic_Specials

Ora_Nls.Modified_Date_Fmt

Ora_Nls.No_Item

Ora_Nls.Not_Found

Ora_Nls.Right to Left

Ora_Nls.Simple_Cs

Ora_Nls.Single_Byte


Ora_Nls.American

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne TRUE ou FALSE, selon que le jeu de caractères utilisé est, ou non, "américain".

Syntaxe

FUNCTION Ora_Nls.American
RETURN BOOLEAN;

Retourne TRUE ou FALSE.


Ora_Nls.American - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Vérifier si le jeu de caractères utilisé est américain
** ou non.
*/
PROCEDURE is_american (out Text_IO.File_Type) IS
  us  BOOLEAN;
BEGIN
  us := Ora_Nls.American;
  IF us = TRUE
    Text_IO.Put (out, 'Le jeu de caractères utilisé est américain.');
  ELSE
    change_char_set;
  ENDIF
END;


Ora_Nls.American_Date

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne TRUE ou FALSE, selon que le format de date utilisé est, ou non, le format "américain".

Syntaxe

FUNCTION Ora_Nls.American_Date
RETURN BOOLEAN;

Retourne TRUE ou FALSE.


Ora_Nls.American_Date - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Vérifier si le format de date est américain ou non
*/
PROCEDURE is_amerdate (out Text_IO.File_Type) IS
  usd  BOOLEAN;
BEGIN
  usd := Ora_Nls.American_Date;
  IF usd = TRUE
    Text_IO.Put (out, 'La date est au format américain.');
  ELSE
    change_date_to_us;
  ENDIF
END;


Ora_Nls.Bad_Attribute

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Générée lorsqu'aucun attribut n'est fourni à Ora_Nls.Get_Lang_Scalar ou à Ora_Nls.Get_Lang_Str.

Syntaxe

Ora_Nls.Bad_Attribute  EXCEPTION;


Ora_Nls.Bad_Attribute - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Traiter l'exception Bad Attribute.
*/
EXCEPTION
  WHEN Ora_Nls.Bad_Attribute THEN
    Text_IO.Put_Line('Vérifier les appels à Get_Lang_Scalar
      et à Get_Lang_Str. Un nom d'attribut erroné a été trouvé.');


Ora_Nls.Get_Lang_Scalar

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne les informations demandées sur la langue utilisée. Vous pouvez faire appel à GET_LANG_SCALAR pour rechercher des données numériques.

Syntaxe

FUNCTION Ora_Nls.Get_Lang_Scalar
   (attribut PLS_INTEGER)
RETURN NUMBER;

Paramètres

attribut	Constante Ora_Nls ou valeur entière qui lui est associée. Pour obtenir la liste des constantes, reportez-vous à Constantes Ora_Nls.
Retourne Une valeur numérique.


Ora_Nls.Get_Lang_Scalar - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher et imprimer le numéro correspondant à la langue utilisée.
*/
BEGIN lang_num (out Text_IO.File_Type)
  lang_num  NUMBER;
BEGIN
  lang_num := Ora_Nls.Get_Lang_Scalar
    (Ora_Nls.Iso_Alphabet);
  Text_IO.Putf (out, "La langue utilisée porte le numéro %s\n.",
    lang_num);
END;


Ora_Nls.Get_Lang_Str

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne les informations demandées sur la langue utilisée. Vous pouvez utiliser GET_LANG_STR pour rechercher des informations de type caractère.

Syntaxe

FUNCTION Ora_Nls.Get_Lang_Str
   (attribut PLS_INTEGER)
RETURN VARCHAR2;

Paramètres

attribut	Constante Ora_Nls ou valeur entière qui lui est associée. Pour obtenir la liste des constantes, reportez-vous à Constantes Ora_Nls.
Retourne Une valeur de type caractère.


Ora_Nls.Get_Lang_Str - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher et imprimer le nom de la langue utilisée.
*/
BEGIN lang_name (out Text_IO.File_Type)
  lang_name  VARCHAR2;
BEGIN
  lang_name := Ora_Nls.Get_Lang_Str
    (Ora_Nls.Language);
  Text_IO.Putf (out, "La langue utilisée est %s\n.",
    lang_name);
END;


Ora_Nls.Linguistic_Collate

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne TRUE ou FALSE, selon que les caractères du jeu de caractères utilisé doivent, ou non, être classés en fonction d'informations linguistiques spéciales.

Syntaxe

FUNCTION Ora_Nls.Linguistic_Collate
RETURN BOOLEAN;

Retourne TRUE ou FALSE.

Notes d'utilisation Si cette fonction retourne TRUE, un tri binaire sur deux caractères ne retournera pas obligatoirement la valeur correcte, car les systèmes de codage des jeux de caractères ne définissent pas nécessairement tous les caractères en ordre numérique croissant.

En outre, la position de tri d'un caractère peut varier selon la langue utilisée. Par exemple, le caractère "ä" est classé avant "b" en allemand, mais après "z" en suédois.


Ora_Nls.Linguistic_Collate - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Déterminer s'il faut, ou non, un tri
** spécial.
*/
tri := Ora_Nls.Linguistic_Collate;
  IF collate = TRUE THEN
    lang_name (langinfo.txt);
    Text_IO.Put ('Il faut un tri spécial.');
  ENDIF;


Ora_Nls.Linguistic_Specials

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne TRUE ou FALSE, selon que des particularités linguistiques sont, ou non, utilisées.

Syntaxe

FUNCTION Ora_Nls.Linguistic_Specials
RETURN BOOLEAN;

Retourne TRUE ou FALSE.

Notes d'utilisation Les particularités linguistiques sont des cas spéciaux, propres à la langue utilisée, pour le classement et la conversion automatique des majuscules en minuscules et vice-versa. Exemple : la majuscule du "s" "dur" allemand (un octet) est "SS" (deux octets). Le tri est également effectué sur la valeur en deux octets.

Les particularités linguistiques sont définies dans une définition linguistique avec le tri normal. En cas de définition de particularités linguistiques pour la définition linguistique en vigueur pour un identificateur de langue particulier, le format de sortie des fonctions gérant des caractères linguistiques peut être supérieur à celui des chaînes fournies en entrée.


Ora_Nls.Linguistic_Specials - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Déterminer si des particularités linguistiques sont, ou non, utilisées
** et, dans l'affirmative, la manière de les traiter.
*/
special := Ora_Nls.Linguistic_Specials;
  IF special = TRUE THEN
    lang_name (langinfo.txt);
    Text_IO.Put ('Des particularités linguistiques sont utilisées.');
  ENDIF;


Ora_Nls.Modified_Date_Fmt

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne TRUE ou FALSE, selon que le format de la date a, ou non, été modifié.

Syntaxe

FUNCTION Ora_Nls.Modified_Date_Fmt
RETURN BOOLEAN;

Retourne TRUE ou FALSE.


Ora_Nls.Modified_Date_Fmt - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Déterminer si le format de la date a, ou non, été
** modifié.
*/
modifie := Ora_Nls.Modified_Date_Fmt;
IF modifie = TRUE
  Text_IO.Putf (langinfo.txt, 'Le format de la date
    a été modifié.');
ENDIF;


Ora_Nls.No_Item

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Générée lorsqu'un attribut fourni par l'utilisateur n'a pas pu être localisé dans la liste des constantes d'attributs.

Syntaxe

Ora_Nls.No_Item  EXCEPTION;


Ora_Nls.No_Item - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Traiter l'exception correspondant à une constante d'attribut non identifiée.
*/
EXCEPTION
  WHEN Ora.Nls.No_Item THEN
    Text_IO.Put ('Un attribut fourni n'est pas valide.');


Ora_Nls.Not_Found

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Cette exception est générée lorsqu'un élément demandé est introuvable. Elle provient dans la plupart des cas de l'utilisation de Ora_Nls.Get_Lang_Scalar pour extraire des informations de type caractère ou de Ora_Nls.Get_Lang_Str pour extraire des informations numériques.

Syntaxe

Ora_Nls.Not_Found  EXCEPTION;


Ora_Nls.Not_Found - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Traiter l'exception correspondant à un élément qui n'a pas pu être trouvé.
*/
EXCEPTION
  WHEN Ora.Nls.Not_Found THEN
    Text_IO.Put ('L'élément est introuvable ; vérifier les appels à Get_Lang.');


Ora_Nls.Right_to_Left

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne TRUE ou FALSE, selon que la langue utilisée s'écrit de "droite à gauche" ou non.

Syntaxe

FUNCTION Ora_Nls.Right_To_Left
RETURN BOOLEAN;

Retourne TRUE ou FALSE.


Ora_Nls.Right_To_Left - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Vérifier que la langue utilisée s'écrit bien de droite à gauche.
*/
dag := Ora_Nls.Right_To_Left;
IF rtl = FALSE
  Text_IO.Put (langinfo.txt, 'Cette langue ne s'écrit pas
    de droite à gauche.');
ENDIF;


Ora_Nls.Simple_Cs

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne TRUE ou FALSE, selon que le jeu de caractères est, ou non, simple (c'est-à-dire sur un octet, sans caractères spéciaux et sans traitement spécial).

Syntaxe

FUNCTION Ora_Nls.Simple_Cs
RETURN BOOLEAN;

Retourne TRUE ou FALSE.


Ora_Nls.Simple_Cs - Exemple

  Rubriques connexes	   Tous les exemples

 /*
**  Déterminer si la langue utilise, ou non, un jeu de caractères simple.
*/
simple := Ora_Nls.Simple_Cs;
IF simple = TRUE
  lang_name (langinfo.txt);
  Text_IO.Put ('Cette langue utilise un jeu de
    caractères simple.');
ELSE
  lang_name (langinfo.txt);
  Text_IO.Put ('Cette langue utilise un jeu de
    caractères complexe.');
ENDIF;


Ora_Nls.Single_Byte

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne TRUE ou FALSE, selon que tous les caractères du jeu de caractères utilisé peuvent, ou non, être représentés sur un octet.

Syntaxe

FUNCTION Ora_Nls.Single_Byte
RETURN BOOLEAN;

Retourne TRUE ou FALSE.


Ora_Nls.Single_Byte - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Déterminer si le jeu de caractères peut, ou non, être représenté sur un octet.
*/
bytes := Ora_Nls.Single_Byte;
IF bytes = FALSE
  lang_name (langinfo.txt);
  Text_IO.Put ('Ce jeu de caractères est représenté sur plusieurs octets.');
END IF;


Package ORA_FFI

  Rubriques connexes 	  Toutes les procédures internes

Ora_Ffi.Ffi_Error

Ora_Ffi.Find_Function

Ora_Ffi.Find_Library

Ora_Ffi.Funchandletype

Ora_Ffi.Generate_Foreign

Ora_Ffi.Is_Null_Ptr

Ora_Ffi.Libhandletype

Ora_Ffi.Load_Library

Ora_Ffi.Pointertype

Ora_Ffi.Register_Function

Ora_Ffi.Register_Parameter

Ora_Ffi.Register_Return

Ora_Ffi.Unload_Library

Ora_Ffi - Exemple 1A

Ora_Ffi - Exemple 1B

Ora_Ffi - Exemple 2


Ora_Ffi.Ffi_Error

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Générée lorsqu'une erreur se produit pendant l'utilisation du package Ora_Ffi.

Syntaxe

EXCEPTION  Ora_Ffi_Error;


Ora_Ffi.Ffi_Error - Exemple

  Rubriques connexes	   Tous les exemples

/* Cet exemple utilise la fonction Ora_Ffi_Error */

PRODEDURE register_libs IS
   testlib_lhandle ora_ffi.libhandletype;
BEGIN
   /* Tentative de chargement d'une bibliothèque DLL
      depuis un répertoire inexistant*/
   testlib_lhandle := ora_ffi.load_library
             ('C:\baddir\', 'libtest.dll');
EXCEPTION
   WHEN Ora_Ffi.Ffi_Error THEN
      /* impression du message d'erreur */
      text_io.put_line(tool_err.message);
      /* suppression de l'erreur */
      tool_err.pop;
END;


Ora_Ffi.Find_Function

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Recherche et retourne l'identificateur de la fonction indiquée. Vous pouvez extraire cet identificateur en précisant le nom d'une fonction ou d'une bibliothèque. La fonction doit avoir été enregistrée au préalable par Ora_Ffi.Register_Function.

Syntaxe

FUNCTION Ora_Ffi.Find_Function
   (identificateur_bibl  libhandleType,
    nom_fonction   VARCHAR2)
RETURN funcHandleType;

FUNCTION Ora_Ffi.Find_Function
   (nom_bibl   VARCHAR2,
    nom_fonction  VARCHAR2)
RETURN funcHandleType;

Paramètres

identificateur_bibl	Identificateur de bibliothèque retourné par Ora_Ffi.Load_Library ou Ora_Ffi.Find_Library.
nom_fonct	Nom de la fonction à rechercher.
nom_bibl	Nom de la bibliothèque dans laquelle se trouve la fonction.
Retourne L'identificateur de la fonction indiquée.


Ora_Ffi.Find_Function - Exemple

  Rubriques connexes	   Tous les exemples

/* Recherche d'un identificateur de fonction étrangère pour
   un identificateur de bibliothèque étrangère précis et
   un nom de fonction étrangère */

BEGIN
   ...
   funchandle := ora_ffi.find_function
            (libhandle, 'my_func');
   ...
END;

/* Recherche d'un identificateur de fonction étrangère pour
   une fonction étrangère précise et
   des noms de bibliothèque étrangère */
BEGIN
   ...
   funchandle := ora_ffi.find_function
            (libhandle, 'my_func');
   ...
END;


Ora_Ffi.Find_Library

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Localise et retourne l'identificateur du nom de bibliothèque étrangère indiqué. La bibliothèque doit avoir été enregistrée au préalable par Ora_Ffi.Load_Library.

Syntaxe

FUNCTION Ora_Ffi.Find_Library (nom_bibl VARCHAR2)
RETURN libHandleType;

Paramètres

nom_bibl	Nom de la bibliothèque.
Retourne L'identificateur de la bibliothèque étrangère indiquée.


Ora_Ffi.Find_Library - Exemple

  Rubriques connexes	   Tous les exemples

/* Recherche d'un identificateur de bibliothèque étrangère
   pour un nom de bibliothèque précis */

BEGIN
   ...
   libhandle := ora_ffi.find_library
            ('mylib.dll');
   ...
END;


Ora_Ffi.Funchandletype

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Indique un identificateur de fonction étrangère. Vous pouvez utiliser la fonction Ora_Ffi.Find_Function pour obtenir l'identificateur.

Syntaxe

TYPE Ora_Ffi.Funchandletype;


Ora_Ffi.Funchandletype - Exemple

  Rubriques connexes	   Tous les exemples

/* Cet exemple utilise l'identificateur Ora_Ffi_Funchandletype */

PROCEDURE define_c_funcs IS
   getresult_fhandle  ora_ffi.funcHandleType;
   foo_fhandle        ora_ffi.funcHandleType;
BEGIN
   /* Enregistrer les informations destinées à la fonction getresult */
   getresult_fhandle := ora_ffi.register_function
             (testlib_lhandle, 'getresult');
   ...
   /* Enregistrer les informations destinées à la fonction foo */
   foo_fhandle := ora_ffi.register_function
             (testlib_lhandle,'foo');
   ...
END;


Ora_Ffi.Generate_Foreign

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Génère un package de code PL/SQL pour toutes les fonctions définies dans la bibliothèque indiquée. Vous devez commencer par charger la bibliothèque, enregistrer toutes les fonctions que vous voulez appeler, puis enregistrer leurs paramètres et leurs valeurs de retour.

Syntaxe

PROCEDURE Ora_Ffi.Generate_Foreign
   (identificateur libHandleType);

PROCEDURE Ora_Ffi.Generate_Foreign
   (identificateur libHandleType,
    nom_pkg VARCHAR2);

Paramètres

identificateur	Identificateur de bibliothèque retourné par Ora_Ffi LoadLibrary ou Ora_Ffi.Find_Library.
nom du package	Nom du package à générer. Si vous n'indiquez pas de nom, celui de la bibliothèque est utilisé, précédé de FFI_. Par exemple, si la bibliothèque porte le nom BIBTEST, le nom du package est FFI_BIBTEST.
Notes d'utilisation

•	Les packages générés par la fonction Ora_Ffi.Generate.Foreign sont créés dans l'espace de nom actif et apparaissent sous le noeud Unités de programme du Navigateur d'objet Procedure Builder. Dès qu'un package est généré, vous pouvez le copier sur le noeud Unités de programme d'une bibliothèque PL/SQL ou sur le noeud Unités de programme stockées d'une base de données. Vous avez ensuite la possibilité de l'exporter dans un fichier texte via les options Fichier [image] Exporter, comme s'il s'agissait d'un nouveau package ou d'une nouvelle procédure que vous venez de définir.

•	Les packages PL/SQL générés par la fonction Ora_Ffi.Generate_Foreign intègrent automatiquement la directive du compilateur PRAGMA correspondant à chaque fonction enregistrée :

PRAGMA interface (C, func_name, 11265);

où nom_fonc est le nom d'une fonction étrangère enregistrée à partir d'une bibliothèque DLL préalablement chargée. Vous pouvez préciser le nom du package PL/SQL généré, mais au sein de ce package, chaque point d'entrée correspond au nom de la fonction étrangère à laquelle il est associé.


Ora_Ffi.Generate_Foreign - Exemple

  Rubriques connexes	   Tous les exemples

/* Définir les composants du test du package */

PACKAGE test IS
...
END;

/*Définir les procédures du corps du package */
PACKAGE BODY test IS
   PRODEDURE register_libs IS
   BEGIN
      /* Charger la bibliothèque de test */
      testlib_lhandle := Ora_Ffi_.load_library
        ('c:\orawin95\oralibs\','testlib.dll')
   END;

   PROCEDURE define_c_funcs IS
      getresult_fhandle Ora_Ffi.Funchandletype;
      foo_handle        Ora_Ffi.Funchandletype;
   BEGIN
      /* Enregistrer les informations destinées à la fonction getresult */
      getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
      ...
      /* Enregistrer les informations destinées à la fonction foo */
      foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
      ...
      /* Générer le package PL/SQL contenant toutes les
         fonctions définies dans la bibliothèque de test */
      ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
      ...
   END;
END;


Ora_Ffi.Is_Null_Ptr

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Détermine si un identificateur de bibliothèque, de fonction ou d'identificateur est nul.

Syntaxe

FUNCTION Ora_Ffi.Is_Null_Ptr (identificateur libHandleType)
RETURN BOOLEAN;

FUNCTION Ora_Ffi.Is_Null_Ptr (identificateur funcHandleType)
RETURN BOOLEAN;

FUNCTION Ora_Ffi.Is_Null_Ptr (identificateur pointerType)
RETURN BOOLEAN;

Paramètres

identificateur	Bibliothèque, fonction, ou identificateur à évaluer.
Retourne

TRUE	Si l'identificateur est nul.
FALSE	Si l'identificateur n'est pas nul.


Ora_Ffi.Is_Null_Ptr - Exemple

  Rubriques connexes	   Tous les exemples

/* Cet exemple utilise la fonction Ora_Ffi.Is_Null_Ptr */

PROCEDURE register_libs IS
...
BEGIN
   /* Chargement de la bibliothèque de fonction étrangère */
   libhandle := Ora_Ffi.load_library
      ('C:\oralibs\', 'libfoo.dll');
   /* Test de la bibliothèque : Null ou non ?*/
   IF (ora_ffi.is_null_ptr(libhandle)) THEN
   ...
END;


Ora_Ffi.Libhandletype

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Indique un identificateur de fonction étrangère. Utilisez Ora_Ffi.Find_Function pour obtenir l'identificateur.

Syntaxe

TYPE Ora_Ffi.Libhandletype;


Ora_Ffi.Libhandletype - Exemple

  Rubriques connexes	   Tous les exemples

/* Cet exemple utilise la fonction Ora_Ffi.Libhandletype */

PACKAGE test is
   /* Indiquer que testlib_lhandle
      est un type de variable d'identificateur de bibliothèque */
   testlib_lhandle  ora_ffi.libHandleType;
   ...
END;

PACKAGE BODY test IS
   PROCEDURE register_libs IS
   BEGIN
      testlib_lhandle := Ora_Ffi.Load_library
          ('C:\libdir\','test.dll');
      ...
   END;
   ...
END;


Ora_Ffi.Load_Library

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Charge la bibliothèque de liaison dynamique indiquée afin que ses fonctions puissent être enregistrées.

Syntaxe

FUNCTION Ora_Ffi.Load_Library
   (nom_rép VARCHAR2,
    nom_bibl VARCHAR2)
RETURN libHandleType;

Paramètres

nom_rép	Répertoire dans lequel se trouve la bibliothèque.
nom_bibl	Nom de fichier de la bibliothèque.
Retourne L'identificateur de la bibliothèque étrangère. Retourne zéro si la bibliothèque n'a pas pu être trouvée ou chargée.


Ora_Ffi.Load_Library - Exemple

  Rubriques connexes	   Tous les exemples

/* Cet exemple utilise la fonction Ora_Ffi.Load_Library */

PACKAGE test iss
   /* Indiquer testlib_lhandle comme type de variable
      d'identificateur de bibliothèque Ora_Ffi. */
   testlib_lhandle  ora_ffi.libHandleType;
   ...
END;

PACKAGE BODY test IS
   PROCEDURE register_libs IS
   BEGIN
      /* Charger la bibliothèque de liaisons dynamiques
         'test.dll' à partir du répertoire C:\libdir\ et retourner
         l'identificateur testlib_lhandle. */
      testlib_lhandle := Ora_Ffi.Load_library
            ('C:\libdir\','test.dll');
   ...
   END;
   ...
 END;


Ora_Ffi.Pointertype

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Peut définir la valeur d'un identificateur C générique (c'est-à-dire d'un identificateur de type non déterminé).

Syntaxe

TYPE Ora_Ffi.Pointertype;


Ora_Ffi.Pointertype - Exemple

  Rubriques connexes	   Tous les exemples

/* Cet exemple utilise la fonction Ora_Ffi.Pointertype */

PACKAGE imglib IS
   /* Déclarer la fonction get_image qui
      retourne un identificateur C générique. */
   FUNCTION get_image(ikey IN OUT VARCHAR2)
     RETURN Ora_Ffi.Pointertype ;
   /* Déclarer la procédure show_image avec le paramètre
      idata, identificateur C générique.*/
   PROCEDURE show_image(idata Ora_Ffi.Pointertype,
                        iscale NUMBER);
END;
...

PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
   /* Déclarer img_ptr comme type d'identificateur C générique */
   img_ptr Ora_Ffi.Pointertype;
BEGIN
   img_ptr := imglib.get_image(keywrd);
   imglib.show_image(img_ptr,2);
END;


Ora_Ffi.Register_Function

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Enregistre la fonction étrangère indiquée.

Syntaxe

FUNCTION Ora_Ffi.Register_Function
  (identificateur_bibl  libHandleType,
   nom_fonct   VARCHAR2,
   std_appel    NUMBER   := C_STD)
RETURN funcHandleType;

Paramètres

identificateur_bibl	Identificateur de bibliothèque retourné par Ora_Ffi.Load_Library ou Ora_Ffi.Find_Library.
nom_fonct	Nom de la fonction à enregistrer.
std_appel	Appel utilisé par la fonction étrangère. (Pour plus d'informations, reportez-vous à la documentation de votre système.) La valeur de cet argument peut être l'une des constantes en package suivantes :
C_STD Indique que la fonction étrangère utilise le standard d'appel C.

PASCAL_STD Indique que la fonction étrangère utilise le standard d'appel Pascal.

Retourne L'identificateur de la fonction étrangère.


Ora_Ffi.Register_Function - Exemple

  Rubriques connexes	   Tous les exemples

/* Entrer la procédure define_c_funcs qui appelle deux
   fonctions Ora_Ffi, getresult et foo. */

PROCEDURE define_c_funcs is
   getresult_fhandle  ora_ffi.funcHandleType;
   foo_fhandle        ora_ffi.funcHandleType;
BEGIN
   /* Enregistrer les informations destinées à la fonction getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
   ...

   /* Enregistrer les informations destinées à la fonction foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   ...
   /* Générer le package PL/SQL contenant toutes
      les fonctions définies dans la bibliothèque de test */
   ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Register_Parameter

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Enregistre le type de l'argument en cours de la fonction étrangère indiquée.

Syntaxe

PROCEDURE Ora_Ffi.Register_Parameter
   (identificateur_fonc funcHandleType,
    type_argc   PLS_INTEGER);

PROCEDURE Ora_Ffi.Register_Parameter
   (identificateur_fonc funcHandleType,
    type_argc   PLS_INTEGER,
    type_argpls   PLS_INTEGER);

Paramètres

identificateur_fonc	Identificateur de fonction retourné par Ora_Ffi.Register_Function ou Ora_Ffi.Find_Function.
type_argc	Type de données C de l'argument en cours de la fonction étrangère C appelée. La valeur de cet argument peut être l'une des constantes en package ci-après : C_CHAR Signifie car. C_CHAR_PTR Signifie car *. C_DOUBLE Signifie double. C_DOUBLE_PTR Signifie double *. C_FLOAT Signifie flottant. C_FLOAT_PTR Signifie flottant *. C_INT Signifie entier. C_INT_PTR Signifie entier * C_LONG Signifie long. C_LONG_PTR Signifie long *. C_SHORT Signifie court. C_SHORT_PTR Signifie court *. C_VOID_PTR Signifie vide *.
type_argpls	Type d'argument PL/SQL correspondant (facultatif).


Ora_Ffi.Register_Parameter - Exemple

  Rubriques connexes	   Tous les exemples

/* Déclarer la procédure define_c_funcs qui appelle deux
   fonctions Ora_Ffi, getresult et foo. */

PROCEDURE define_c_funcs is
   getresult_fhandle   ora_ffi.funcHandleType;
   foo_fhandle         ora_ffi.funcHandleType;

BEGIN
   /* Enregistrer les informations destinées à la fonction getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
  ...
   /* Enregistrer les informations destinées à la fonction foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   /* Enregistrer le type de retour de la fonction foo */
   ora_ffi.register_return
            (foo_fhandle, ora_ffi.C_SHORT);
   /* Enregistrer les informations de paramètre pour la fonction foo */
   ora_ffi.register_parameter
            (foo_fhandle, ora_ffi.C_FLOAT);
   ora_ffi.register_parameter
            (foo_fhandle, ora_ffi.C_INT);
   ora_ffi.register_parameter
            (foo_fhandle, ora_ffi.C_CHAR_PTR);

   /* Générer le package PL/SQL contenant toutes les fonctions
         définies dans la bibliothèque de test */
   ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Register_Return

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Enregistre le type de retour de la fonction étrangère indiquée.

Syntaxe

PROCEDURE Ora_Ffi.Register_Return
   (identificateur_fonc  funcHandleType,
    type_retc PLS_INTEGER);

PROCEDURE Ora_Ffi.Register_Return
   (identificateur_fonc  funcHandleType,
    type_retc PLS_INTEGER,
    type_retpls PLS_INTEGER);

Paramètres

identificateur_fonc	Identificateur de fonction retourné par Ora_Ffi.Register_Function ou Ora_Ffi.Find_Function.
Type_retc	Type de données C retourné par la fonction étrangère. La valeur de cet argument peut être l'une des constantes en package ci-après : C_CHAR Signifie car. C_CHAR_PTR Signifie car *. C_DOUBLE Signifie double. C_DOUBLE_PTR Signifie double *. C_FLOAT Signifie flottant. C_FLOAT_PTR Signifie flottant *. C_INT Signifie entier. C_INT_PTR Signifie entier * C_LONG Signifie long. C_LONG_PTR Signifie long *. C_SHORT Signifie court. C_SHORT_PTR Signifie court *. C_VOID_PTR Signifie vide *.
Type_retpls	Type de retour PL/SQL correspondant (facultatif).


Ora_Ffi.Register_Return - Exemple

  Rubriques connexes	   Tous les exemples

/* Définir la procédure define_c_funcs qui appelle deux
   fonctions Ora_Ffi, getresult et foo. */

PROCEDURE define_c_funcs is
   getresult_fhandle   ora_ffi.funcHandleType;
   foo_fhandle         ora_ffi.funcHandleType;

BEGIN
   /* Enregistrer les informations destinées à la fonction getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
   /* Enregistrer le type de retour de la fonction getresult */
   ora_ffi.register_return
            (getresult_fhandle, ora_ffi.C_CHAR_PTR);

   /* Enregistrer les informations destinées à la fonction foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   /* Enregistrer le type de retour de la fonction foo */
   ora_ffi.register_return
            (foo_fhandle, ora_ffi.C_SHORT);
   ...
   /* Générer le package PL/SQL contenant toutes les
      fonctions définies dans la bibliothèque de test */
   ora_ffi.generate_foreign
             (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Unload_Library

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Décharge la bibliothèque de liaison dynamique indiquée. Les fonctions de la bibliothèque ne seront à nouveau accessibles que lorsque la bibliothèque sera rechargée.

Syntaxe

PROCEDURE Ora_Ffi.Unload_Library
   (identificateur_bibl libHandleType);

Paramètres

identificateur_bibl	Identificateur de la bibliothèque à décharger.


Ora_Ffi.Unload_Library - Exemple

  Rubriques connexes	   Tous les exemples

/* Charger en premier lieu une bibliothèque DLL */

PROCEDURE register_libs IS
   test_lib  Ora_Ffi.Libhandletype;
BEGIN
   /* Charger la bibliothèque testlib.dll
       depuis le répertoire C:\libs\ */
   testlib_lhandle := ora_ffi.load_library
            ('C:\libs\', 'testlib.dll');
END;

/* Générer le package PL/SQL contenant les
   fonctions de la bibliothèque de test. */

PROCEDURE define_c_funcs IS
   ...
   Ora_Ffi.Genereate_Foreign (testlib_lhandle,
           'test_Ffi_Pkg')';
   ...
END;

/* Décharger la bibliothèque*/

PROCEDURE unload_libs IS
BEGIN
   /* Décharger la bibliothèque DLL attribuée à
      l'identificateur de bibliothèque 'test_lib.' */
   Ora_Ffi.Unload_library(testlib_lhandle);
   ...
END;


Ora_Ffi - Exemple 1A

  Rubriques connexes 	   Tous les exemples

Supposez que vous voulez créer une interface de la fonction C pow, située dans la bibliothèque Runtime de Microsoft Windows : C:\windows\system\msvcrt.dll. (La fonction pow élève x à la puissance y.)

int pow(int x, int y)

En premier lieu, créez une spécification de package représentant la bibliothèque et identifiant la fonction PL/SQL à appeler :

PACKAGE mathlib IS
   FUNCTION pow(x NUMBER, y NUMBER)
     RETURN NUMBER;
END;

Vous décidez d'appeler la fonction PL/SQL mathlib.pow, définie dans l'exemple ci-dessus, pour appeler la fonction étrangère pow, à partir de la bibliothèque dynamique msvcrt.dll.

Notez que ce sous-programme n'exige pas la présence d'un identificateur de bibliothèque ou de fonction étrangère. Pour des raisons pratiques, les différents enregistrements sont gérés dans le corps du package (voir ci-dessous).

Remarque : Cet exemple utilise la directive du compilateur PRAGMA pour indiquer au compilateur PL/SQL que la fonction ff_to_power doit, en réalité, être compilée en tant que fonction C, et non PL/SQL. La rubrique Ora_Ffi - Exemple 1B indique comment obtenir le même résultat à l'aide de la fonction Ora_Ffi.Generate_Foreign pour générer un package mathlib PL/SQL. Dans l'exemple 1B, la directive PRAGMA est automatiquement gérée par la fonction Ora_Ffi.Generate_Foreign.

PACKAGE BODY mathlib IS
  /* Déclarer les identificateurs de bibliothèque et de fonction. */
  mathlib_lhandle   Ora_Ffi.Libhandletype ;
  to_power_fhandle  Ora_Ffi.Funchandletype ;

  /* Créer la fonction PL/SQL qui va  */
  /* appeler la fonction étrangère.                  */
  FUNCTION ff_to_power(fhandle Ora_Ffi.Funchandletype,
         x NUMBER, y NUMBER)RETURN NUMBER;
  PRAGMA interface(C, ff_to_power, 11265);

  /* Créer la fonction PL/SQL définie dans */
  /* la spécification du package. Cette fonction transmet       */
  /* simplement les arguments reçus à ff_to_power    */
  /* (voir plus haut), ajoutant l'identificateur de fonction   */
  /* étrangère au début de l'argument List. */
  /*  FUNCTION pow(x NUMBER, y NUMBER) RETURN NUMBER IS
  BEGIN
    RETURN(ff_to_power(to_power_fhandle, x, y));
  END pow;

/* Définir le corps du package mathlib */
BEGIN

  /* Charger la bibliothèque. */
  mathlib_lhandle := Ora_Ffi.Load_Library
         ('C:\WINDOWS\SYSTEM\', 'msvcrt.dll');

  /* Enregistrer la fonction étrangère. */
  to_power_fhandle := Ora_Ffi.Register_Function
         (mathlib_lhandle, 'pow', Ora_Ffi.C_Std);

  /* Enregistrer les deux paramètres de la fonction to_power. */
  Ora_Ffi.Register_Parameter (to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);
  Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);

  /* Enregistrer le type de retour. */
  Ora_Ffi.Register_Return (to_power_fhandle, Ora_Ffi.C_DOUBLE);

END;  /* Corps du package Mathlib */

Pour appeler la fonction C pow depuis la bibliothèque mscvrt.dll, contentez-vous d'appeler la fonction PL/SQL correspondante, définie dans la spécification du package mathlib. Par exemple :

PL/SQL>

PROCEDURE raise_to_power (a in number, b in number) IS
   BEGIN
      text_io.put_line(mathlib.pow(a,b));
   END;

PL/SQL> raise_to_power(2,9);

512


Ora_Ffi - Exemple 1B

  Rubriques connexes	   Tous les exemples

Voici une autre méthode pour la mise en oeuvre de la fonction C pow, illustrée dans la rubrique Ora_Ffi - Exemple 1A. Cet exemple utilise la fonction Ora_Ffi.Generate_Foreign pour générer un package PL/SQL. La directive du compilateur PRAGMA, nécessaire à la compilation de la fonction étrangère C, est automatiquement intégrée dans le package généré. Elle n'est donc pas utilisée dans le corps du package ci-dessous.

/* Créer le package mathlib qui va générer un package PL/SQL
à l'aide d'une fonction C issue d'un fichier étranger afin d'élever
une valeur à une puissance. Le paramètre nom_pkg vous permet
d'indiquer le nom du package généré. */
PACKAGE mathgen IS
   PROCEDURE gen(pkg_name IN VARCHAR2);
END;

PACKAGE BODY mathgen IS
   /* Définir la procédure 'gen' qui va générer le
      package de fichier étranger. */
   PROCEDURE gen(pkg_name IN VARCHAR2) IS
      /* Déclarer les identificateurs de bibliothèque et de fonction. */
      mathlib_lhandle   Ora_Ffi.Libhandletype ;
      to_power_fhandle  Ora_Ffi.Funchandletype ;

   BEGIN   /* corps du package mathlib */
      /* Charger la bibliothèque. */
      mathlib_lhandle := Ora_Ffi.Load_Library
         ('C:\WINDOWS\SYSTEM\', 'msvcrt.dll');

      /* Enregistrer la fonction étrangère. */
      to_power_fhandle := Ora_Ffi.Register_Function
         (mathlib_lhandle, 'pow', Ora_Ffi.C_Std);

      /* Enregistrer les deux paramètres de la fonction étrangère. */
      Ora_Ffi.Register_Parameter (to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);
      Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);

      /* Enregistrer le type de retour de la fonction étrangère. */
      Ora_Ffi.Register_Return (to_power_fhandle, Ora_Ffi.C_DOUBLE);

      /* Générer un package PL/SQL contenant la fonction étrangère C,
         'pow.' Vous pouvez nommer le nouveau package en indiquant une
          valeur pour le paramètre nom_pkg lors de la génération du package. */
      Ora_Ffi.generate_foreign(mathlib_lhandle, pkg_name);

   END; /* Procédure gen */
END; /* Corps du package mathgen */

Pour élever une valeur à une puissance en suivant cette méthode, vous devez avant tout générer un package Pl/SQL par le biais du package mathgen et de la procédure gen. Par exemple, si le package d'élévation à une puissance PL/SQL généré est intitulé mathlib, la syntaxe de la génération est la suivante :

PL/SQL> mathgen.gen('mathlib');

Pour appeler ensuite la fonction de puissance depuis le package mathlib, voici la procédure à appliquer :

PROCEDURE raise_to_power (a in number, b in number) IS
   BEGIN
      text_io.put_line(mathlib.pow(a,b));
   END;

PL/SQL> raise_to_power(5,2);

25


Ora_Ffi - Exemple 2

  Rubriques connexes	   Tous les exemples

Supposez que vous voulez créer une interface pour les fonctions C suivantes, situées dans la bibliothèque C:\oralibs\imglib.dll:

void *get_image(char *imgkey)
void show_image(void *binimage, float iscale)

Considérez que la fonction get_image utilise un argument de mot de passe pour charger les données d'image, puis qu'elle retourne un identificateur générique (c'est-à-dire un identificateur dont le type n'est pas déterminé) à ces données binaires. Vous transmettez alors cet identificateur et un facteur d'échelle à la fonction show_image, et l'image apparaît à l'écran.

En premier lieu, créez une spécification de package représentant la bibliothèque et identifiant les fonctions PL/SQL à appeler :

PACKAGE imglib IS
  FUNCTION get_image(ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.pointerType;

  PROCEDURE show_image(idata Ora_Ffi.pointerType,
                       iscale NUMBER);
END;   /* package imglib */

Le corps du package est défini ci-dessous :

PACKAGE BODY imglib IS
  /* Entrer les identificateurs de bibliothèque et de fonction. */
  imglib_lhandle      Ora_Ffi.libHandleType;
  get_image_fhandle   Ora_Ffi.funcHandleType;
  show_image_fhandle  Ora_Ffi.funcHandleType;

  /* Créer la fonction PL/SQL qui va   */
  /* appeler la fonction étrangère 'get_image'.       */
  FUNCTION ff_get_image(fhandle Ora_Ffi.funcHandleType,
                        ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.handleType;
    PRAGMA interface(C, ff_get_image, 11265);

  /* Créer la fonction PL/SQL 'get_image' définie */
  /* dans la spécification du package.                   */
  FUNCTION get_image(ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.pointerType IS
    ptr Ora_Ffi.pointerType;
  BEGIN
    ptr.handle := ff_get_image(get_image_fhandle, ikey);
    RETURN(ptr);
  END;   /* fonction get_image */

  /* Créer la procédure PL/SQL qui va appeler */
  /* la fonction étrangère 'show_image'.      */
  PROCEDURE ff_show_image(fhandle Ora_Ffi.funcHandleType,
                          idata Ora_Ffi.handleType,
                          iscale NUMBER);
    PRAGMA interface(C, ff_show_image, 11265);

  /* Créer la procédure PL/SQL 'show_image' définie */
  /* dans la spécification du package.                     */
  PROCEDURE show_image(idata Ora_Ffi.pointerType,
                       iscale NUMBER) IS
  BEGIN
    ff_show_image(show_image_fhandle, idata.handle, iscale);
  END;   /* procédure show_image */

BEGIN   /* corps du package imglib */

  /* Charger la bibliothèque. */
  imglib_lhandle := Ora_Ffi.Load_Library
         ('C:\oralibs\', 'imglib.dll');

  /* Enregistrer les fonctions étrangères. */
  get_image_fhandle := Ora_Ffi.Register_Function
         (imglib_lhandle, 'get_image', Ora_Ffi.C_Std);
  show_image_fhandle := Ora_Ffi.Register_Function
         (imglib_lhandle, 'show_image', Ora_Ffi.C_Std);

  /* Enregistrer les paramètres. */
  Ora_Ffi.Register_Parameter(get_image_fhandle,
                             Ora_Ffi.C_Char_Ptr);

  Ora_Ffi.Register_Parameter(show_image_fhandle,
                             Ora_Ffi.C_Void_Ptr);
  Ora_Ffi.Register_Parameter(show_image_fhandle,
                             Ora_Ffi.C_Float);

  /* Enregistrer le type de retour (uniquement 'get_image'). */
  Ora_Ffi.Register_Return(get_image_fhandle,
                          Ora_Ffi.C_Void_Ptr);

END;   /* corps du package imglib */

Pour appeler les fonctions étrangères, servez-vous des procédures PL/SQL définies dans la spécification du package, comme l'illustre l'exemple suivant :

PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
  img_ptr  Ora_Ffi.Pointertype;
BEGIN
  img_ptr := imglib.get_image(keywrd);
  imglib.show_image(img_ptr, 2);
END;   /* procédure display_image */


Package OLE2

  Rubriques connexes 	  Toutes les procédures internes

OLE2.Add_Arg

OLE2.Add_Arg_Obj

OLE2.Create_Arglist

OLE2.Create_Obj

OLE2.Destroy_Arglist

OLE2.Get_Char_Property

OLE2.Get_Num_Property

OLE2.Get_Obj_Property

OLE2.Invoke

OLE2.Invoke_Num

OLE2.Invoke_Char

OLE2.Invoke_Obj

OLE2.IsSupported

OLE2.Last_Exception

OLE2.List_Type

OLE2.Obj_Type

OLE2.OLE_Error

OLE2.OLE_Not_Supported

OLE2.Release_Obj

OLE2.Set_Property


OLE2.Add_Arg

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ajoute un argument à une liste d'arguments créée par OLE2.Create_Arglist.

Syntaxe

PROCEDURE OLE2.Add_Arg
   (Liste  List_Type,
    valeur NUMBER);

PROCEDURE OLE2.Add_Arg
   (Liste  List_Type,
    valeur VARCHAR2);

Paramètres

Liste	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.
Valeur	Valeur de l'argument.
Notes d'utilisation L'argument peut être de type NUMBER ou VARCHAR2.


OLE2.Add_Arg - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Ajouter un argument à ma_liste.
*/
OLE2.Add_Arg(ma_liste, 'CA Vendeurs');


OLE2.Add_Arg_Obj

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ajoute un argument d'objet à une liste d'arguments créée par OLE2.Create_Arglist.

Syntaxe

PROCEDURE OLE2.Add_Arg_Obj
   (Liste IN List_Type,
    valeur IN Obj_Type);

Paramètres

Liste	Indicateur de liste retourné par un appel à la fonction OLE2.Create_Arglist.
Valeur	Valeur d'un argument Obj_Type à transmettre au serveur d'automatisation OLE2.


OLE2.Add_Arg_Obj - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Lorsque l'interface OLE doit accepter un objet inconnu
** comme argument au lieu d'un type scalaire pur, utiliser la
** procédure Add_Arg_Obj.
*/
object = OLE2.CREATE_OBJ(obj_name);
listh := OLE2.CREATE_ARGLIST;

OLE2.ADD_ARG_OBJ(listh, object);


OLE2.Create_Arglist

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Crée une liste d'arguments que vous pouvez passer au serveur d'automatisation d'OLE2.

Syntaxe

FUNCTION OLE2.Create_Arglist
RETURN List_Type;

Retourne Un identificateur de liste d'arguments.


OLE2.Create_Arglist - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Déclarer une variable du type OLE2.List_Type
** puis créer la liste d'arguments portant ce nom.
*/
  ma_liste  OLE2.List_Type;
BEGIN
  ma_liste := OLE2.Create_Arglist;
  OLE2.Add_Arg(ma_liste, 'CA Vendeurs');
END;


OLE2.Create_Obj

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Crée un objet d'automatisation OLE2.

Syntaxe

FUNCTION OLE2.Create_Obj
   (objet  VARCHAR2)
RETURN obj_type;

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
Retourne Un identificateur d'objet d'automatisation OLE2.


OLE2.Create_Obj - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Créer un objet OLE2.
*/
obj := OLE2.Create_Obj('Application.Excel.5');


OLE2.Destroy_Arglist

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Détruit une liste d'arguments créée par la fonction OLE2.Create_Arglist.

Syntaxe

PROCEDURE OLE2.Destroy_Arglist
   (Liste List_Type);

Paramètres

Liste	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.


OLE2.Destroy_Arglist - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Détruire une liste d'arguments préalablement créée par la fonction OLE2.Create_Arglist.
*/
OLE2.Destroy_Arglist(ma_liste);


OLE2.Get_Char_Property

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Recherche une propriété d'un objet d'automatisation OLE2.

Syntaxe

FUNCTION OLE2.Get_Char_Property
   (objet   obj_type,
    propriété VARCHAR2,
    Liste_arguments  List_Type := 0)
RETURN VARCHAR2;

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
Propriété	Nom d'une propriété d'un objet d'automatisation OLE2.
Liste_arguments	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.
Retourne Une valeur de type caractère.


OLE2.Get_Char_Property - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher la propriété de l'objet.
*/
str := OLE2.Get_Char_Property(obj, 'texte');


OLE2.Get_Num_Property

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Recherche une valeur numérique dans un objet d'automatisation OLE2.

Syntaxe

FUNCTION OLE2.Get_Num_Property
   (objet           obj_type,
    propriété       VARCHAR2,
    Liste_arguments List_Type := 0)
RETURN NUMBER;

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
Propriété	Nom d'une propriété d'un objet d'automatisation OLE2.
Liste_arguments	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.
Retourne Une valeur numérique.


OLE2.Get_Num_Property - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher la valeur numérique correspondant au centre de la carte.
*/
x := OLE2.Get_Num_Property(Map,'GetMapCenterX');
y := OLE2.Get_Num_Property(Map,'GetMapCenterY');


OLE2.Get_Obj_Property

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Rechercher la valeur d'un type d'objet dans un objet d'automatisation OLE2.

Syntaxe

FUNCTION OLE2.Get_Obj_Property
   (objet            obj_type,
    propriété        VARCHAR2,
    Liste_arguments  List_Type := 0)
RETURN OBJ_TYPE;

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
Propriété	Nom d'une propriété d'un objet d'automatisation OLE2.
Liste_arguments	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.
Retourne Une propriété d'objet d'automatisation OLE2.


OLE2.Get_Obj_Property - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher la valeur de type d'objet de l'objet de feuille de calcul.
*/
the_obj:=OLE2.Get_Obj_Property(spreadsheet_obj,
'Application');


OLE2.Invoke

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Appelle une méthode OLE2.

Syntaxe

PROCEDURE OLE2.Invoke
   (objet obj_type,
    méthode VARCHAR2,
    Liste   List_Type := 0);

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
méthode	Méthode (procédure) de l'objet OLE2.
Liste	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.


OLE2.Invoke, exemple
OLE2.Invoke - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Appeler ZoomIn.
*/
OLE2.Invoke(Map, 'ZoomIn', ma_liste);


OLE2.Invoke_Num

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Recherche une valeur numérique dans un objet d'automatisation OLE2 en utilisant la méthode indiquée.

Syntaxe

FUNCTION OLE2.Invoke_Num
   (objet            obj_type,
    méthode          VARCHAR2,
    Liste_arguments  List_Type := 0)
RETURN NUMBER;

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
méthode	Nom d'une méthode (fonction) d'automatisation OLE2 qui retourne une valeur numérique.
Liste_arguments	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.
Retourne Une valeur numérique.


OLE2.Invoke_Num - Exemple

  Rubriques connexes	   Tous les exemples

 /*
**  Rechercher la valeur numérique en utilisant la méthode spécifiée.
*/
le_nombre:=OLE2.Invoke_Num (spreadsheet_obj, 'npv',
ma_liste);


OLE2.Invoke_Char

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Recherche une valeur de type caractère dans un objet d'automatisation OLE2 en utilisant la méthode indiquée.

Syntaxe

FUNCTION OLE2.Invoke_Char
   (objet            obj_type,
    méthode          VARCHAR2,
    Liste_arguments  List_Type := 0)
RETURN VARCHAR2;

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
méthode	Nom d'une méthode (fonction) d'automatisation OLE2 qui retourne une valeur de type caractère.
Liste_arguments	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.
Retourne Une valeur de type caractère.


OLE2.Invoke_Char - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher la valeur de type obj_orth.
*/
correct:=OLE2.Invoke_Char(obj_orth, 'orth', ma_liste);


OLE2.Invoke_Obj

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Rechercher la valeur d'un type d'objet dans un objet d'automatisation OLE2.

Syntaxe

Syntaxe FUNCTION OLE2.Invoke_Obj
   (objet             obj_type,
    méthode           VARCHAR2,
    Liste_arguments   List_Type := 0)
RETURN OBJ_TYPE;

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
méthode	Nom d'une méthode d'automatisation OLE2 à appeler.
Liste_arguments	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.
Retourne Un objet d'automatisation OLE2.


OLE2.Invoke_Obj - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Rechercher la valeur de type d'objet de tt_obj
*/
para_obj:=OLE2.Invoke_Obj(tt_obj, 'get_para', ma_liste);


OLE2.IsSupported

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Confirme que le package OLE2 est pris en charge sur la plate-forme en cours.

Syntaxe

OLE2.ISSUPPORTED

Retourne  TRUE, si OLE2 est pris en charge ; FALSE, s'il ne l'est pas.


OLE2.IsSupported - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Avant d'appeler un objet OLE2 dans le code indépendant de plate-forme,
** utiliser ce prédicat pour déterminer si OLE2 est pris en charge sur la
** plate-forme en cours.
*/
IF (OLE2.ISSUPPORTED)THEN
. . . code PL/SQL utilisant le package OLE2
ELSE
. . . message indiquant que OLE2 n'est pas pris en charge
END IF;


OLE2.Last_Exception

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne la dernière exception OLE2 signalée par une exception PL/SQL.

Syntaxe

FUNCTION last_exception return NUMBER;

ou

FUNCTION last_exception(message OUT VARCHAR2) return NUMBER;

Paramètres

message	Chaîne de texte (VARCHAR2) contenant le texte du message d'erreur OLE2. Cette variable, le cas échéant, est retournée à l'appelant de la fonction, en plus de la valeur de code d'erreur.

Retourne Le code d'erreur OLE2 complet de la dernière exception OLE2.

Notes d'utilisation

•	Vous pouvez utiliser l'une des deux syntaxes pour cette fonction. La première syntaxe ne retourne que le code d'erreur ; la seconde retourne une description de l'erreur en plus du code d'erreur.

•	Cette fonction retourne un code d'erreur de type OLE2 (Windows) complet sous forme numérique. Pour extraire uniquement la partie code d'erreur, vous devez supprimer le bit de poids le plus élevé (Gravité), puis traduire le nombre restant en format INTEGER ou BINARY_INTEGER. Voir OLE2.Last_Exception - Exemple pour obtenir un exemple d'une procédure qui extrait le code d'erreur sous forme d'entier.


OLE2.Last_Exception - Exemple

  Rubriques connexes	   Tous les exemples

PACKAGE olepack IS
  PROCEDURE init(...);
  PROCEDURE something(...);
  PROCEDURE shutdown(...);
  FUNCTION get_err(message OUT VARCHAR2) RETURN BINARY_INTEGER;
END olepack;

PACKAGE BODY olepack IS
...
  FUNCTION get_err(message OUT VARCHAR2) RETURN BINARY_INTEGER IS
  --
  -- Les erreurs OLE sont formatées comme des entiers sans signe
  -- de 32 bits et retournées sous forme numérique Oracle. Nous ne
  -- voulons extraire que le code d'erreur qui est contenu dans les
  -- 16 bits de poids le plus faible. Nous devons tout d'abord supprimer
  -- le bit [gravité] de poids le plus élevé, le cas échéant. Nous devons
..-- ensuite traduire l'erreur en format INTEGER ou BINARY INTEGER et extraire le code d'erreur.
  --
  -- Quelques constantes utiles :
  --  0x80000000 = 2147483648
  -- 0x100000000 = 4294967296
  --  0x0000FFFF =      65535
  --
     hibit     NUMBER := 2147483648;
     four_gig  NUMBER := 4294967296;
     code_mask NUMBER := 65535;
     excep     NUMBER;
     trunc_bi  BINARY_INTEGER;
     ole_code  BINARY_INTEGER;
  BEGIN
     excep := OLE2.LAST_EXCEPTION(message);
     IF (excep >= hibit) AND (excep <= four_gig) THEN
         trunc_bi := excep - hibit;
     END IF;
     -- Eliminer par masque uniquement la section Code
     ole_code := BITAND(trunc_bi, code_mask);
     RETURN ole_code;
  END get_err;
END olepack;

PROCEDURE ole_test IS
  err_code BINARY_INTEGER;
  err_text VARCHAR2(255);
BEGIN
  olepack.init(...);
  olepack.something(...);
  olepack.shutdown(...);
EXCEPTION
  WHEN OLE2.OLE_ERROR THEN
    err_code := olepack.get_err(err_text);
    TEXT_IO.PUT_LINE('OLE Error #' || err_code || ': ' || err_text);
    olepack.shutdown(...);
END ole_test;


OLE2.List_Type

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Indique un identificateur d'une liste d'arguments.

Syntaxe

Liste   OLE2.LIST_TYPE;


OLE2.List_Type - Exemple

  Rubriques connexes	   Tous les exemples

...
  alist   OLE2.LIST_TYPE;
...
    alist := OLE2.CREATE_ARGLIST;
    OLE2.ADD_ARG(alist, <argument1>);
    OLE2.ADD_ARG(alist, <argument2>);
    ...

    wkbook := OLE2.INVOKE_OBJ(my_obj, 'method1', alist);
    ...


OLE2.Obj_Type

  Exemples	   Rubriques connexes	   Toutes les procédures internes

Description Indique un identificateur d'objet d'automatisation OLE2.

Syntaxe

obj OLE2.OBJECT_TYPE;

Notes d'utilisation

•	OLE2.Obj_Type est l'équivalent du package OLE2 d'un objet inconnu.

•	Pour plus d'informations, reportez-vous à la documentation Forms traitant de FORMS_OLE.GET_INTERFACE_POINTER.


OLE2.Obj_Type - Exemple

  Rubriques connexes	   Tous les exemples

 /*
 ** Créer un objet OLE2
 */

  obj OLE2.OBJECT_TYPE;
  ...
  obj := OLE2.Create_Obj('Excel.Application.5');
  ...


OLE2.OLE_Error

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Cette exception est déclenchée lorsqu'une erreur se produit dans le package OLE2.

Syntaxe

OLE2.OLE_ERROR EXCEPTION;


OLE2.OLE_Error - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE ole_test IS
  err_code BINARY_INTEGER;
  err_text VARCHAR2(255);
BEGIN
  olepack.init(...);
  olepack.something(...);
  olepack.shutdown(...);
EXCEPTION
  WHEN OLE2.OLE_ERROR THEN
    err_code := olepack.get_err(err_text);
    TEXT_IO.PUT_LINE('OLE Error #' || err_code || ': ' || err_text);
    olepack.shutdown(...);
END ole_test;


OLE2.OLE_Not_Supported

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Cette exception est déclenchée après un appel au package OLE2 qui n'est pas pris en charge sur la plate-forme en cours.

Syntaxe

OLE2.OLE_NOT_SUPPORTED EXCEPTION;


OLE2.OLE_Not_Supported - Exemple

  Rubriques connexes	   Tous les exemples

PROCEDURE ole_test IS
  err_code BINARY_INTEGER;
  err_text VARCHAR2(255);
BEGIN
  olepack.init(...);
  olepack.something(...);
  olepack.shutdown(...);
EXCEPTION
  WHEN OLE2.OLE_NOT_SUPPORTED THEN
    TEXT_IO.PUT_LINE('OLE2 n’est pas pris en charge par cet ordinateur');
    olepack.shutdown(...);
END ole_test;


OLE2.Release_Obj

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Signale un objet d'automatisation OLE2 dont le client PL/SQL n'a plus besoin.

Syntaxe

PROCEDURE OLE2.Release_Obj
   (objet   obj_type);

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
Notes d'utilisation Cette syntaxe permet au système d'exploitation d'annuler l'affectation des ressources relatives à l'objet. Vous devez libérer chaque objet d'automatisation OLE2 que vous créez ou que vous appelez en utilisant le Package OLE2.


OLE2.Release_Obj - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Libérer l'objet OLE2 objap.
*/
declare
  objap   OLE2.Obj_Type;
begin
  objap:=OLE2.Create_Obj('application.Excel.5');
  OLE2.Release_Obj(objap);
end;


OLE2.Set_Property

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Définit la valeur d'une propriété d'un objet d'automatisation OLE2.

Syntaxe

PROCEDURE OLE2.Set_Property
   (objet            obj_type,
    propriété        VARCHAR2,
    valeur           NUMBER,
    Liste_arguments  List_Type := 0);

PROCEDURE OLE2.Set_Property
   (objet            obj_type,
    propriété        VARCHAR2,
    valeur           VARCHAR2,
    Liste_arguments  List_Type := 0);

Paramètres

objet	Identificateur d'objet d'automatisation OLE2.
Propriété	Nom d'une propriété d'un objet d'automatisation OLE2.
Valeur	Valeur de propriété.
Liste_arguments	Nom d'une liste d'arguments attribuée à la fonction OLE2.Create_Arglist.


OLE2.Set_Property - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Définir les propriétés de l'objet OLE2 `Application.Excel'. */

application:=OLE2.CREATE_OBJ('Application.Excel');
OLE2.Set_Property(application,'Visible', 'Vraie');

workbooks:=OLE2.INVOKE_OBJ(application, 'Classeurs');
workbook:=OLE2.INVOKE_OBJ(classeurs,'Ajouter');
worksheets:=OLE2.INVOKE_OBJ(classeurs, 'Feuilles de calcul');
worksheet:=OLE2.INVOKE_OBJ(feuilles de calcul,'Ajouter');
args:=OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, 4);
OLE2.ADD_ARG(args, 2);
cell:=OLE2.Invoke_Obj(feuille de calcul, 'Cellules', args);
OLE2.DESTROY_ARGLIST(args);
OLE2.Set_Property(cellule, 'Valeur', 'Bonjour!');


Package ORA_PROF

  Rubriques connexes 	  Toutes les procédures internes

Ora_Prof.Bad_Timer

Ora_Prof.Create_Timer

Ora_Prof.Destroy_Timer

Ora_Prof.Elapsed_Time

Ora_Prof.Reset_Timer

Ora_Prof.Start_Timer

Ora_Prof.Stop_Timer


Ora_Prof.Bad_Timer

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description  Générée lorsqu'un nom d'horloge non valide est fourni à une autre procédure ou à une autre fonction du package ORA_PROF.

Syntaxe

Ora_Prof.Bad_Timer  EXCEPTION;


Ora_Prof.Bad_Timer - Exemple

  Rubriques connexes	   Tous les exemples

  /*
** Créer une horloge, la mettre en marche, lancer
** un sous-programme, arrêter l'horloge, puis afficher
** la durée écoulée en secondes. A la fin, détruire l'horloge.
*/
PROCEDURE timed_proc (test VARCHAR2) IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('boucle2');
  Ora_Prof.Start_Timer('boucle2');
  test;
  Ora_Prof.Stop_Timer('boucle2');
  Text_IO.Putf('Boucle exécutée en %s secondes.\n',
                Ora_Prof.Elapsed_Time('boucle2'));
  Ora_Prof.Destroy_Timer('boucle2');
EXCEPTION
  WHEN ORA_PROF.BAD_TIMER THEN
  text_io.put_line('Nom d'horloge non valide');

END;


Ora_Prof.Create_Timer

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Alloue l'horloge indiquée. Toute référence à cette horloge avant que ce service soit utilisé génère une erreur.

Syntaxe

PROCEDURE Ora_Prof.Create_Timer
   (horloge VARCHAR2);

Paramètres

horloge	Nom de l'horloge.


Ora_Prof.Create_Timer - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Allouer l'horloge 'BOUCLE'.
*/
Ora_Prof.Create_Timer('BOUCLE');


Ora_Prof.Destroy_Timer

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Détruit l'horloge indiquée. Toute la mémoire associée à l'horloge est libérée. Toute référence à cette horloge après l'utilisation de ce service génère une erreur.

Syntaxe

PROCEDURE Ora_Prof.Destroy_Timer
   (horloge VARCHAR2);

Paramètres

horloge	Nom de l'horloge.


Ora_Prof.Destroy_Timer - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Détruire l'horloge 'BOUCLE'.
*/
Ora_Prof.Destroy_Timer('BOUCLE');


Ora_Prof.Elapsed_Time

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Retourne le temps cumulé dans l'horloge de code depuis le dernier appel à Ora_Prof.Reset_Timer.

Syntaxe

FUNCTION Ora_Prof.Elapsed_Time
   (horloge PLS_INTEGER)
RETURN PLS_INTEGER;

Paramètres

horloge	Nom de l'horloge.
Retourne Le temps (indiqué en millisecondes) cumulé dans l'horloge de code.


Ora_Prof.Elapsed_Timer - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Créer une horloge, la mettre en marche, lancer
** un sous-programme, arrêter l'horloge, puis afficher
** la durée écoulée en secondes. A la fin, détruire l'horloge.
*/
PROCEDURE timed_proc (test VARCHAR2) IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('boucle2');
  Ora_Prof.Start_Timer('boucle2');
  test;
  Ora_Prof.Stop_Timer('boucle2');
  Text_IO.Putf('Boucle exécutée en %s secondes.\n',
     Ora_Prof.Elapsed_Time('boucle2'));
  Ora_Prof.Destroy_Timer('boucle2');
END;


Ora_Prof.Reset_Timer

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Remet à zéro le contenu d'une horloge.

Syntaxe

PROCEDURE Ora_Prof.Reset_Timer
   (horloge VARCHAR2);

Paramètres

horloge	Nom de l'horloge.


Ora_Prof.Reset_Timer - Exemple

  Rubriques connexes	   Tous les exemples

 PROCEDURE multi_time IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('boucle');
   --
   -- First loop...
   --
  Ora_Prof.Start_Timer('boucle');
    FOR i IN 1..10 LOOP
      Text_IO.Put_Line('Salut');
    END LOOP;
  Ora_Prof.Stop_Timer('boucle');
   --
   -- Second loop...
   --
  Ora_Prof.Start_Timer('boucle');
  FOR i IN 1..10 LOOP
    Text_IO.Put_Line('Salut');
  END LOOP;
  Ora_Prof.Stop_Timer('boucle');
  Ora_Prof.Destroy_Timer('boucle');
END;


Ora_Prof.Start_Timer

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Met une horloge en marche. Le temps cumulé entre les appels à Ora_Prof.Timer_Start et à Ora_Prof.Timer_Stop est ajouté au temps total cumulé dans l'horloge.

Syntaxe

PROCEDURE Ora_Prof.Start_Timer
   (horloge VARCHAR2);

Paramètres

horloge	Nom de l'horloge.


Ora_Prof.Start_Timer - Exemple

  Rubriques connexes	   Tous les exemples

 PROCEDURE multi_time IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('boucle');
   --
   -- First loop...
   --
  Ora_Prof.Start_Timer('boucle');
    FOR i IN 1..10 LOOP
      Text_IO.Put_Line('Salut');
    END LOOP;
  Ora_Prof.Stop_Timer('boucle');
   --
   -- Second loop...
   --
  Ora_Prof.Start_Timer('boucle');
  FOR i IN 1..10 LOOP
    Text_IO.Put_Line('Salut');
  END LOOP;
  Ora_Prof.Stop_Timer('boucle');
  Ora_Prof.Destroy_Timer('boucle');
END;


Ora_Prof.Stop_Timer

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Arrête une horloge. Le temps cumulé entre les appels à Ora_Prof.Timer_Start et à Ora_Prof.Timer_Stop est ajouté au temps total cumulé dans l'horloge.

Syntaxe

PROCEDURE Ora_Prof.Stop_Timer
   (horloge VARCHAR2);

Paramètres

horloge	Nom de l'horloge.


Ora_Prof.Stop_Timer - Exemple

  Rubriques connexes	   Tous les exemples

 PROCEDURE multi_time IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('boucle');
   --
   -- First loop...
   --
  Ora_Prof.Start_Timer('boucle');
    FOR i IN 1..10 LOOP
      Text_IO.Put_Line('Salut');
    END LOOP;
  Ora_Prof.Stop_Timer('boucle');
   --
   -- Second loop...
   --
  Ora_Prof.Start_Timer('boucle');
  FOR i IN 1..10 LOOP
    Text_IO.Put_Line('Salut');
  END LOOP;
  Ora_Prof.Stop_Timer('boucle');
  Ora_Prof.Destroy_Timer('boucle');
END;


Package TOOL_RES

  Rubriques connexes 	  Toutes les procédures internes

Tool_Res.Bad_File_Handle

Tool_Res.Buffer_Overflow

Tool_Res.File_Not_Found

Tool_Res.No_Resource

Tool_Res.Rfclose

Tool_Res.Rfhandle

Tool_Res.Rfopen

Tool_Res.Rfread


Tool_Res.Bad_File_Handle

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Générée lorsque l'identificateur de fichier passé à Tool_Res.Rfclose n'est pas valide.

Syntaxe

Tool_Res.Bad_File_Handle  EXCEPTION;


Tool_Res.Bad_File_Handle - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple utilise l'identificateur Tool_Res.Bad_File_Handle
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  resfileh1  TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Ouvrir un fichier de ressources */
  resfileh := TOOL_RES.RFOPEN('C:\resource\test.res');
  ...
  /* Identificateur incorrect utilisé pour fermer
       le fichier de ressources. */
  TOOL_RES.RFCLOSE(resfileh1);
  ...
EXCEPTION
  WHEN TOOL_RES.BAD_FILE_HANDLE THEN
    /* impression du message d'erreur */
    TEXT_IO.PUT_LINE('Identificateur de fichier non valide.');
    /* suppression de l'erreur */
    TOOL_ERR.POP;
END;


Tool_Res.Buffer_Overflow

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Générée lorsque vous avez tenté d'extraire une ressource trop longue pour le tampon fourni.

Syntaxe

Tool_Res.Buffer_Overflow  EXCEPTION;


Tool_Res.Buffer_Overflow - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple utilise l'identificateur Tool_Res.Buffer_Overflow
*/
PRODEDURE res_buf_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Ouvrir un fichier de ressources */
  resfileh := TOOL_RES.RFOPEN
           ('C:\resource\test.res');
  /*  Tentative de lecture d'une chaîne très longue
          qui dépasse la capacité du tampon. */
  res1 := TOOL_RES.RFREAD(resfileh,'res_1');
   ...

EXCEPTION
  WHEN TOOL_RES.BUFFER_OVERFLOW THEN
    /* impression du message d'erreur */
    TEXT_IO.PUT_LINE('Buffer overflow.');
    /* suppression de l'erreur */
    TOOL_ERR.POP;
END;


Tool_Res.File_Not_Found

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Générée lorsque le fichier indiqué ne peut pas être ouvert, très probablement en raison de l'existence de l'un des problèmes suivants :

•	nom de fichier

•	autorisation d'accès au fichier

•	erreur système

Syntaxe

Tool_Res.File_Not_Found  EXCEPTION;


Tool_Res.File_Not_Found - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple utilise l'identificateur Tool_Res.File_Not_Found
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /* Ouvrir un fichier de ressources */
  resfileh := TOOL_RES.RFOPEN
        ('C:\resource\twst.res');
  /* Nom de fichier mal orthographié. */
  ...

EXCEPTION
  WHEN TOOL_RES.FILE_NOT_FOUND THEN
    /* impression du message d'erreur */
    TEXT_IO.PUT_LINE('Impossible de trouver le fichier.');
    /* suppression de l'erreur */
    TOOL_ERR.POP;
END;


Tool_Res.No_Resource

  Exemples 	   Rubriques connexes 	   Toutes les procédures internes

Description Générée lorsque la ressource nommée n'a pas pu être trouvée. Si vous avez indiqué un fichier, la ressource n'existe pas dans ce fichier. Si vous n'avez pas indiqué de fichier, la ressource n'existe pas dans les fichiers de ressources ouverts.

Syntaxe

Tool_Res.No_Resource  EXCEPTION;


Tool_Res.No_Resource - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple utilise l'identificateur Tool_Res.No_Resource
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /* Ouvrir un fichier de ressources */
  resfileh := TOOL_RES.RFOPEN
         ('C:\resource\test.res');
  /* Tentative de lecture de ressources n'existant pas
     dans le fichier. */
  res1 := TOOL_RES.RFREAD(resfileh,'Res_1');
   ...

EXCEPTION
  WHEN TOOL_RES.NO_RESOURCE THEN
    /* impression du message d'erreur */
    TEXT_IO.PUT_LINE('Impossible de trouver la ressource.');
    /* suppression de l'erreur */
    TOOL_ERR.POP;
END;


Tool_Res.Rfclose

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ferme le fichier de ressources indiqué. Avant de quitter l'application, vous devez fermer par  Tool_Res.Rfclose tous les fichiers ouverts par Tool_Res.Rfopen.

Syntaxe

PROCEDURE Tool_Res.Rfclose
   (fichier rfhandle);

Paramètres

fichier	Fichier à fermer.
Notes d'utilisation RFCLOSE peut signaler les exceptions suivantes :

BAD_FILE_HANDLE	Générée si l'identificateur de fichier ne pointe pas sur un fichier valide.
Tool_Err.Tool_Error	Générée en cas de détection d'erreur interne.


Tool_Res.Rfclose - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple utilise l'identificateur Tool_Res.Rfclose
*/
PROCEDURE mon_code
     (mon_identificateur_fichier IN OUT TOOL_RES.RFHANDLE)IS
BEGIN
  /* Attribuer un fichier de ressources à 'fhandle.' */
  ...

  /* Fermer le fichier de ressources à l'aide de
              l'identificateur ‘fhandle.’ */
  TOOL_RES.RFCLOSE(mon_identificateur_fichier);
  ...
END;


Tool_Res.Rfhandle

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Indique un identificateur de fichier.

Syntaxe

TYPE Tool_Res.Rfhandle;


Tool_Res.Rfhandle - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple utilise l'identificateur Tool_Res.Rfhandle
*/
PRODEDURE res_test IS
  /* Indiquer l'identificateur ‘resfileh'. */
  resfileh   TOOL_RES.RFHANDLE;
BEGIN
  /* Attribuer un identificateur à un fichier de ressources */
  resfileh := TOOL_RES.RFOPEN('C:\test.res');
  ...
END;


Tool_Res.Rfopen

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ouvre le fichier indiqué comme fichier de ressources.

Syntaxe

FUNCTION Tool_Res.Rfopen
   (spéc VARCHAR2)
RETURN rfhandle;

Paramètres

nom_fichier	Le fichier à ouvrir spéc peut être écrit indifféremment en majuscules ou en minuscules.
Retourne Un identificateur du fichier indiqué.

Notes d'utilisation Tool_Res.Rfopen peut générer les exceptions suivantes :

File_Not_Found	Générée si spéc ne pointe pas sur un fichier valide ou si le fichier ne peut pas être ouvert.
Tool_Err.Tool_Error	Générée en cas de détection d'erreur interne.


Tool_Res.Rfopen - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple utilise l'identificateur Tool_Res.Rfopen
*/
PROCEDURE my_init
  (fhandle OUT TOOL_RES.RFHANDLE) IS
BEGIN
  /* Ouvrir un fichier de ressources et l'attribuer à
            l'identificateur 'fhandle.' */
  fhandle := TOOL_RES.RFOPEN('C;\my_app.res');
   ...
END;


Tool_Res.Rfread

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Lit la ressource indiquée. Si vous avez inclus un identificateur de fichier, le système ne recherchera la ressource indiquée que dans le fichier de ressources indiqué. Autrement, la recherche portera sur tous les fichiers de ressources ouverts.

Syntaxe

FUNCTION Tool_Res.Rfread
   (fichier_lire   rfhandle,
    id_res   VARCHAR2,
    type_res VARCHAR2 := 'chaîne')
RETURN VARCHAR2;

FUNCTION Tool_Res.Rfread
   (id_res   VARCHAR2,
    type_res VARCHAR2 := 'chaîne')
RETURN VARCHAR2;

Paramètres

fichier_lire	Fichier à lire.
id_res	ID de ressource.
type_res	Type de ressource.
Retourne Un identificateur du fichier indiqué.

Notes d'utilisation Rfread peut générer les exceptions suivantes :

No_Resource	Générée si la ressource nommée n'a pas pu être trouvée.
Buffer_Overflow	Générée si le "tampon" fourni n'est pas assez grand pour la ressource demandée.
Tool_Err.Tool_Error	Générée en cas de détection d'erreur interne.


Tool_Res.Rfread - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Cet exemple utilise l'identificateur Tool_Res.Rfread
*/
PRODEDURE ban_res IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Ouvrir un fichier de ressources */
  resfileh := TOOL_RES.RFOPEN
         ('C:\resource\test.res');
  /*  Lire la chaîne de ressources 'banner' depuis le fichier */
  res1 := TOOL_RES.RFREAD(resfileh,'banner');
  ...

  TEXT_IO.PUT_LINE(res1);
  ...

END;


Package TEXT_IO

  Rubriques connexes 	  Toutes les procédures internes

Text_IO.Fclose

Text_IO.File_Type

Text_IO.Fopen

Text_IO.Is_Open

Text_IO.Get_Line

Text_IO.New_Line

Text_IO.Put

Text_IO.Putf

Text_IO.Put_Line


Text_IO.Fclose

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ferme un fichier ouvert.

Syntaxe

PROCEDURE Text_IO.Fclose
   (fichier file_type);

Paramètres

fichier	Identificateur du fichier à fermer.


Text_IO.Fclose - Exemple

  Rubriques connexes	   Tous les exemples

 /*
**  Fermer le fichier de sortie.
*/
Text_IO.Fclose (fichier_sortie);


Text_IO.File_Type

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Indique un identificateur de fichier.

Syntaxe

TYPE Text_IO.File_Type;


Text_IO.File_Type - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Déclarer une variable locale représentant le
** fichier de sortie dans lequel vous voulez écrire.
*/
fichier_sortie  Text_IO.File_Type;


Text_IO.Fopen

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ouvre le fichier spécifié dans le mode indiqué.

Syntaxe

FUNCTION Text_IO.Fopen
   (nom_fichier     VARCHAR2,
    mode_fichier VARCHAR2)
RETURN Text_IO.File_Type;

Paramètres

nom_fichier	Chaîne (indifféremment en majuscules ou en minuscules) correspondant à un nom de fichier.
mode_fichier	Caractère (indifféremment en majuscules ou en minuscules) qui indique le mode dans lequel le fichier doit être ouvert : R Ouvrir le fichier en lecture seule. W Ouvrir le fichier en lecture et en écriture après en avoir supprimé toutes les lignes. A Ouvrir le fichier en lecture et en écriture sans supprimer les lignes existantes (c'est-à-dire en ajout).
Retourne Un identificateur du fichier indiqué.


Text_IO.Fopen - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Déclarer deux variables locales devant représenter deux fichiers :
** l'un en lecture, l'autre en écriture.
*/
fichier_entrée   Text_IO.File_Type;
fichier_sortie  Text_IO.File_Type;
fichier_entrée  := Text_IO.Fopen('salaire.txt', 'r');
fichier_sortie := Text_IO.Fopen('prime.txt', 'w');


Text_IO.Is_Open

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Vérifie que le fichier indiqué est ouvert.

Syntaxe

FUNCTION Text_IO.Is_Open
   (fichier file_type)
RETURN BOOLEAN;

Paramètres

fichier	Identificateur du fichier à vérifier.
Retourne TRUE ou FALSE.


Text_IO.Is_Open - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Vérifier si le fichier de sortie est ouvert.
** S'il l'est, le fermer.
*/
IF Text_IO.Is_Open(fichier_sortie) THEN
   Text_IO.Fclose(fichier_sortie);


Text_IO.Get_Line

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Recherche la prochaine ligne d'un fichier ouvert et l'entre dans élément. Text_IO.Get_Line lit les caractères jusqu'à ce qu'il rencontre un caractère de changement de ligne (c'est-à-dire de retour chariot) ou une condition de fin de fichier (EOF).

Si la ligne à lire est plus longue que la taille d'élément, l'exception Value_Error est générée. S'il ne reste plus de caractères dans le fichier, l'exception No_Data_Found est générée.

Syntaxe

PROCEDURE Text_IO.Get_Line
  (fichier file_type,
   élément OUT VARCHAR2);

Paramètres

fichier	Indicateur de fichier ouvert.
Elément	Identificateur de l'élément devant recevoir la prochaine ligne lue.


Text_IO.Get_Line - Exemple

  Rubriques connexes	   Tous les exemples

/*
** Ouvrir un fichier et entrer la première ligne
** dans tampligne.
*/
declare
  fichier_entrée  Text_IO.File_Type;
  tampligne  VARCHAR2 (80);
begin
  fichier_entrée := Text_IO.Fopen('salaire.txt', 'r');
  Text_IO.Get_Line(fichier_entrée,tampligne);
end;


Text_IO.New_Line

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Concatène le nombre indiqué de caractères de changement de ligne (c'est-à-dire de retours chariot) à la ligne courante d'un fichier ouvert ou les transmet à l'interpréteur. La valeur par défaut est 1¾, c'est-à-dire que si vous n'indiquez pas de valeur (par exemple, Text_IO.New_Line;), le système insère un seul caractère de changement de ligne.

Syntaxe

PROCEDURE Text_IO.New_Line
   (fichier file_type,
    n    PLS_INTEGER := 1);

PROCEDURE Text_IO.New_Line
    (n PLS_INTEGER := 1);

Paramètres

fichier	Indicateur de fichier ouvert.
n	Entier.


Text_IO.New_Line - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Ecrire une chaîne dans le fichier de sortie,
** puis insérer un changement de ligne.
*/
Text_IO.Put(fichier_sortie, SYSDATE);
Text_IO.New_Line(fichier_sortie, 2);


Text_IO.Put

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Ajoute les données fournies à la ligne courante d'un fichier ouvert ou les transmet à l'interpréteur. Notez qu'il existe différentes procédures Text_IO.Put qui acceptent pour élément les valeurs VARCHAR2, DATE, NUMBER et PLS_INTEGER.  Toutes les procédures (à l'exception de VARCHAR2) convertissent les données fournies en chaîne de caractères. Aucun caractère de changement de ligne (c'est-à-dire de retour chariot) n'est ajouté.

Syntaxe

PROCEDURE Text_IO.Put
   (fichier file_type,
    élément VARCHAR2);

PROCEDURE Text_IO.Put
   (élément VARCHAR2);

PROCEDURE Text_IO.Put
   (élément DATE);

PROCEDURE Text_IO.Put
   (fichier file_type,
    élément DATE);

PROCEDURE Text_IO.Put
   (fichier file_type,
    élément NUMBER);

PROCEDURE Text_IO.Put
   (élément NUMBER);

PROCEDURE Text_IO.Put
   (fichier file_type,
    élément PLS_INTEGER);

PROCEDURE Text_IO.Put
   (élément PLS_INTEGER);

Paramètres

fichier	Indicateur de fichier ouvert.
Elément	Identificateur du tampon.


Text_IO.Put - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Ecrire une ligne dans le fichier de sortie indiqué, insérer
** un changement de ligne, puis écrire une autre ligne dans
** le fichier de sortie.
*/
Text_IO.Put(fichier_sortie, SYSDATE);
Text_IO.New_Line(fichier_sortie);
Text_IO.Put('Fin du traitement...');


Text_IO.Putf

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Met en forme et écrit un message dans un fichier ouvert ou le transmet à l'interpréteur. Vous pouvez incorporer jusqu'à cinq spécifications de format "%s" (par exemple, '%s %s %s') qui  sont remplacées par les différentes valeurs arg caractères (par exemple, `Vérifier', `chaque', `valeur.'). Les spécifications "\n" sont remplacées par les caractères de changement de ligne (c'est-à-dire des retours chariot).

Syntaxe

PROCEDURE Text_IO.Putf
   (arg    VARCHAR2);

PROCEDURE Text_IO.Putf
   (fichier   file_type,
    arg    VARCHAR2);

PROCEDURE Text_IO.Putf
   (fichier   file_type,
    format VARCHAR2,
   [arg1 [,..., arg5] VARCHAR2]);

PROCEDURE Text_IO.Putf
   (format VARCHAR2,
   [arg1 [,..., arg5] VARCHAR2]);

Paramètres

arg	Argument qui indique la valeur à afficher (par exemple, chaîne de caractères, variable).
format	Indique le format du message à afficher.
fichier	Indicateur de fichier ouvert.
Notes d'utilisation Pour mettre en forme des messages contenant des substitutions ne portant pas sur les caractères, utilisez la fonction TO_CHAR sur l'argument (voir l'exemple ci-après).


Text_IO.Putf - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Ecrire une ligne dans le fichier de sortie en utilisant
** l'appel TO_CHAR(SYSDATE) pour représenter la variable
** caractères substitués.
*/
Text_IO.Putf(fichier_sortie,'Nous sommes le %s\n',
  TO_CHAR(SYSDATE));


Text_IO.Put_Line

  Exemples	   Rubriques connexes 	   Toutes les procédures internes

Description Concatène les données de type caractère fournies par élément à la ligne courante d'un fichier ouvert ou les transmet à l'interpréteur. Un caractère de changement de ligne (c'est-à-dire un retour chariot) est automatiquement ajouté à la fin de la chaîne.

Syntaxe

PROCEDURE Text_IO.Put_Line
   (fichier file_type,
    élément VARCHAR2);

Paramètres

fichier	Indicateur de fichier ouvert.
Elément	Indicateur des données de type caractère à afficher.


Text_IO.Put_Line - Exemple

  Rubriques connexes	   Tous les exemples

 /*
** Ecrire deux lignes complètes dans le fichier de sortie.
*/
Text_IO.Put_Line(fichier_sortie, TO_CHAR(SYSDATE));
Text_IO.Put_Line('Début des procédures de test...');


A propos des packages intégrés d'Oracle Developer

  Rubriques connexes 	  Toutes les procédures internes

Oracle Developer propose plusieurs packages intégrés côté client contenant de nombreux éléments PL/SQL auxquels vous pouvez vous référer lors de la création d'applications ou du débogage de votre code d'application. Ces packages intégrés ne sont pas installés en tant qu'extensions du package STANDARD. Par conséquent, chaque fois que vous faites référence à un élément de l'un de ces packages, vous devez le faire précéder du nom du package (par exemple, Text_IO.Put_Line).

Les packages intégrés proposés sont :

DDE	offre le support de l'échange dynamique de données (DDE) avec les composants Oracle Developer.
DEBUG	offre des procédures, des fonctions et des exceptions pour le débogage des unités de programme PL/SQL.
EXEC_SQL	offre des procédures et des fonctions que vous pouvez utiliser pour exécuter des instructions SQL dynamiques dans du code PL/SQL écrit pour des applications Oracle Developer.
LIST	offre des procédures, des fonctions et des exceptions que vous pouvez utiliser pour créer et mettre à jour des listes de chaînes de caractères (VARCHAR2), ce qui permet de créer des tableaux dans PL/SQL Version 1.
OLE2	offre une API PL/SQL pour la création et la manipulation des objets d'automatisation OLE2 ainsi que l'accès à leurs attributs.
ORA_FFI	offre une interface de fonctions étrangères permettant d'appeler des fonctions étrangères (C) à partir de PL/SQL.
ORA_NLS	permet d'extraire des informations de haut niveau sur l'environnement linguistique que vous utilisez.
ORA_PROF	offre des procédures, des fonctions et des exceptions que vous pouvez utiliser pour mettre au point vos unités de programme PL/SQL (par exemple, pour déterminer le temps nécessaire à l'exécution d'une partie spécifique de code).
TEXT_IO	offre des éléments qui vous permettent de lire et d'écrire des informations dans des fichiers.
TOOL_ENV	permet l'interaction avec les variables d'environnement Oracle.
TOOL_ERR	permet d'accéder à la pile d'erreurs créée par d'autres packages intégrés (par exemple, DEBUG) et d'effectuer des opérations sur cette pile.
TOOL_RES	permet d'extraire des ressources de type chaîne de caractères d'un fichier de ressources, pour améliorer la portabilité du code PL/SQL en isolant toutes les données de texte contenues dans le fichier de ressources.

Les packages suivants sont uniquement utilisés en interne par Oracle Developer. Aucun sous-programme n'est prévu pour l'utilisation externe avec ces packages.

ORA_DE	Contient des éléments utilisés par Oracle Developer pour les services privés PL/SQL.
STPROC	Utilisé en interne par Oracle Developer pour appeler des sous-programmes stockés dans la base de données. Les appels à ce package sont générés automatiquement.


A propos du package DDE

  Rubriques connexes 	   Toutes les procédures internes

Ce package offre le support de l'échange dynamique de données (DDE) avec les composants Oracle Developer.

DDE permet aux applications de communiquer entre elles et d'échanger des données sous Windows. Le support de DDE client est ajouté en tant qu'extension de procédure à Oracle Developer. Le package PL/SQL pour le support de DDE offre aux développeurs d'applications une interface API (Application Programming Interface) permettant d'accéder aux fonctions de DDE à partir des procédures et déclencheurs PL/SQL.

Les fonctions DDE permettent aux applications Oracle de communiquer avec d'autres applications Windows compatibles avec DDE (serveurs) de trois façons :

•	importation de données

•	exportation de données

•	exécution de commandes sur le serveur DDE

Cette version de DDE n'inclut pas :

•	Liaison des données (transaction d'information)

Les applications Oracle ne peuvent recevoir automatiquement un avis de mise à jour lors de la modification d'un élément de données.

•	Support de serveur

Les applications Oracle ne peuvent pas répondre aux commandes ni aux demandes de données provenant d'un client DDE. La conversation DDE doit être lancée par les applications Oracle (bien que le transfert des données soit encore possible dans les deux directions).

Fonctions de support	Ces fonctions permettent de lancer et d'arrêter d'autres applications serveur DDE.

Fonctions de connexion/déconnexion	Ces fonctions permettent d'établir la connexion à d'autres applications serveur DDE et de mettre fin à la connexion.

Fonctions de transaction Ces fonctions permettent l'échange de données avec des applications serveur DDE.

Fonctions de conversion de types de données	Ces fonctions permettent de convertir des constantes de type DDE en chaînes et inversement ; en outre, DDE.Getformatnum permet aux utilisateurs d'enregistrer un nouveau format de données non prédéfini par Windows. Notez que ces fonctions ne convertissent pas les données elles-mêmes (toutes les données DDE sont de type CHAR dans PL/SQL), mais seulement les constantes.

Remarque : Dans les précédentes versions d'Oracle Developer, il était nécessaire d'attacher une bibliothèque STUB pour que les appels aux fonctions DDE propres à Windows rendent possible une compilation et une exécution correctes sur des plates-formes non-Windows. Ceci n'est désormais plus nécessaire. Toutefois, lorsque vous essayez d'exécuter une fonction intégrée de Windows sur une plate-forme non-Windows, les messages suivants sont générés :

FRM-40735 : Le déclencheur <nom> a détecté une exception non traitée.
ORA-06509, 00000 PL/SQL : vecteur ICD manquant pour ce package.


Formats de données prédéfinis de Microsoft Windows

  Rubriques connexes

Pour toute information sur les exceptions des formats de données prédéfinis, reportez-vous à la section Exceptions.

DDE.Cf_Bitmap	Les données sont de type bitmap.
DDE.Cf_Dib	Les données sont un objet mémoire contenant une structure BITMAPINFO suivie des données bitmap.
DDE.Cf_Dif	Les données sont au format DIF (Data Interchange Format).
DDE.Cf_Dspbitmap	Les données sont une représentation bitmap d'un format privé. Elles sont affichées au format bitmap à la place des données au format privé.
DDE.Cf_Dspmetafile- Pict	Les données sont la représentation métafichier d'un format de données privé. Ces données sont affichées au format image métafichier à la place des données au format privé.
DDE.CF_Dsptext	Les données sont la représentation texte d'un format de données privé. Ces données sont affichées au format texte à la place des données au format privé.
DDE.Cf_Metafilepict	Les données sont un métafichier.
DDE.Cf_Oemtext	Les données sont un tableau de caractères de texte d'un jeu de caractères OEM. Chaque ligne se termine par une combinaison de retour de ligne-saut de page (CR-LF). Un caractère nul indique la fin des données.
DDE.Cf_Owner- Display	Les données sont dans un format privé que le propriétaire du presse-papiers doit afficher.
DDE.Cf_Palette	Les données sont une palette de couleurs.
DDE.Cf_Pendata	Les données concernent les extensions stylet du système d'exploitation Windows.
DDE.Cf_Riff	Les données sont au format RIFF (Resource Interchange File Format).
DDE.Cf_Sylk	Les données sont au format SYLK (Microsoft Symbolic Link).
DDE.Cf_Text	Les données sont un tableau de caractères texte. Chaque ligne se termine par une combinaison de retour de ligne-saut de page (CR-LF). Un caractère nul indique la fin des données.
DDE.Cf_Tiff	Les données sont au format TIFF (Tagged Image File Format).
DDE.Cf_Wave	Les données décrivent une onde sonore. Il s'agit d'un sous-ensemble du format de données CF_RIFF qui ne peut être utilisé que pour les fichiers RIFF WAVE.


Exceptions DDE prédéfinies

  Rubriques connexes

DDE.DDE_App_Failure	Un programme d'application indiqué dans un appel DDE.App_Begin n'a pas pu être lancé.
DDE.DDE_App_Not_ Found	Un descripteur d'application indiqué dans un appel DDE.App_End ou DDE.App_Focus ne correspond pas à une application en cours d'exécution.
DDE.DDE_Fmt_Not_ Found	Un numéro de format indiqué dans un appel DDE.Getformatstr est inconnu.
DDE.DDE_Fmt_Not_Reg	Une chaîne de formats indiquée dans un appel DDE.Getformatnum ne correspond pas à un format prédéfini et n'a pas pu être enregistrée en tant que format défini par l'utilisateur.
DDE.DDE_Init_Failed	L'application n'a pas pu initialiser les communications DDE, ce qui a provoqué l'échec de l'appel de la couche DDE.
DDE.DDE_Param_Err	Un paramètre non valide, par exemple une valeur NULL, a été passé à une routine du package DDE.
DDE.Dmlerr_Busy	Une transaction a échoué parce que l'application serveur était occupée.
DDE.Dmlerr_ Dataacktimeout	Le temps alloué à une demande de transaction de données synchrone a été dépassé.
DDE.Dmlerr_ ExecackTimeout	Le temps alloué à une demande de transaction d'exécution synchrone a été dépassé.
DDE.Dmlerr_ Invalidparameter	La validation d'un paramètre a échoué. Certaines des causes possibles sont indiquées ci-dessous :
	L'application a utilisé un descripteur de données initialisé avec un descripteur de nom d'élément ou un format de données de presse-papiers différent de celui requis par la transaction.
	L'application a utilisé un descripteur de conversation non valide.
	Plusieurs instances de l'application ont utilisé le même objet.
DDE.Dmlerr_Memory_ Error	Une allocation de mémoire a échoué.
DDE.Dmlerr_No_Conv_ Established	Un client a tenté sans succès d'établir une conversation. Le nom du service ou du sujet, dans un appel DDE.Initiate, peut être erroné.
DDE.Dmlerr_ Notprocessed	Une transaction a échoué. Le nom de l'élément, dans une transaction DDE.Poke ou Request, peut être erroné.
DDE.Dmlerr_Not_ Supported	Le package DDE est appelé mais DDE n'est pas pris en charge sur la plate-forme utilisée.
DDE.Dmlerr_ Pokeacktimeout	Le temps alloué à une demande de transaction DDE.Poke synchrone a été dépassé.
DDE.Dmlerr_Postmsg_ Failed	Un appel interne à la fonction PostMessage a échoué.
DDE.Dmlerr_Server_ Died	Le serveur s'est arrêté avant la fin d'une transaction.
DDE.Dmlerr_Sys_ Error	Une erreur interne s'est produite dans la couche DDE.


A propos du package DEBUG

  Rubriques connexes 	   Toutes les procédures internes

Ce package contient des procédures, des fonctions et des exceptions à utiliser lors du débogage de vos unités de programme PL/SQL. Utilisez ces sous-programmes intégrés pour créer des déclencheurs de débogage et définir des points d'interruption avec des déclencheurs.


A propos du package LIST

  Rubriques connexes 	  Toutes les procédures internes

Ce package contient des procédures, des fonctions et des exceptions que vous pouvez utiliser pour créer et mettre à jour les listes de chaînes de caractères (VARCHAR2). Ces services permettent de créer des tableaux dans PL/SQL Version 1.


A propos du package OLE2

  Rubriques connexes 	  Toutes les procédures internes

Ce package offre une API PL/SQL permettant de créer et de manipuler des objets d'automatisation OLE2 et d'accéder à leurs attributs.

Les objets d'automatisation OLE2 intègrent un ensemble d'attributs et de méthodes pouvant être manipulés ou appelés à partir d'un client d'automatisation OLE2. Le package OLE2 permet aux utilisateurs d'accéder directement aux serveurs d'automatisation OLE2 à partir de PL/SQL.

Pour toute information sur les types d'objet, les méthodes et les spécifications de syntaxe, reportez-vous à la documentation destinée aux programmeurs OLE2 pour chaque serveur d'automatisation OLE2.


A propos du package ORA_FFI

  Rubriques connexes 	  Toutes les procédures internes

Ce package offre une interface de fonctions étrangères permettant d'appeler des fonctions C contenues dans une bibliothèque de liens dynamiques.

Notez que les arguments en virgule flottante doivent être convertis au double. Si vous devez utiliser des déclarations ANSI, faites uniquement appel au double dans votre code.


A propos du package ORA_NLS

  Rubriques connexes 	  Toutes les procédures internes

Ce package vous permet d'extraire des informations de haut niveau sur l'environnement linguistique que vous utilisez. Ces informations servent à examiner les attributs de langue, ce qui vous permet de personnaliser vos applications, et d'utiliser le format local de représentation des dates et des nombres. Des informations relatives aux séquences de tri et aux jeux de caractères en général sont également disponibles.

Vous pouvez aussi rechercher le nom de la langue et du jeu de caractères courants, ce qui vous permet de créer des applications répondant à des cas particuliers.


Constantes de type caractère ORA_NLS

  Rubriques connexes

Pour rechercher les informations relatives aux caractères propres à la langue utilisée, faites appel aux constantes ci-après. Toutes sont de type PLS_INTEGER, un entier étant attribué à chacune d'entre elles.

Nom	Description	Entier	Valeur
day1	nom complet du jour 1	1	dimanche
day2	nom complet du jour 2	2	lundi
day3	nom complet du jour 3	3	mardi
day4	nom complet du jour 4	4	mercredi
day5	nom complet du jour 5	5	jeudi
day6	nom complet du jour 6	6	vendredi
day7	nom complet du jour 7	7	samedi
day1_abbr	nom abrégé du jour 1	8	dim
day2_abbr	nom abrégé du jour 2	9	lun
day3_abbr	nom abrégé du jour 3	10	mar
day4_abbr	nom abrégé du jour 4	11	mer
day5_abbr	nom abrégé du jour 5	12	jeu
day6_abbr	nom abrégé du jour 6	13	ven
day7_abbr	nom abrégé du jour 7	14	sam
month1	nom complet du mois 1	15	janvier
month2	nom complet du mois 2	16	février
month3	nom complet du mois 3	17	mars
month4	nom complet du mois 4	18	avril
month5	nom complet du mois 5	19	mai
month6	nom complet du mois 6	20	juin
month7	nom complet du mois 7	21	juillet
month8	nom complet du mois 8	22	août
month9	nom complet du mois 9	23	septembre
month10	nom complet du mois 10	24	octobre
month11	nom complet du mois 11	25	novembre
month12	nom complet du mois 12	26	décembre
month1_abbr	nom abrégé du mois 1	27	jan
month2_abbr	nom abrégé du mois 2	28	fév
month3_abbr	nom abrégé du mois 3	29	mar
month4_abbr	nom abrégé du mois 4	30	avr
month5_abbr	nom abrégé du mois 5	31	mai
month6_abbr	nom abrégé du mois 6	32	jun
month7_abbr	nom abrégé du mois 7	33	jul
month8_abbr	nom abrégé du mois 8	34	aoû
month9_abbr	nom abrégé du mois 9	35	sep
month10_abbr	nom abrégé du mois 10	36	oct
month11_abbr	nom abrégé du mois 11	37	nov
month12_abbr	nom abrégé du mois 12	38	déc
yes_str	Réponse affirmative aux interrogations	39	oui
no_str	Réponse négative aux interrogations	40	non
am_str	Equivalent local de AM	41	am
pm_str	Equivalent local de PM	42	pm
ad_str	Equivalent local de AD	43	ad
bc_str	Equivalent local de BC	44	bc
decimal	Caractère décimal	45	.
groupsep	Séparateur de groupe	46	,
int_currency	Symbole monétaire international	47	USD
local_currency	Symbole monétaire local	48	$
local_date_fmt	Format local de date	49	%m/%j/%a
local_time_fmt	Format local d'heure	50	%H:%M:%S
default_date_fmt	Format de date Oracle par défaut	51	JJ-MOI-AA
default_time_fmt	Format d'heure Oracle par défaut	52	HH.MI.SS AM
language	Langue	53	AMERICAIN
language_abbr	Abréviation ISO pour langue	54	US
character_set	Jeu de caractères par défaut	55	US7ASCII
territory	Territoire par défaut	56	AMERIQUE
current_decimal	Caractère décimal utilisé	57	.
current_groupset	Séparateur de groupe utilisé	58	,
current_currency	Monnaie locale utilisée	59	$
current_date_fmt	Format de date Oracle utilisé	60	JJ-MOI-AA
current_language	Langue utilisée	70
current_territory	Pays utilisé	61	US
current_character_set	Jeu de caractères utilisé	62	US7ASCII


Constantes numériques ORA_NLS

  Rubriques connexes

Les constantes suivantes permettent d'extraire des informations numériques relatives à la langue utilisée. Toutes les constantes sont de type PLS_INTEGER, un entier étant affecté à chacune d'entre elles.

Nom	Description	Entier
decimal_places	Positions décimales monnaie	63
sign_placement	Emplacement signe 0=avant, 1=après	64
initcap_month	Maj init noms mois: 0=NON,1=OUI	65
initcap_day	Maj init noms jour: 0=NON,1=OUI	66
week_start	Day début semaine: 0=dimanche	67
week_num_calc	Calc num semaine: 1=ISO, 0=non ISO	68
iso_alphabet	Numéro alphabet ISO utilisé	69


A propos du package ORA_PROF

  Rubriques connexes 	  Toutes les procédures internes

Ce package contient des procédures, des fonctions et des exceptions que vous pouvez utiliser pour mettre au point vos unités de programme PL/SQL. Les services qu'il contient permettent de suivre le temps nécessaire à l'exécution des différents éléments de votre code.


A propos du package TEXT_IO

  Rubriques connexes 	  Toutes les procédures internes

Ce package contient des éléments permettant des opérations d'écriture et de lecture d'informations dans des fichiers. Plusieurs procédures et fonctions, disponibles dans Text_IO, sont réparties dans les catégories suivantes :

opérations sur fichiers	L'enregistrement FILE_TYPE, les fonctions FOPEN et IS_OPEN et la procédure FCLOSE permettent, respectivement, de définir les variables FILE_TYPE, d'ouvrir des fichiers, de rechercher les fichiers ouverts et de fermer les fichiers ouverts.
opérations de sortie (écriture)	Les procédures PUT, PUTF, PUT_LINE et NEW_LINE permettent d'écrire des informations dans un fichier ouvert ou de les envoyer à l'interpréteur.
opérations d'entrée (lecture)	La procédure GET_LINE permet de lire une ligne d'un fichier ouvert.


Utilisation des éléments de TEXT_IO - Exemples

  Rubriques connexes

L'exemple de procédure ci-dessous renvoie le contenu d'un fichier. Cette procédure inclut plusieurs appels aux éléments TEXT_IO :

PROCEDURE echo_file_contents IS
  in_file   Text_IO.File_Type;
  linebuf   VARCHAR2(1800);
  filename  VARCHAR2(30);
BEGIN
  filename:=GET_FILE_NAME('c:\temp\', File_Filter=>'Fichiers texte (*.txt)|*.txt|');
  in_file := Text_IO.Fopen(filename, 'r');
  LOOP
    Text_IO.Get_Line(in_file, linebuf);
    :text_item5:=:text_item5||linebuf||chr(10);
    --Text_IO.New_Line;
  END LOOP;
EXCEPTION
  WHEN no_data_found THEN
    Text_IO.Put_Line('Fermeture du fichier...');
    Text_IO.Fclose(in_file);
END;


A propos du package TOOL_ENV

  Rubriques connexes 	  Toutes les procédures internes

Ce package permet l'interaction avec les variables d'environnement Oracle par l'extraction de leurs valeurs à utiliser dans les sous-programmes.


A propos du package TOOL_ERR

  Rubriques connexes 	  Toutes les procédures internes

Outre l'utilisation d'exceptions pour signaler la présence d'erreurs, certains packages intégrés (par exemple DEBUG) fournissent des informations supplémentaires sur les erreurs. Ces informations sont conservées dans une « pile d'erreurs ».

La pile d'erreurs contient des codes d'erreur détaillés et les messages correspondants. Les erreurs sont assorties d'index allant de zéro (pour la plus ancienne) à n-1 (pour la plus récente), n étant le nombre d'erreurs actuellement dans la pile. Vous pouvez, au moyen des services offerts par le package TOOL_ERR, avoir accès à la pile d'erreurs et la manipuler.


Utilisation des éléments de TOOL_ERR - Exemples

  Rubriques connexes

Les procédures suivantes illustrent l'utilisation des éléments du package TOOL_ERR pour traiter les erreurs produites par la procédure interne Debug.Interpret :

PROCEDURE error_handler IS
/* Appeler une procédure interne qui interprète une commande */
BEGIN
  Debug.Interpret('.ATTACH BIBL BIBL1');
EXCEPTION
/*
** Rechercher un code d'erreur spécifique, imprimer le
** message, puis supprimer l'erreur de la pile
** Si l'erreur ne correspond pas, la gérer.
*/
  WHEN OTHERS THEN
    IF Tool_Err.Code = Tool_Err.Encode('DEPLI',18) THEN
      Text_IO.Put_Line(Tool_Err.Message);
      Tool_Err.Pop;
    ELSE
      RAISE;
    END IF;
END;

Si le code de traitement d'exception n'a pas utilisé les éléments de TOOL_ERR, vous devriez recevoir une alerte indiquant le message PDE-PLI018: Bibliothèque LIB1 introuvable. Grâce à l'utilisation des éléments de TOOL_ERR, l'erreur est captée et le message envoyé à l'interpréteur.


A propos du package TOOL_RES

  Rubriques connexes 	  Toutes les procédures internes

Ce package permet d'extraire des ressources de type chaîne de caractères d'un fichier de ressources pour faciliter le passage du code PL/SQL d'une langue à une autre en isolant toutes les données de texte contenues dans le fichier de ressources.


Création de fichiers de ressources

  Rubriques connexes

Outre la possibilité d'extraire des données de texte des fichiers de ressources existants, les utilitaires suivants vous permettent également de créer des fichiers de ressources contenant des données de texte.

RESPA60	Utilitaire qui crée un fichier de ressources (.RES) à partir d'un fichier texte (.PRN). Le fichier de ressources résultant peut être utilisé avec le package TOOL_RES.
RESPR60	Utilitaire qui convertit un fichier de ressources (.RES) en fichier texte (.PRN).
Ces utilitaires, livrés avec Oracle*Terminal, sont installés automatiquement avec ce produit. Pour afficher la syntaxe de ligne de commandes supportée par ces utilitaires, sur votre plate-forme, exécutez les utilitaires sans fournir d'arguments.

Avec Microsoft Windows, vous pouvez appeler ces exécutables à partir de l'Explorateur ou du Gestionnaire de fichiers pour afficher leur syntaxe de ligne de commandes. Pour lancer les exécutables avec des arguments, utilisez Exécuter.

Syntaxe du fichier ressources	Utilisez la syntaxe suivante pour créer des chaînes pour ce fichier :

Resource	nom_ressource"
Type	string"
Content
 table
 {
  string string 1 nombre_caractères
  "contenu de chaîne"
 }

où :

nom_ressource	Nom unique que vous pouvez utiliser avec Tool_Res.Rfread.
nombre_caractères	Nombre de caractères contenus dans la chaîne.
contenu chaîne	La chaîne elle-même.
Exemple	Le fichier de texte suivant, BONJOUR.PRN :

Resource "bonjour"
Type "string"
Content
 table
 {
  string string 1 12
  "bonjour!"
 }

Resource "au_revoir"
Type "string"
Content
 table
 {
  string string 1 14
  "Au revoir tout le monde!"
 }

est créé dans le fichier de ressources BONJOUR.RES au moyen de l'utilitaire RESPA60 et mentionné dans l'unité de programme suivante :

PROCEDURE get_res IS
  resfichierh Tool_Res.Rfhandle;
  bonjourr   VARCHAR2;
  aurevoirr VARCHAR2;
BEGIN
/*Ouvrir le fichier de ressources généré */
  resfileh:=Tool_Res.Rfopen('bonjour.res');

/*Lire les chaînes du fichier de ressources*/
  bonjourr:=Tool_Res.Rfread(resfileh, 'bonjour');
  aurevoirr:=Tool_Res.Rfread(resfichierh, 'au_revoir');

/*Fermer le fichier de ressources*/
  Tool_Res.Rfclose(resfichierh);

/*Imprimer les chaînes du fichier de ressources*/
  Text_IO.Put_Line(bonjourr);
  Text_IO.Put_Line(aurevoirr);
END;


A propos du package EXEC_SQL

  Rubriques connexes 	  Toutes les procédures internes

Le package EXEC_SQL vous permet d'accéder à plusieurs serveurs de base de données Oracle par l'intermédiaire de connexions simultanées. Des connexions peuvent également être établies vers les sources de données ODBC via Open Client Adapter (OCA), livré avec Oracle Developer. Pour accéder à des sources de données non-Oracle, vous devez installer OCA ainsi que le pilote ODBC approprié.

Le package EXEC_SQL offre des procédures et des fonctions que vous pouvez utiliser pour exécuter des instructions SQL dynamiques dans le cadre de procédures PL/SQL. Tout comme dans le package DBMS_SQL, les instructions SQL sont stockées dans des chaînes de caractères qui ne sont transmises à votre programme source, ou intégrées par lui, qu'à l'exécution. Vous pouvez créer n'importe quelle instruction DML (langage de manipulation de données) ou DDL (langage de définition de données) à l'aide du package EXEC_SQL.

Ce package diffère du package DMBS_SQL sur les points suivants :

•	Il utilise un lien par valeur et non un lien par adresse.

•	Vous devez exécuter le sous-programme EXEC_SQL.Variable_Value pour récupérer la valeur d'un paramètre de lien OUT.

•	Vous devez exécuter le sous-programme EXEC_SQL.Column_Value après l'extraction des lignes afin de récupérer les valeurs sous forme d'un ensemble de résultats.

•	Il ne prend pas en charge les données de type CHAR, RAW, LONG ou ROWID.

•	Il ne propose pas de procédure ni de fonction CANCEL_CURSOR.

•	Il ne prend pas en charge l'interface de tableau.

•	Les variables d'indicateurs ne sont pas requises car les valeurs Null sont pleinement prises en charge en tant que valeurs de variables PL/SQL.

•	Il ne prend pas en charge les tables ou les types d'enregistrement PL/SQL.

Pour plus d'informations sur le package DBMS_SQL, reportez-vous au manuel Oracle8 Application Developer's Guide.


Descripteurs de connexions et de curseurs

  Rubriques connexes

Dans une application Oracle Developer, vous pouvez établir plusieurs connexions simultanées avec une ou plusieurs bases de données. Toutefois, il existe toujours une connexion principale, appelée connexion Oracle Developer primaire.

Les descripteurs permettent de faire référence aux connexions Oracle ou ODBC dans votre application Oracle Developer. Lorsque vous établissez des connexions avec la base de données primaire ou avec d'autres bases de données, des descripteurs de connexion de type EXEC_SQL.ConnType sont créés et utilisés comme référence aux connexions. Chacun de ces descripteurs n'est associé qu'à une seule connexion de base de données.

Lorsque vous ouvrez un curseur sur un descripteur de connexion, des descripteurs de curseur de type EXEC_SQL.CursType sont créés et utilisés pour faire référence au curseur situé sur la connexion donnée. Chaque descripteur de connexion peut être associé à plusieurs descripteurs de curseur.

Les données sont accessibles une fois qu'une connexion et qu'un curseur sont ouverts. Si plusieurs connexions sont ouvertes en même temps, il est recommandé d'inclure explicitement les descripteurs appropriés sous forme d'arguments dans vos sous-programmes EXEC_SQL.

Si vous accédez aux données uniquement à partir de la connexion Oracle Developer primaire, vous n'avez pas à préciser de connexion dans vos sous-programmes EXEC_SQL. Lorsqu'aucun descripteur n'est transmis au sous-programme EXEC_SQL, le sous-programme EXEC_SQL.Default_Connection est automatiquement appelé afin d'établir la connexion Oracle Developer primaire.


Récupération des résultats d'interrogations ou de procédures stockées non-Oracle

  Rubriques connexes

Le package EXEC_SQL est tout particulièrement utile si vous avez à importer les résultats de différentes sources de données Oracle ou ODBC dans une application Forms ou un état.

Pour définir une instruction qui permet de renvoyer des résultats :

1	Pour chaque colonne, utilisez le sous-programme EXEC_SQL.Define_Column pour définir la variable servant à la réception de la valeur.

2	Exécutez l'instruction à l'aide du sous-programme EXEC_SQL.Execute.

3	Utilisez le sous-programme EXEC_SQL.Fetch_Rows pour récupérer une ligne de résultats.

4	Utilisez le sous-programme EXEC_SQL.Column_Value pour obtenir la valeur de chaque colonne récupérée par EXEC_SQL.Fetch_Rows.

5	Répétez les étapes 3 et 4 jusqu'à ce que le sous-programme EXEC_SQL.Fetch_Rows renvoie la valeur 0.


Exceptions EXEC_SQL prédéfinies

  Rubriques connexes

EXEC_SQL.Invalid_Connection	Un descripteur de connexion incorrect est transmis.
EXEC_SQL.Package_Error	Erreur générale quelconque. Utilisez EXEC_SQL. Last_Error_Code et EXEC_SQL.Last_Error_Mesg pour récupérer l'erreur.
EXEC_SQL.Invalid_Column_Number	La procédure EXEC_SQL.Describe_Column a rencontré un numéro de colonne qui n'existe pas dans les résultats.
EXEC_SQL.Value_Error	EXEC_SQL.Column_Value a rencontré une valeur différente de la valeur d'origine récupérée par EXEC_SQL.Define_Column.


Utilisation du package EXEC_SQL

  Rubriques connexes

Exécution d'instructions SQL arbitraires sur une connexion

Copie de données entre deux bases de données

Exécution d'une procédure stockée dans une base de données non-Oracle et extraction de ses résultats


Exécution d'instructions SQL arbitraires sur une connexion

  Rubriques connexes

La procédure suivante transmet une instruction SQL et une chaîne de connexion facultative au format 'utilisateur[/mot-de-passe][@source-de-données]'. Si une chaîne de connexion est transmise, la procédure exécute l'instruction SQL en utilisant la source de données. Sinon, elle la met en oeuvre pour la connexion Oracle Developer primaire.

PROCEDURE exec (chaîne_sql IN VARCHAR2,   chaîne_connexion IN VARCHAR2 DEFAULT NULL) IS   id_connexion EXEC_SQL.ConnType;   numéro_curseur EXEC_SQL.CursType;   ret           PLS_INTEGER; BEGIN IF chaîne_connexion IS NULL THEN   id_connexion := EXEC_SQL.DEFAULT_CONNECTION; ELSE   id_connexion :=     EXEC_SQL.OPEN_CONNECTION(chaîne_connexion); END IF; numéro_curseur :=    EXEC_SQL.OPEN_CURSOR(id_connexion); EXEC_SQL.PARSE(id_connexion, numéro_curseur, chaîne_sql); ret := EXEC_SQL.EXECUTE(id_connexion, numéro_curseur); EXEC_SQL.CLOSE_CURSOR(id_connexion, numéro_curseur); EXEC_SQL.CLOSE_CONNECTION(id_connexion); EXCEPTION   WHEN EXEC_SQL.PACKAGE_ERROR THEN     TEXT_IO.PUT_LINE('ERREUR (' ||       TO_CHAR(EXEC_SQL.LAST_ERROR_CODE        (id_connexion)) || '): ' ||       EXEC_SQL.LAST_ERROR_MESG(id_connexion));     IF EXEC_SQL.IS_CONNECTED(id_connexion) THEN       IF EXEC_SQL.IS_OPEN(id_connexion,         numéro_curseur) THEN         EXEC_SQL.CLOSE_CURSOR(id_connexion,          numéro_curseur);       END IF;       EXEC_SQL.CLOSE_CONNECTION(id_connexion);     END IF;  END;	-- Etablit une nouvelle connexion. Si la chaîne de connexion est vide, l'utilisateur est supposé vouloir utiliser la connexion Oracle Developer primaire. -- Ouvre un curseur sur la connexion afin d'exécuter l'instruction SQL. -- Analyse l'instruction SQL sur la connexion donnée... --...et l'exécute. S'il s'agit d'une connexion Oracle, toutes les opérations  DDL sont effectuées lors de l'analyse. Par contre, si la connexion est établie avec une source de données non-Oracle, cette exécution n'est pas certaine. -- Ferme le curseur. -- La connexion est alors établie. L'ID de connexion obtenu peut résulter de l'appel du sous-programme EXEC_SQL.OPEN_CONNECTION ou EXEC_SQL.DEFAULT_CONNECTION. Vous devez néanmoins appeler EXEC_SQL.CLOSE_CONNECTION. Si l'ID de connexion est obtenu par EXEC_SQL.OPEN_CONNECTION, EXEC_SQL.CLOSE_CONNECTION met fin à cette connexion. Si l'ID de connexion est obtenu par EXEC_SQL.DEFAULT_CONNECTION, EXEC_SQL.CLOSE_CONNECTION ne met PAS fin à cette connexion, mais libère les ressources propres au package EXEC_SQL. -- Il s'agit de l'erreur générale créée par le package EXEC_SQL. Elle indique une erreur inattendue de l'un des appels. Le numéro et le message d'erreur sont imprimés vers une sortie standard.


Copie de données d'une base de données à une autre

  Rubriques connexes

La procédure suivante n'implique pas explicitement l'utilisation d'instructions SQL dynamiques, mais elle illustre les concepts liés au package EXEC_SQL.

Elle copie les lignes de la table source (connexion source) vers la table de destination (connexion de destination). Les tables source et de destination sont supposées contenir les colonnes suivantes :

ID de type NUMBER
NOM de type VARCHAR2(30)
DATE NAISSANCE de type DATE

PROCEDURE copy (table_source IN VARCHAR2,   table_destination IN VARCHAR2,   connexion_source IN VARCHAR2 DEFAULT NULL,   connexion_destination IN VARCHAR2 DEFAULT NULL) IS   id                 NUMBER;   nom               VARCHAR2(30);   date-naissance          DATE;   idcon_source      EXEC_SQL.ConnType;   idcon_destination EXEC_SQL.ConnType;   curseur_source      EXEC_SQL.CursType;   curseur_destination EXEC_SQL.CursType;   ignore             PLS_INTEGER BEGIN   IF connexion_source IS NULL THEN     idcon_source := EXEC_SQL.DEFAULT_CONNECTION;   ELSE     idcon_source :=        EXEC_SQL.OPEN_CONNECTION(connexion_source);   END IF;   IF connexion_destination IS NULL THEN     idcon_destination := EXEC_SQL.CURR_CONNECTION;   ELSE     idcon_destination :=        EXEC_SQL.OPEN_CONNECTION(connexion_destination);   END IF;   curseur_source := EXEC_SQL.OPEN_CURSOR(idcon_source);   EXEC_SQL.PARSE(idcon_source, curseur_source,     'SELECT id, nom, date-naissance FROM ' || table_source);   EXEC_SQL.DEFINE_COLUMN(idcon_source, curseur_source, 1,      id);   EXEC_SQL.DEFINE_COLUMN(idcon_source, curseur_source, 2,      nom, 30);   EXEC_SQL.DEFINE_COLUMN(idcon_source, curseur_source, 3,      date-naissance);   ignore := EXEC_SQL.EXECUTE(idcon_source, curseur_source);    curseur_destination :=      EXEC_SQL.OPEN_CURSOR(idcon_destination);   EXEC_SQL.PARSE(idcon_destination, curseur_destination,      'INSERT INTO ' || table_destination || '      (id, nom, date-naissance) VALUES (:id, :nom, :date-naissance)');   LOOP     IF EXEC_SQL.FETCH_ROWS(idcon_source, curseur_source) > 0     THEN       EXEC_SQL.COLUMN_VALUE(idcon_source, curseur_source,          1, id);       EXEC_SQL.COLUMN_VALUE(idcon_source, curseur_source,          2, nom);       EXEC_SQL.COLUMN_VALUE(idcon_source, curseur_source,          3, date-naissance);       EXEC_SQL.BIND_VARIABLE(idcon_destination,         curseur_destination, ':id', id);       EXEC_SQL.BIND_VARIABLE(idcon_destination,         curseur_destination, ':nom', nom);       EXEC_SQL.BIND_VARIABLE(idcon_destination,         curseur_destination, ':date-naissance', date-naissance);       ignore := EXEC_SQL.EXECUTE(idcon_destination,         curseur_destination);     ELSE       EXIT;     END IF;   END LOOP;   EXEC_SQL.PARSE(idcon_destination, curseur_destination,      'commit');   ignore := EXEC_SQL.EXECUTE(idcon_destination,     curseur_destination);   EXEC_SQL.CLOSE_CURSOR(idcon_destination,     curseur_destination);   EXEC_SQL.CLOSE_CURSOR(idcon_source, curseur_source);   EXEC_SQL.CLOSE_CONNECTION(idcon_destination);   EXEC_SQL.CLOSE_CONNECTION(idcon_source); EXCEPTION   WHEN EXEC_SQL.PACKAGE_ERROR THEN     IF EXEC_SQL.LAST_ERROR_CODE(idcon_source) != 0 THEN       TEXT_IO.PUT_LINE('ERROR (source: ' ||          TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(idcon_source))         || '): ' ||         EXEC_SQL.LAST_ERROR_MESG(idcon_source));     END IF;     IF EXEC_SQL.LAST_ERROR_CODE(idcon_destination) != 0 THEN       TEXT_IO.PUT_LINE('ERROR (destination: ' ||         TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(idcon_destination))         || '): ' ||         EXEC_SQL.LAST_ERROR_MESG(idcon_destination));     END IF;     IF EXEC_SQL.IS_CONNECTED(idcon_destination) THEN       IF EXEC_SQL.IS_OPEN(idcon_destination,         curseur_destination) THEN         EXEC_SQL.CLOSE_CURSOR(idcon_destination,           curseur_destination);       END IF;       EXEC_SQL.CLOSE_CONNECTION(idcon_destination);     END IF;      IF EXEC_SQL.IS_CONNECTED(idcon_source) THEN       IF EXEC_SQL.IS_OPEN(idcon_source, curseur_source) THEN         EXEC_SQL.CLOSE_CURSOR(idcon_source, curseur_source);       END IF;       EXEC_SQL.CLOSE_CONNECTION(idcon_source);     END IF;  END;	-- Etablit les connexions. Si l'utilisateur n'indique aucune connexion secondaire, la connexion Oracle Developer primaire est établie. -- Prépare le curseur à sélectionner dans la table source. -- Prépare le curseur à insérer dans la table de destination. -- Extrait une ligne de la table source et l'insère dans la table de destination. -- Lit les valeurs des colonnes correspondant à cette ligne. Elles sont stockées sous forme de variables locales.  -- Lie les valeurs au curseur qui est inséré dans la table de destination.  -- Il ne reste plus aucune ligne à copier. -- Valide le curseur de destination... -- ...et ferme tout. -- Il s'agit de l'erreur générale créée par le package EXEC_SQL. Affiche des informations sur l'erreur (numéro et message) dans la connexion source ou de destination. -- Ferme toutes les connexions et les curseurs.


Exécution d'une procédure stockée dans une base de données non-Oracle et extraction des résultats

  Rubriques connexes

La procédure suivante exécute une procédure stockée Microsoft SQL Server qui renvoie des résultats, puis les extrait. La procédure stockée est la suivante :

create proc proc_exemple @id integer as
  select ename from emp where empno = @id

La procédure exécute la procédure stockée sur la connexion Oracle Developer primaire (en admettant qu'il s'agisse d'une connexion SQL Server) et imprime toutes les lignes renvoyées. Il est également supposé que la connexion Oracle Developer primaire est établie avant l'exécution de l'exemple 3 de la procédure. Dans le cas contraire, une erreur se produit.

CREATE PROCEDURE exemple3 (v_id IN NUMBER) IS   v_ename VARCHAR2(20);   v_cur EXEC_SQL.CursType;   v_rows INTEGER; BEGIN   v_cur := EXEC_SQL.OPEN_CURSOR;   EXEC_SQL.PARSE(v_cur, '{ call proc_exemple ( :v_id ) }');   EXEC_SQL.BIND_VARIABLE(v_cur, ':v_id', v_id);   EXEC_SQL.DEFINE_COLUMN(v_curs, 1, v_ename, 20);   v_rows := EXEC_SQL.EXECUTE(v_curs);   WHILE EXEC_SQL.FETCH_ROWS(v_curs) > 0 LOOP     EXEC_SQL.COLUMN_VALUE(v_curs, 1, v_ename);     TEXT_IO.PUT_LINE('Ename = ' || v_ename);   END LOOP;   EXEC_SQL.CLOSE_CURSOR(v_cur);   EXCEPTION     WHEN EXEC_SQL.PACKAGE_ERROR THEN       TEXT_IO.PUT_LINE('ERREUR (' ||         TO_CHAR(EXEC_SQL.LAST_ERROR_CODE)         || '): ' ||         EXEC_SQL.LAST_ERROR_MESG);       EXEC_SQL.CLOSE_CURSOR(v_cur);     WHEN EXEC_SQL.INVALID_CONNECTION THEN       TEXT_IO.PUT_LINE('ERREUR : Vous n'êtes pas connecté          à une base de données'); END exemple3;	-- Lorsqu'aucun descripteur de connexion n'est transmis, EXEC_SQL utilise la connexion Oracle Developer  primaire. -- Pour appeler des procédures stockées en  utilisant des sources de données ODBC, appliquez la syntaxe ODBC, mais en précisant qu'il s'agit de paramètres Oracle. -- L'exception INVALID_CONNECTION se produit s'il n'existe aucune connexion par défaut.


Liste alphabétique des sous-programmes en package

DDE.App_Begin

DDE.App_End

DDE.App_Focus

DDE.DMLERR_Not_Supported

DDE.Execute

DDE.Getformatnum

DDE.Getformatstr

DDE.Initiate

DDE.IsSupported

DDE.Poke

DDE.Request

DDE.Terminate

Debug.Break

Debug.Getx

Debug.Interpret

Debug.Setx

Debug.Suspend

EXEC_SQL.Open_Connection

EXEC_SQL.Curr_Connection

EXEC_SQL.Default_Connection

EXEC_SQL.Open_Cursor

EXEC_SQL.Parse

EXEC_SQL.Describe_Column

EXEC_SQL.Bind_Variable

EXEC_SQL.Define_Column

EXEC_SQL.Execute

EXEC_SQL.Execute_And_Fetch

EXEC_SQL.Fetch_Rows

EXEC_SQL.More_Result_Sets

EXEC_SQL.Column_Value

EXEC_SQL.Variable_Value

EXEC_SQL.Is_Open

EXEC_SQL.Close_Cursor

EXEC_SQL.Is_Connected

EXEC_SQL.Is_OCA_Connection

EXEC_SQL.Close_Connection

EXEC_SQL.Last_Error_Position

EXEC_SQL.Last_Row_Count

EXEC_SQL.Last_SQL_Function_Code

EXEC_SQL.Last_Error_Code

EXEC_SQL.Last_Error_Mesg

List.Appenditem

List.Destroy

List.Deleteitem

List.Fail

List.Getitem

List.Insertitem

List.Listofchar

List.Make

List.Nitems

List.Prependitem

OLE2.Add_Arg

OLE2.Create_Arglist

OLE2.Destroy_Arglist

OLE2.Get_Char_Property

OLE2.Get_Num_Property

OLE2.Get_Obj_Property

OLE2.Invoke

OLE2.Invoke_Num

OLE2.Invoke_Char

OLE2.Invoke_Obj

OLE2.IsSupported

OLE2.List_Type

OLE2.Obj_Type

OLE2.OLE_Not_Supported

OLE2.Release_Obj

OLE2.Set_Property

Ora_FFI.Find_Function

Ora_FFI.Find_Library

Ora_FFI.Funchandletype

Ora_FFI.Generate_Foreign

Ora_FFI.Is_Null_Ptr

Ora_FFI.Libhandletype

Ora_FFI.Load_Library

Ora_FFI.Pointertype

Ora_FFI.Register_Function

Ora_FFI.Register_Parameter

Ora_FFI.Register_Return

Ora_NLS.American

Ora_NLS.American_Date

Ora_NLS.Bad_Attribute

Ora_NLS.Get_Lang_Scalar

Ora_NLS.Get_Lang_Str

Ora_NLS.Linguistic_Collate

Ora_NLS.Linguistic_Specials

Ora_NLS.Modified_Date_Fmt

Ora_NLS.No_Item

Ora_NLS.Not_Found

Ora_NLS.Right_to_Left

Ora_NLS.Simple_CS

Ora_NLS.Single_Byte

Ora_Prof.Bad_Timer

Ora_Prof.Create_Timer

Ora_Prof.Destroy_Timer

Ora_Prof.Elapsed_Time

Ora_Prof.Reset_Timer

Ora_Prof.Start_Timer

Ora_Prof.Stop_Timer

Text_IO.FClose

Text_IO.File_Type

Text_IO.Fopen

Text_IO.Is_Open

Text_IO.Get_Line

Text_IO.New_Line

Text_IO.Put

Text_IO.PutF

Text_IO.Put_Line

Tool_Env.Getvar

Tool_Err.Clear

Tool_Err.Code

Tool_Err.Encode

Tool_Err.Message

Tool_Err.Nerrors

Tool_Err.Pop

Tool_Err.Tool_Error

Tool_Err.Toperror

Tool_Res.Bad_File_Handle

Tool_Res.Buffer_Overflow

Tool_Res.File_Not_Found

Tool_Res.No_Resource

Tool_Res.Rfclose

Tool_Res.Rfhandle

Tool_Res.Rfopen

Tool_Res.Rfread


Il n'y a aucun sous-programme en package commençant par cette lettre.


Il n'y a aucun sous-programme en package OLE2 commençant par cette lettre.


Rubrique d'aide introuvable. Recherchez les rubriques connexes dans l'aide en ligne.


Glossaire

A

    action
    action de débogage
    action définie par l'utilisateur
    action prédéfinie
    ActiveX
    activé
    ADA
    adresse IP (Internet Protocol)
    affichage
    alias
    alignement
    ancêtre
    ancrage
    antécédent
    aperçu
    applet
    application
    arborescence de dépendances
    arborescence de groupe
    architecture client/serveur
    argument
    argument exécutable
    ASCII
    assistant Projet
    attribut
    attribut visuel
    autoriser
    axe continu
    axe de catégorie
    axe de date
    axe de valeurs
    axe discret

 B

    barre de fractionnement
    barre de titre
    barre d'outils
    basculer
    base de données
    base de données distante
    base de données locale
    base de registres
    base de registres globale
    base de registres locale
    base de registres projet
    base de registres utilisateur
    Batch
    bibliothèque
    bibliothèque attachée
    bibliothèque PL/SQL externe
    bloc
    bloc anonyme
    boîte de dialogue
    boîte englobante externe
    boîte englobante interne
    bord
    bordure
    boucle
    bouton
    bouton (...)
    bouton d'option

C

    cache (mémoire cache)
    cadre
    canevas
    caractère générique
    cartouche
    cartourche Web
    case à cocher
    catégorie
    cellule
    cellule de matrice
    CGI
    CGM
    chaîne de connexion
    champ
    champ multiligne
    chiffrement
    cible
    classe de propriétés
    classification
    clause
    clé étrangère
    clé primaire
    client
    CMDFILE
    code de contrôle d'imprimante
    cohérence en lecture
    coller
    colonne
    colonne de formule
    colonne de ventilation
    colonne d'objets
    colonne récapitulative
    colonne REF
    colonne sans cache
    colonnes d'attributs
    commentaire
    compiler
    compiler par lot
    composant
    condition
    connecter (se)
    conteneur OLE
    contrainte
    contrôle VBX
    coordonnées (x, y)
    copier
    corps
    corps de package
    coupe-feu
    couper
    curseur

D

    DATE
    déboguer
    Débogueur
    débordement
    déclencheur
    déclencheur de base de données
    déclencheur de débogage
    déclencheur de format
    déclencheur de ventilation
    désactivé
    descendant
    descendant-ascendant
    descripteur
    Designer
    Designer/2000
    DIANA
    dictionnaire de données
    dimension
    dimension de qualification
    données dépendantes
    données indépendantes
    dupliquer

E

    EBCDIC
    éditeur
    élément
    élément
    élément affiché
    élément d'arrière-plan
    élément de graphique
    élément de premier plan
    élément de projet
    élément d'entrée
    élément graphique
    élément impliqué
    élément liste
    élément texte
    éléments Built-in
    encadrement itératif
    endommager
    enfant
    enregistrement
    environnement
    état de ventilation
    état matriciel
    étendue
    exception
    exécuter
    exporter
    expression

F

    faire glisser
    famille
    fenêtre
    fenêtre modale
    fenêtre sans mode
    fenêtre/vue active
    feuille de style
    feuille de style en cascade
    fichier de liaison
    fichier de projet
    fichier d'exécution
    fichier d'export
    fichier pld
    fichier pll
    fichier pls
    fichier plx
    fichier prt
    fichier rdf
    fichier rep
    fichier rex
    fichier sql
    filtre
    filtre de groupe
    fonction
    fonction de filtre d'interrogation
    fonction en package
    formule
    frère

G

    Generate
    générateur
    générer
    graphique à axes
    graphique de ventilation
    Grille de paramètres d'exécution
    groupe
    groupe ancêtre
    groupe de boutons d'option
    groupe de ventilation
    groupe d'enregistrements
    groupe d'objets
    groupe inter-produit

H

    hériter
    hiérarchie
    hiérarchie des dimensions
    hiérarchiser
    HTML
    HTTP
    hyperlien
    hypertexte

I

    ICD
    icône
    icône de bord/remplissage/texte
    image
    importer
    index
    inscrire
    instruction
    instruction SELECT
    instruction SQL
    interface graphique
    interface Oracle Call Interface
    Internet
    interrogation
    interrogation détail
    interrogation enfant
    interrogation externe
    Intranet

J

    JAR
    Java
    jointure
    justification

K

L

    lancer
    Lanceur
    liaison
    liaison de données
    liaison Web
    libellé
    ligne
    ligne de commande
    ligne de référence
    liste de paramètres
    liste de valeurs
    liste instantanée
    livrer

M

    macro
    macro définie par l'utilisateur
    macro intégrée
    marge
    masque d'attribut
    masque de format
    masqué
    matrice
    matrice imbriquée
    méga-octet (Mo)
    menu détachable
    message d'alerte
    mesure
    mesure personnalisée
    méthode
    mettre à jour
    mode de confinement
    mode flexible
    mode insertion
    mode remplacement
    modèle de champ
    modèle de données
    modèle de graphique
    module
    mot-clé
    motif

N

    Navigateur de projet
    Navigateur d'objet
    navigateur Web
    niveau
    NOCACHE
    noeud
    noeud cible
    noeud de structure de données
    noeud élément
    noeud en-tête
    noeud fichier
    noeud organisation
    noeud projet
    noeud racine
    noeud sous-projet
    nom utilisateur de réserve

O

    objet
    objet aplani
    objet colonne
    objet déstructuré
    objet englobant
    objet ligne
    objet standard
    objets de niveau état
    ODBC
    OLE
    opérateur relationnel
    opérateurs de comparaison
    opérateurs logiques
    opérateurs numériques
    Oracle Designer
    ORACLE_HOME
    origine
    outil
    outil Attribut
    outil Correspondance
    outil Exception
    outil Famille
    outil Haut/Bas
    outil Liste
    outil Niveau
    outil Période
    outil Sélecteur
    outil Sélection enregistrée
    outil Tout
    outil Tri

P

    package
    page
    page de fin
    page de garde
    page logique
    page physique
    page titre
    palette
    palette de couleurs
    palette d'outils
    panneau
    paramètre
    parent
    Pcode
    PDF
    pile
    pile d'appels
    PL/SQL
    plan de coordonnées
    point d'ancrage
    point de contrôle
    point d'insertion
    point d'interruption
    pointeur d'objet
    port
    préférence
    présentation
    présentation de type étiquette de publipostage
    présentation de type formulaire
    présentation de type formulaire-lettre
    présentation de type matrice
    présentation maître-détails
    Presse-papiers
    primitif
    procédure
    procédure bouton
    processus d'arrière-plan
    projet
    propriété
    protocole

Q

    quadrillages
    quitter

R

    racine
    RC4
    RDBMS
    rectangle de délimitation
    référence de lien
    référence lexicale
    régénérer
    regroupement/agrégation
    répertoire virtuel
    Report Server (RWMTS60)
    Reports Background Engine (RWRBE60)
    Reports Queue Manager (RWRQM60)
    Reports Web Cartridge (RWCGI60)
    Reports Web CGI (RWCGI60)
    RTF
    Runtime
    RVB

S

    saut de page
    schéma
    script
    script de l'interpréteur
    script de sélection
    script SQL
    section
    Sélecteur
    sélection
    sélection dynamique enregistrée
    sélection enregistrée
    sélection statique enregistrée
    serveur OLE
    serveur Web
    session
    simultanéité d'accès
    socket
    sortie utilisateur
    source
    source de données
    sous-interrogation associée
    sous-programme
    sous-programme stocké
    sous-projet
    spécification
    spécification de package
    SQL
    structure de code PL/SQL
    structure de code PL/SQL avec valeur
    SYLK
    syntaxe
    système de coordonnées
    système de fichiers virtuel

T

    table
    table d'objets
    tabulaire
    tampon
    TCP
    total de contrôle
    transaction
    type
    type de collecte
    type de données
    type de données Built-in
    type de données CHAR
    type de données Oracle
    type de table
    type de tableau variable
    type de tracé
    type défini par l'utilisateur
    type d'élément
    type d'objet
    type prédéfini

U

    unité de présentation
    unité de programme
    unité de programme stockée
    URL

V

    valeur d'attribut
    valeur de dimension
    valeur ligne de base
    valeur NA
    valeur NULL
    valeur par défaut
    valider (COMMIT)
    variable
    variable de lien
    variable globale
    variable locale
    variable système
    VBX
    Visualiseur
    volet
    vue
    vue de dépendances
    vue de projet
    vue-canevas

W

 Web
    WKS
    WRB
    WWW

X

    XML
    XML au format correct
    XML valide

Y

Z

    zone contextuelle
    zone de liste
    zone de message
    zone de remplissage
    zoom


Dans Project Builder, chaîne de commande fournie par Project Builder ou par l'utilisateur, et s'appliquant à des fichiers d'un type donné. Une action n'est pas restreinte à un seul type de fichier ; par exemple, si l'action Compiler est définie à la fois pour les fichiers d'application Forms et les fichiers source C, la sélection de Compiler le projet compile tous les fichiers fmb et .c à l'aide des outils appropriés. Voir aussi : action prédéfinie, action définie par l'utilisateur.


Langage de programmation de haut niveau élaboré par le Département de la défense américaine pour les systèmes informatiques intégrés.


Fenêtre ou vue dans laquelle l'utilisateur peut entrer des données.


(Oracle Express) Regroupement (ou agrégation) de données de plusieurs valeurs de dimension en une seule valeur, comme le total des unités vendues dans toutes les villes, ou en un ensemble de valeurs plus restreint, comme la moyenne des unités vendues dans les villes de chaque région. Les données sont souvent collectées au niveau de détails le plus bas, puis regroupées en totaux de niveaux supérieurs pour l'analyse.


Fenêtre modale qui vous signale une condition survenue à la suite de votre dernière action. Vous devez répondre à un message d'alerte.


Façon dont des données sont positionnées dans un champ : alignement ou justification à gauche, à droite et au centre d'un champ d'une largeur déterminée.


Nom secondaire utilisé dans une instruction SQL pour référencer une table, une vue ou une colonne.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant de sélectionner toutes les valeurs d'une dimension ou toutes les valeurs d'une dimension correspondant à une hiérarchie donnée.


(Oracle Express) Valeur de dimension située au-dessus d'une valeur donnée dans la hiérarchie. La valeur ancêtre correspond à la somme globale des valeurs de ses descendants. L'exemple suivant désigne la valeur de dimension Europe comme l'ancêtre de France, de Lyon et de Paris dans la dimension GEOGRAPHY.


Groupe possédant un autre groupe, directement ou indirectement.


Objet de présentation servant à fixer un point d'un objet sur un point d'un autre objet, ce qui permet de positionner le premier objet par rapport au second.


(Oracle Express) Valeur de dimension particulière utilisée lors de la sélection de valeurs de dimension en fonction de leur relation familiale ou lors de l'exploration d'une hiérarchie.


Unité de programme PL/SQL sans nom ne nécessitant pas la présence explicite des mots-clés BEGIN et END pour délimiter les instructions exécutables. N'ayant pas de nom, les blocs anonymes ne peuvent être référencés par d'autres unités de programme.


Objet apparaissant n'importe où au-dessus d'un autre objet dans l'arborescence de groupe de cet objet. Tout objet est l'antécédent de ses descendants.


Terme Java qui désigne de petits programmes pouvant, au besoin, être importés de manière dynamique dans des pages Web ou des applications.


Un ou plusieurs modules de programme servant à atteindre un résultat donné. Les applications peuvent être imbriquées les unes dans les autres. Par exemple, une application de gestion des stocks d'une entreprise peut comprendre diverses applications Form Builder pour la saisie des données et diverses applications Graphic Builder pour l'affichage des données.


1. Expression facultative transmise à une unité de programme pour que celle-ci la traite.
2. Clauses contenant des mots-clés et leurs valeurs.


Acronyme d'American National Standard Code for Information Interchange.


Ensemble de sous-programmes PL/SQL en lecture seule, généralement intégré à une application pour fournir les sources PL/SQL nécessaires. Les unités de programme figurant dans une bibliothèque attachée sont implicitement chargées lors de leur premier appel par une autre unité de programme au moment de la compilation ou de l'exécution. Elles restent chargées, ce qui permet leur utilisation rapide et réduit les exigences en mémoire lors de l'exécution, tout en améliorant les performances de l'application. Voir aussi : bibliothèque.


1. Voir propriété.
2. Partie ou composant d'une définition de type d'objet Oracle8. Chaque attribut dispose d'un nom et d'un type de données Oracle8. Lorsque vous créez une table d'objets sur la base d'un type d'objet, les colonnes de la table correspondent aux attributs de la définition du type d'objet. Lorsque vous créez un objet colonne d'après le type d'objet dans une table relationnelle, cet objet contient des éléments qui équivalent à des sous-colonnes, chacune d'entre elles correspondant à un attribut de la définition du type d'objet. Dans Oracle Developer, chaque attribut d'objet Oracle8 appartenant à une table est considéré comme un élément de données distinct, comme s'il s'agissait d'une colonne distincte. Cela s'applique aux objets de table et de colonne des tables relationnelles.
3. (Oracle Express) Caractéristique descriptive partagée par les valeurs d'une dimension. Les attributs correspondent à des regroupements logiques qui permettent aux utilisateurs de sélectionner des données de caractéristiques similaires. Par exemple, dans une base de données sur les chaussures, vous pouvez utiliser un attribut de couleur de chaussure pour sélectionner toutes les bottes, tennis ou pantoufles de couleur identique.


Colonnes qui composent un objet colonne (Oracle8).


Dans Graphic Builder, premier élément d'un descripteur d'attribut. Il s'agit d'un masque de 32 bits qui informe la boîte à outils des attributs qui seront définis ou extraits par un appel de fonction ultérieur. Seuls les éléments pour lesquels les bits correspondants sont définis dans le masque d'attribut seront définis ou extraits.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant de sélectionner des valeurs de dimension en fonction d'attributs et de valeurs d'attributs. Par exemple, dans une base de données sur les boissons non alcoolisées, vous pouvez sélectionner tous les produits d'un litre. Dans cet exemple, la taille est un attribut et 1 litre est une valeur d'attribut.


(Oracle Express) Valeurs d'un attribut dans une base de données. Par exemple, dans une base de données sur les glaces, les valeurs d'attributs suivantes peuvent appartenir à l'attribut parfum de la dimension Product : vanille, chocolat et fraise. Des valeurs de dimension de différents niveaux dans la dimension Product (marque, forme et taille, par exemple) peuvent avoir une valeur de parfum identique.


Graphique dans lequel les données sont tracées selon leur position sur les bords du graphique, appelés axes. Un graphique à axes peut contenir deux ou trois axes, chacun appartenant à l'un des types suivants : discret, continu ou date.


Partie blanche d'un motif. L'application d'une couleur à l'élément d'arrière-plan se fait à l'aide la palette de couleurs de remplissage.


Processus non interactif fonctionnant dans un environnement de système d'exploitation et effectuant un service ou des actions. Certains produits Oracle utilisent des processus d'arrière-plan, notamment pour effectuer et coordonner des tâches pour les utilisateurs de la base de données, pour traiter et acheminer les messages électroniques, et pour gérer les services d'impression.


Valeur utilisée comme point de départ pour tracer des champs sur l'axe continu d'un graphique.


Exécutable permettant d'exécuter une application en mode de traitement par lots sans utiliser de fenêtres.


Traduire en une fois plusieurs unités de programme PL/SQL afin de pouvoir les exécuter.


Référence à un paramètre utilisée pour remplacer une valeur littérale unique (chaîne de caractères, nombre ou date, par exemple) qui apparaît n'importe où dans un élément PL/SQL ou dans une instruction SQL SELECT. Pour définir une référence de lien, vous devez faire précéder le nom du paramètre par le signe deux-points (:).


Variable globale pouvant être créée et utilisée à l'extérieur d'un package PL/SQL.


1. Dans PL/SQL, unité de programme de base définie par les mots-clés DECLARE, BEGIN, EXCEPTION et END.
2. Dans Form Builder, conteneur logique se rapportant à une table ou à une vue de base de données.


1. Contient les mêmes informations que la spécification d'unité de programme et comprend également la mise en oeuvre effective du sous-programme (c'est-à-dire sa séquence d'actions). Dans la plupart des cas, seul un corps doit être défini pour un programme.
2. Dans Report Builder, partie contenant la présentation de l'état (texte, graphiques, données et calculs). Le corps de l'état figure entre la page de garde et la page de fin.


Texte et/ou graphiques apparaissant dans un état à chaque exécution. Egalement appelé dans certains produits « texte constant » ou « graphiques constants ».


Contour d'un objet de présentation défini par l'utilisateur et servant généralement à mettre celui-ci en évidence. Les bordures sont dessinées de sorte que la moitié de la largeur de la bordure soit à l'extérieur du bord de l'objet et l'autre moitié à l'intérieur.


Voir boîte englobante interne, boîte englobante externe.


Graphique à axes affichant deux catégories de données le long d'un même axe.


Colonne d'interrogation attribuée à un groupe de ventilation.


Groupe servant à ventiler des données d'état ou à les classer par catégories. Toutes les données des colonnes d'interrogation attribuées à un groupe de ventilation apparaissent au-dessus des données des colonnes appartenant à d'autres groupes. Chacun des enregistrements extraits pour un groupe de ventilation n'apparaît qu'une seule fois, tandis que plusieurs enregistrements associés dans d'autres groupes peuvent être affichés.


Etat contenant des catégories qui ventilent les données de l'état.


Bloc PL/SQL qui est exécuté chaque fois qu'un point d'interruption est atteint. Voir aussi : point d'interruption.


Action de débogage pouvant être insérée sur toute ligne source exécutable au sein d'un sous-programme PL/SQL, qui interrompt l'exécution de l'unité de programme pour donner le contrôle à l'Interpréteur PL/SQL. Les points d'interruption permettent d'exécuter un sous-programme en mode pas à pas et de rechercher les erreurs d'exécution. Voir aussi : déclencheur de ventilation.


Composant d'Oracle Developer servant à créer un type particulier de document ; par exemple, Form Builder sert à créer des applications Forms et Report Builder, des états.


Type de données défini et pris en charge par Oracle Server.


Ensemble d'extensions du langage PL/SQL, conçu pour être utilisé avec Oracle Developer. Les éléments Built-in (procédures internes) comprennent les types de données, les procédures, les fonctions, les exceptions et les constantes.


Dans Project Builder, macro livrée avec le produit. Voir aussi : macro.


Zone de mémoire temporaire servant au transfert de données entre l'ordinateur et un périphérique, ou entre des parties d'un ordinateur. Un tampon évite que des informations ne se perdent à cause de vitesses et de synchronisations de transfert différentes, et accélère certaines fonctions.


1. Elément d'interface servant à sélectionner une action, à afficher une boîte de dialogue ou à accuser réception de la condition en cours.
2. Objet d'une application auquel est associée une procédure PL/SQL. La procédure est généralement exécutée lorsque l'utilisateur clique à l'aide de la souris.


Procédure PL/SQL associée à un objet application et s'exécutant lorsqu'un événement de souris particulier se produit sur un élément à l'exécution (clic sur un bouton, par exemple). La procédure se déclenche en établissant une hiérarchie des données extraites contenant un groupe de ventilation.


Zone de mémoire temporaire pour les données d'une base auxquelles les utilisateurs accèdent ou qu'ils modifient, ou pour les données dont Oracle Server a besoin pour prendre en charge les utilisateurs. Les termes « cache » et « mémoire cache » sont utilisés indifféremment.


Interface permettant d'appeler les exécutables d'Oracle Developer à partir d'autres produits Oracle ou d'un programme en langage de troisième génération.


Chaîne d'appels de sous-programme, du point d'entrée initial jusqu'au sous-programme en cours d'exécution. Chaque appel de sous-programme est représenté par un cadre sur la pile d'appels descendante-ascendante dans laquelle les sous-programmes nouvellement entrés sont ajoutés en bas.


  Voir éditeur.


Dans Form Builder, objet d'arrière-plan sur lequel vous placez les objets d'interface dont les utilisateurs vont se servir dans l'application à l'exécution. Une vue-canevas est généralement associée à une fenêtre.


Objets manipulables connectés au client, au serveur d'application ou à la base de données via une API ouverte.


Voir feuille de style.


Libellé servant à différencier des informations par une représentation non hiérarchique ou par subdivisions, plutôt que par des niveaux de sensibilité. La classification permet de restreindre l'accès aux informations.


Voir axe discret.


Instance de données dans un tableur (par exemple, Microsoft Excel).


Acronyme de Common Gateway Interface. Standard de l'industrie servant à exécuter des applications sur un serveur Web. Alors que les documents HTML standard extraits d'un serveur Web sont statiques (le même texte est extrait chaque fois), CGI permet à un programme fonctionnant sur le serveur Web de communiquer avec un autre ordinateur pour générer des documents HTML « dynamiques » en réponse à des informations saisies par l'utilisateur.


Acronyme de Computer Graphics Metafile. Format de fichier reconnu internationalement, servant à stocker et à transférer des graphiques orientés objet d'un système ou d'un programme à un autre.


Type de données Oracle assurant la compatibilité ANSI/ISO. Une colonne de type CHAR a une longueur fixe et peut contenir tout caractère imprimable, comme A, 3, & ou des espaces. Elle peut comprendre de 1 à 255 caractères, ou avoir la valeur Null.


Barre, ligne, symbole ou autre objet graphique représentant une valeur unique pour un champ.


Rectangle de n'importe quelle taille et servant à intégrer les graphiques de Graphic Builder dans une application Forms ou dans un état.


Ensemble d'attributs et de propriétés définissant le format d'un graphique.


Elément d'interface apparaissant sous forme de petit carré, et pouvant être activé ou désactivé.


Algorithme de contrôle d'erreurs.


1. Objet membre d'un groupe, situé immédiatement au-dessous de l'objet groupe dans son arborescence de groupe. Les objets qui composent un groupe sont les enfants de ce groupe. Tout objet est l'enfant de son parent.
2. (Oracle Express) Valeur de dimension, de niveau immédiatement inférieur à celui d'une valeur donnée dans une hiérarchie. Les valeurs enfant servent à calculer la somme globale à l'origine de la valeur parent. Une valeur de dimension peut être enfant de plusieurs parents si la dimension dispose de plusieurs hiérarchies. L'exemple suivant désigne les valeurs de dimension Lyon et Paris comme enfants de France dans la dimension GEOGRAPHY.


Voir interrogation détail.


Niveau hiérarchique indiquant la sensibilité des informations libellées. La classification sert à restreindre l'accès aux informations.


Partie d'une instruction SQL, qui ne constitue pas l'intégralité de l'instruction ; une « clause WHERE », par exemple.


Utilisateur, application logicielle ou ordinateur demandant des services, des données ou l'exécution d'un programme à une autre application ou à un autre ordinateur (le serveur). Dans un environnement client-serveur, le client est le processus utilisateur. Dans un environnement réseau, le client est le processus utilisateur local, et le serveur peut être local ou distant.


Séparation du traitement entre deux unités centrales. La première agit en tant que serveur : elle fournit des services, et le client (l'autre unité centrale) demande et reçoit ces services. Toutes les opérations de gestion de données partagées peuvent être traitées par l'ordinateur qui exécute le système de gestion de bases de données, tandis que les postes de travail sur lesquels fonctionne l'application de base de données interprètent et affichent les données.


Mémoire tampon. Un objet reste dans le Presse-papiers jusqu'à ce que l'utilisateur coupe ou copie un autre objet, ou quitte l'application.


Type de données défini par l'utilisateur, décrivant une unité de données constituée d'un nombre indéterminé d'éléments dont le type de données est identique. Les types de tableau variable et les types de table sont des types de collecte. (Oracle8)


Argument permettant d'indiquer un fichier qui contient un ensemble d'arguments de ligne de commande pour les exécutables Oracle Developer.


Contient toutes les couleurs disponibles pour le système de fenêtres, pour la surface de dessin, ou pour une fenêtre et ses vues.


1. Espace vertical dans une table de base de données, représentant un domaine de données particulier. Une colonne possède un nom (ENAME, par exemple) et un type de données propre (CHAR, par exemple). Dans une table d'informations sur le personnel, par exemple, les noms des employés peuvent constituer une colonne. Une colonne de groupe d'enregistrements représente une colonne de base de données.
2. Dans Report Builder, objet modèle de données créé automatiquement pour chaque expression de colonne dans la liste SELECT d'une interrogation, ou créé manuellement pour exécuter des récapitulatifs et des formules, ou tenir lieu de marque de réservation.


Dans une table relationnelle ou une table d'objets Oracle8, colonne dont la définition dépend d'un type d'objet. La colonne est une colonne composite et ses différentes parties correspondent aux attributs du type d'objet.


Ligne de commande du système d'exploitation. La plupart des produits Oracle peuvent être appelés à partir d'une ligne de commande à l'aide d'un certain nombre d'arguments exécutables.


Elément de langage permettant d'insérer un ensemble d'explications dans un programme sans affecter l'exécution de ce programme.


Modifier de façon permanente les données de la base de données. Avant que les modifications ne soient stockées, les anciennes données et les nouvelles cohabitent, ce qui vous permet de stocker les modifications ou de restaurer les données antérieures.


(Oracle Express)

>	Supérieur à

<	Inférieur à

=	Egal à

<=	Inférieur ou égal à

>=	Supérieur ou égal à

<>	Différent de

Pour les nombres, les opérandes sont arrondis au type le moins courant (Integer est prioritaire sur Long, lui-même prioritaire sur Single, qui est prioritaire sur Double). Pour les chaînes, la comparaison distingue les majuscules des minuscules et dépend de la séquence lexicographique utilisée dans la langue indiquée dans le Panneau de configuration de Windows. Le résultat est 0 pour FALSE et -1 pour TRUE.


Traduire un programme source vers un format binaire exécutable. Les unités de programme PL/SQL doivent être compilées avant de pouvoir être exécutées.


Objet cible particulier faisant partie d'une application plus vaste : un formulaire dans un système de saisie de commandes ou une bibliothèque partagée entre de nombreux autres éléments, par exemple. Voir aussi : cible.


Accès simultané aux mêmes données par plusieurs utilisateurs exécutant des applications de base de données différentes ou identiques. Dans un logiciel de base de données, la simultanéité d'accès nécessite une logique supplémentaire pour que les utilisateurs puissent se servir de données homogènes et que toutes les modifications soient effectuées dans le bon ordre.


Expression pouvant prendre deux valeurs, vrai ou faux, comme X> 100. Vous pouvez, par exemple, définir une condition dans une interrogation pour que l'interrogation n'affiche que les lignes dont la valeur est Vrai dans votre expression.


Mode de l'Editeur de présentation empêchant les objets enfants d'être déplacés ou redimensionnés à l'intérieur ou à l'extérieur de leurs objets parents.


Accéder à une base de données. Vous devez vous connecter pour créer ou modifier des interrogations, ou pour accéder à une application stockée dans une base de données.


Ensemble de paramètres, notamment un protocole, utilisés par SQL*Net pour établir la connexion à une instance Oracle particulière sur le réseau.


Règle ou restriction concernant une donnée (telle que la restriction NOT NULL sur une colonne) appliquée au niveau de la base de données, au lieu du niveau de l'objet ou de l'application.


Structure de code PL/SQL. Il existe deux types de structure : la structure sans valeur qui ne renvoie pas de valeur et la structure avec valeur qui en renvoie une.


Zone de travail dans laquelle Oracle Server stocke l'instruction SQL en cours et, s'il s'agit d'une interrogation, les en-têtes de colonne de résultat et une ligne du résultat. Egalement appelé curseur.


Axe matérialisant des valeurs de début et de fin. Ces valeurs sont ainsi mathématiquement liées. Les données dépendantes sont généralement tracées le long de cet axe, également appelé axe de valeurs.


Chacun des quatre angles du rectangle virtuel constituant la forme idéale d'un objet. Lorsque vous sélectionnez un objet dans la présentation, ses points de contrôle s'affichent. Vous pouvez, selon l'objet sélectionné, modifier ce dernier en faisant glisser l'un de ses points de contrôle.


Grille bidimensionnelle sur laquelle l'utilisateur dessine.


Système de référence (abscisse et ordonnée) servant à déterminer la position et la taille des objets dans l'Editeur de présentation. Deux systèmes de coordonnées sont disponibles : 1) le système de type caractère, qui utilise la taille de cellule de caractère natif de la plate-forme et 2) le système de type réel, pouvant être exprimé en pixels, en centimètres, en pouces ou en points.


Valeurs définissant la position des objets dans une présentation. Les coordonnées x et y déterminent la position horizontale (x) et verticale (y) des objets.


Reproduire dans le Presse-papiers un objet sélectionné afin de le coller éventuellement à un autre emplacement d'un éditeur.


Sous-interrogation basée sur les mêmes tables que l'interrogation parent (c'est-à-dire faisant référence aux colonnes des tables comprises dans son interrogation parent).


Groupe propriétaire d'au moins deux autres groupes, qui calcule la corrélation entre les produits.


Voir cellule de matrice.


1. Petite icône matérialisant la position de la souris. La forme du curseur varie en fonction de l'outil sélectionné.
2. Pointeur interne vers les données extraites par une interrogation. Un curseur pointe vers une seule ligne de données à la fois ; vous pouvez toutefois utiliser des sous-programmes intégrés pour placer le curseur sur n'importe quelle ligne de l'ensemble de données.


(Oracle Express) Formule créée par un utilisateur, permettant d'affiner l'analyse des données. Vous pouvez créer des mesures personnalisées à l'aide des mesures standard de la base de données. Par exemple, si la base de données contient la mesure Volume Share, vous pouvez l'utiliser pour créer une mesure personnalisée appelée Volume Share Year Ago. Cette mesure vous permet de visualiser la part absolue d'un produit pour l'année précédente.


Supprimer un ou plusieurs objets et les stocker dans le Presse-papiers afin de les coller éventuellement à un autre emplacement d'un éditeur.


Une vue est endommagée lorsqu'elle est totalement ou partiellement masquée par une autre.


Ensemble de tables et de vues appartenant à l'administrateur de bases de données. Le dictionnaire de données est une source d'informations centrale pour Oracle Server et d'autres bases de données relationnelles.


Objet modèle de données servant à définir une relation maître-détail (parent-enfant) entre un groupe et une interrogation.


Modèle relationnel définissant les données à extraire de la base de données, les valeurs à calculer et le mode de classement de données à utiliser dans un état. Les interrogations, les groupes, les colonnes, les paramètres et les liens sont les objets de Report Builder qui définissent le modèle de données.


Source pour les données renvoyées par une interrogation, y compris les objets de base de données tels que les tables, les vues, les synonymes, les clichés et les interrogations stockées sous forme de vues.


Dans Project Builder, noeud du Navigateur de projet indiquant un élément de projet qui gère la structure d'un projet ouvert. Le noeud Base de registres globale, par exemple, indique la base de registres globale, qui contient la liste des registres locaux et la liste des définitions de type global.


Ensemble de tables dictionnaire et de tables utilisateur traité comme une unité.


Bloc PL/SQL stocké, implicitement exécuté lorsqu'une instruction déclencheur INSERT, UPDATE ou DELETE est émise sur la table associée dans la base de données. Voir aussi : déclencheur de débogage.


Type standard de données. Les types de données Oracle sont CHAR, VARCHAR2, DATE, NUMBER, LONG, RAW et LONG RAW.


Type de données Oracle Server. Une colonne date peut contenir une date et une heure, comprises entre le 1er janvier 4712 avant Jésus-Christ et le 31 décembre 4712 après Jésus-Christ.


Axe matérialisant des valeurs de date de début et de fin.


Détecter, diagnostiquer et éliminer les erreurs d'exécution dans les programmes.


Dans un sous-programme PL/SQL, événement défini par l'utilisateur et servant à éliminer les erreurs d'exécution.


Action de débogage conditionnelle pouvant être placée dans n'importe quelle ligne source exécutable d'un sous-programme PL/SQL. Si la condition indiquée est remplie, l'action associée est déclenchée avant la reprise de l'exécution du sous-programme. Voir aussi : déclencheur de base de données.


Fonctionnalité Procedure Builder intégrée à Oracle Developer, et utilisée à des fins de test et de débogage.


Dans Oracle8, les types d'objet et les objets sont composés ; ils contiennent des parties ou attributs. Oracle Developer traite chaque partie/attribut comme un élément de données indépendant pouvant être sélectionné de manière individuelle. Ce traitement produit un objet déstructuré (parfois appelé objet aplani). L'objet n'est pas une entité homogène dans l'environnement Oracle Developer.


Données dont la valeur dépend de celles d'autres données. L'ancienneté d'un employé, par exemple, peut avoir la valeur 10, qui dépend de la valeur du nom de l'employé. Egalement appelé données de type valeur.


Valeur fournie par le système si l'utilisateur n'indique pas de valeur pour un paramètre ou un attribut de commande obligatoire.


Préparer une application afin d'obtenir une application terminée, prête à être distribuée et déployée.


Mécanisme utilisé par Project Builder pour déterminer la façon de compiler les fichiers qui sont référencés dans les projets. Les éléments situés dans la partie supérieure gauche de l'arborescence dépendent des éléments situés dans la partie inférieure droite ; ainsi, par exemple, si un fichier d'en-tête est obsolète ou si sa date est postérieure à celle du fichier exécutable que ce fichier d'en-tête sert à générer, Project Builder régénère le fichier exécutable selon une commande Build. Les dépendances s'appliquent également aux sous-projets. Si, par exemple, un sous-projet de fonctions de bibliothèque a été régénéré, Project Builder « sait » que le projet dépendant devra être régénéré pour que les fonctions de bibliothèque mises à jour puissent être utilisées. Voir aussi : vue de dépendances.


Dans Project Builder, affiche des fichiers dans le Navigateur de projet, dans leur ordre de dépendance respectif avec des noeuds de projet au sommet de la hiérarchie, suivis par des noeuds cible, eux-mêmes suivis par des composants pouvant être générés à partir de ces cibles. Par exemple, un formulaire exécutable sera suivi du fichier .fmb qui en dépend, lui-même suivi de la bibliothèque utilisée pour une procédure USEREXIT, etc. Voir aussi : affichage de projet, cible.


1. Objet qui, dans l'arborescence de groupe d'un autre objet, apparaît au-dessous de cet objet. Tout objet est le descendant de ses antécédents.
2. (Oracle Express) Valeur de dimension de niveau inférieur à celui d'une valeur donnée dans une hiérarchie. Les valeurs des descendants servent à calculer la somme globale d'un ancêtre. L'exemple suivant désigne les valeurs de dimension France, Lyon et Paris comme les descendants d'Europe dans la dimension GEOGRAPHY.


Interface utilisée pour concevoir les différents composants d'une application Oracle Developer.


Voir Oracle Designer


Ensemble d'outils de modélisation, de conception et de génération d'applications. Oracle Designer vous permet de générer des applications Forms et des menus depuis des définitions de module enregistrées dans le référentiel Oracle.


Au cours de la définition d'un état maître-détail, l'interrogation détail extrait tous les enregistrements associés pour chacun des enregistrements extrait par l'interrogation maîtresse ou parent.


Fenêtre ou écran partiel dans lequel vous devez entrer des informations pour compléter une opération.


Représentation intermédiaire d'une unité de programme générée par le compilateur. La représentation DIANA comprend toutes les informations syntaxiques et sémantiques d'une unité de programme compilée. Afin de compiler une référence à une unité de programme, le compilateur doit pouvoir accéder à la représentation DIANA de l'unité de programme référencée. Si, par exemple, l'unité de programme A appelle l'unité de programme B, la représentation DIANA pour B doit être disponible avant que A ne puisse être compilée.


(Oracle Express) Type d'objet de base de données qui répertorie les valeurs correspondant à des catégories de données. Une dimension joue le rôle d'index dans l'identification des valeurs d'une variable. Par exemple, si vous possédez des données de vente avec une valeur différente par mois, ce type de données a une dimension MONTH : les données sont organisées par mois. Une dimension peut être assimilée à la clé d'une base de données relationnelle.

Tout élément de données d'une variable multidimensionnelle peut être sélectionné dans sa totalité de manière individuelle par indication d'un membre de chacune des dimensions de la variable. Par exemple, si une variable ventes comporte les dimensions MONTH, PRODUCT et MARKET, et que vous indiquiez Janvier pour la dimension MONTH, Stéréos pour la dimension PRODUCT et Est pour la dimension MARKET, vous désignez une cellule unique de la variable. Ainsi, les dimensions permettent d'organiser des données, et de les sélectionner rapidement et intuitivement afin de les extraire, de les mettre à jour et d'effectuer des calculs.

Une dimension peut être simple (valeurs de texte simple ou valeurs entières) ou associée (valeurs correspondant à des combinaisons de valeurs d'autres dimensions). Un composite n'est pas une dimension, mais un objet interne de type associé, considéré comme une dimension par Express pour la gestion des données rares.


(Oracle Express) Elément de la liste constituant une dimension. Par exemple, une société d'informatique peut disposer des valeurs de dimension LAPPC et DESKPC dans la dimension PRODUCT. Les valeurs de la dimension GEOGRAPHY peuvent comprendre Boston et Paris. Les valeurs de la dimension TIME peuvent inclure MAI96 et JAN97.


Etat d'un élément d'interface (option de menu ou bouton, par exemple) indiquant que ce dernier ne peut pas être utilisé dans le contexte actuel ; il ne réagit pas aux sollicitations du clavier ou de la souris.


Axe matérialisant des valeurs distinctes à intervalles fixes. Ces valeurs ne sont pas mathématiquement liées. Les données indépendantes sont généralement tracées le long de cet axe, également appelé axe de catégorie.


Document Graphic Builder contenant indifféremment des graphiques, des images, des objets texte et des formes.


Dans Form Builder, élément stockant ou affichant des informations qui doivent être extraites ou attribuées par programme avec PL/SQL.


Dans une pile d'appels, principe selon lequel les nouveaux sous-programmes entrés sont ajoutés au bas de la pile. Le premier cadre, correspondant au point d'entrée du programme initial, se trouve en haut de la pile, alors que le dernier cadre, associé à l'appel de sous-programme le plus profondément imbriqué, se trouve au bas de la pile.


Appuyer sur un bouton de la souris et le maintenir enfoncé tout en faisant glisser le curseur jusqu'à un endroit particulier d'une fenêtre.


(Oracle Express) Parcourir les différents niveaux de regroupement d'une dimension hiérarchisée. Lorsque vous sélectionnez des valeurs de dimension ou que vous visualisez des données, vous pouvez développer ou réduire la hiérarchie d'une dimension en la hiérarchisant vers le bas ou vers le haut. La hiérarchisation vers le bas développe la vue en incluant les valeurs enfants associées aux valeurs parents dans la hiérarchie de la dimension. La hiérarchisation vers le haut réduit la liste des valeurs descendantes associées à une valeur parent dans la hiérarchie de la dimension.

Vous pouvez cliquer sur l'icône représentant le signe plus ( [image]) pour effectuer une hiérarchisation vers le bas (développement) ou sur l'icône représentant le signe moins ( [image]) pour effectuer une hiérarchisation vers le haut (réduction).

Dans le Sélecteur, vous pouvez cliquer sur l'icône de hiérarchisation ( [image]) pour afficher la boîte de dialogue de hiérarchisation vers le bas afin de sélectionner un niveau de détails pour toute la dimension.


Option permettant de copier des objets directement dans la présentation, sans modifier le contenu du Presse-papiers.


(Oracle Express) Sélection enregistrée qui peut prendre différentes valeurs de dimension à chaque évaluation. Les valeurs de dimension sélectionnées peuvent varier d'une utilisation à l'autre. A l'inverse, une sélection statique enregistrée est une liste invariable de valeurs de dimension. Un script de sélection dynamique enregistrée peut comprendre « Sélectionnez les trois derniers mois », alors que le script d'une sélection statique enregistrée peut contenir « Sélectionnez février 1996, mars 1996 et avril 1996 ».


Acronyme d'Extended Binary-Coded Decimal Interchange Code.


Limite d'un objet.


Icône de la palette d'outils de l'Editeur de présentation, indiquant les paramètres en cours pour les motifs et les couleurs de bord, de remplissage et de texte.


Zone de travail dans laquelle vous effectuez un certain nombre de tâches, comme créer une unité de programme ou concevoir une application.


Notion pour laquelle vous pouvez avoir à enregistrer des informations. Les éléments sont décrits à l'aide d'attributs et d'associations à d'autres éléments.


Tout élément contenu dans le dictionnaire est classé selon le type auquel il appartient. Exemples de type d'élément : entité, attribut, module de programme, table, diagramme, texte, zone, etc. Leurs occurrences ou leurs instances sont appelées éléments.


(Oracle Express) Affiche une boîte de dialogue en rapport avec la tâche en cours, en général pour permettre la sélection d'une ou de plusieurs valeurs requises.


Etat d'un élément d'interface (option de menu ou bouton, par exemple) indiquant que ce dernier peut être utilisé dans le contexte actuel, et réagit aux sollicitations du clavier ou de la souris.


Objet qui en contient un autre. Un objet est considéré comme inclus dans un autre seulement si toutes les conditions suivantes sont respectées : les deux objets appartiennent à la même zone (corps, marge, page de garde ou page de fin), l'objet situé le plus à l'extérieur est un cadre ou un encadrement itératif, l'objet le plus à l'extérieur est situé derrière l'autre objet et l'objet le plus à l'intérieur tient entièrement dans les limites de l'autre objet.


Action de rendre indéchiffrables (non décodables) des données de telle sorte que seul le destinataire voulu puisse les déchiffrer (décoder) et les lire.


Système informatisé de l'utilisateur, y compris les outils généralement utilisés et leur configuration. Pour Project Builder, désigne le sous-ensemble d'outils utilisés pour réaliser diverses tâches relatives au développement d'applications Oracle Developer.


Condition d'avertissement ou d'erreur générée par un sous-programme PL/SQL.


(Oracle Express) Outil de la boîte de dialogue Sélecteur qui permet à l'utilisateur de sélectionner les valeurs de dimension associées aux données répondant aux limites qu'il indique. Par exemple, l'utilisateur peut sélectionner tous les produits dont les ventes en dollars dépassent $ 10 000 dans la semaine finissant le 23 décembre 1995, sur le marché de Boston.


Argument pouvant être communiqué à l'exécutable d'un produit, comme 'OPENFILE=mon_périph' et 'PRINT=YES'. Ces arguments sont généralement indiqués lorsque l'exécutable est appelé à partir d'une ligne de commande.


Voir lancer.


Stocker un exemplaire d'un objet, d'un module, ou du texte ou de l'image sélectionné, dans un fichier ou dans une base de données. Dans Project Builder, processus d'écriture d'un fichier contenant des définitions de projet, de type, d'action et/ou de macro dans un format portable à distribuer à d'autres utilisateurs susceptibles de travailler sur des plates-formes hétérogènes. Voir aussi : fichier d'export, importer.


Dans Project Builder, fichier partageable et portable créé par l'exportation d'un projet.


1. Elément PL/SQL regroupant des variables, des constantes, des valeurs litéralles et des opérations sur leurs valeurs.
2. (Oracle Express) Une ou plusieurs valeurs de données indiquées dans un programme en langage Express. Par exemple, vous pouvez désigner des expressions comme arguments de programmes ou comme fonctions. Une expression peut être l'un des éléments suivants :

•	une valeur littérale unique (par exemple, 10) ;

•	une variable ou une formule comportant une ou plusieurs valeurs ;

•	une fonction renvoyant une ou plusieurs valeurs ;

•	un calcul associant des valeurs (variables, formules ou fonctions) à des opérateurs arithmétiques ou booléens.


Voir bibliothèque.


Instruction SQL SELECT au format ANSI standard pouvant être référencée par d'autres produits Oracle.


(Oracle Express) Groupe de valeurs de dimension connexes qui correspondent aux niveaux de hiérarchie d'une dimension. Les valeurs de dimension d'une famille peuvent être apparentées comme ancêtre, parent, enfant et descendant. L'exemple suivant désigne les relations familiales de la valeur de dimension France dans la dimension GEOGRAPHY.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant à l'utilisateur de sélectionner une famille de valeurs de dimension pour une hiérarchie donnée. Une famille comprend une valeur parent et toutes les valeurs de dimension descendantes. Par exemple, l'utilisateur peut sélectionner tous les membres de la famille situés en dessous du niveau de marché de Chicago dans la dimension Geography.


1. Elément d'interface dans lequel des données peuvent être saisies, modifiées ou supprimées. 2. Dans Graphic Builder ou Report Builder, objet définissant le mode de présentation des données d'une colonne d'interrogation.


Dans Graphic Builder, ensemble d'attributs et de propriétés déterminant le mode de représentation des données dépendantes (valeurs) sous forme de champs de graphique tels que des barres ou des lignes.


Dans Project Builder, noeud du Navigateur de projet indiquant un fichier stocké dans le système de fichiers. Par exemple, les noeuds de base de registres globale et de base de registres locale correspondent aux fichiers des bases de registres globale et locale.


Zone d'un objet à laquelle un remplissage (couleur ou motif) doit être appliqué.


Fonction PL/SQL ou fonction anonyme limitant les données affichées par un groupe.


Ordinateur réglant depuis l'extérieur l'accès aux ordinateurs d'un réseau local et gérant l'accès aux ordinateurs extérieurs depuis le réseau local.


Voir objet déstructuré.


Mode de l'Editeur de présentation redimensionnant ou réduisant automatiquement les objets parents lorsque les objets enfants sont déplacés ou redimensionnés, et ajustant l'emplacement des autres objets de présentation qui, sinon, pourraient être affectés par ce déplacement ou ce redimensionnement.


Etat d'une entité pouvant répondre aux entrées de l'utilisateur ou du client. Si une entité est la cible des entrées (point d'insertion), elle peut recevoir des événements lorsque l'utilisateur appuie sur une touche. Si un affichage de dessin est la cible des entrées (point d'insertion), il peut répondre aux routines client affectant le dessin.


Partie noire d'un motif. L'application d'une couleur à l'élément de premier plan se fait à l'aide la palette de couleurs de bord.


Valeur ou colonne d'une table faisant référence à une clé primaire d'une autre table.


Dans Report Builder, type de présentation par défaut dans lequel les libellés sont affichés à gauche des champs ; chaque enregistrement est imprimé sur une page logique distincte.


Dans Report Builder, type de présentation par défaut mélangeant les objets standard et les champs, insérant un retour à la ligne au changement de mot.


(Propriétés de champ) Paramètre définissant l'aspect de la valeur d'un champ. Par exemple, un masque de format peut être utilisé pour indiquer l'affichage de montants en devise et de dates.


Fonction PL/SQL permettant de modifier dynamiquement les attributs de formatage d'un objet.


(Oracle Express) Type d'objet de base de données représentant une expression, une procédure ou un calcul stockés à l'origine d'une valeur. Une formule permet de définir et d'enregistrer les relations complexes ou fréquemment utilisées dans les données sans enregistrer de nouveau les données. Chaque fois que vous utilisez une formule, Express lance la procédure ou effectue le calcul requis pour créer la valeur.


Colonne créée par l'utilisateur extrayant ses données à l'aide d'une fonction ou d'une expression PL/SQL, d'une sortie utilisateur, d'une instruction SQL ou de toute combinaison de ces éléments.


1. Dans Graphic Builder, partie d'un modèle de graphique définissant la structure de base d'un graphique, mais pas le mode de tracé des données.
2. Dans Report Builder, objet de présentation servant à englober d'autres objets de présentation et à contrôler le formatage, la fréquence et le positionnement de plusieurs objets simultanément.


Sous-programme PL/SQL qui exécute la suite d'actions indiquée, puis renvoie une valeur. Peut résider et être exécuté sur le client et sur le serveur de base de données.


Enregistrer une application au format binaire dans une base de données ou un fichier pouvant être exécuté par des exécutables Runtime et Batch.


Exécutable Form Builder servant à enregistrer une application dans un fichier ou dans une base de données au format binaire.


Base de registres de Project Builder stockant des informations applicables à l'intégralité d'une installation Oracle Developer. Ces informations sont limitées aux définitions de type et à leurs actions, ainsi qu'aux propriétés prédéfinies ou définies par l'utilisateur. L'utilisation de cette base de registres est facultative ; ses fonctions peuvent être exécutées à l'aide de chaque base de registres utilisateur. Voir aussi : base de registres, base de registres utilisateur.


Conteneur logique existant dans une application. Lorsqu'une application utilise une variable globale, elle conserve la variable jusqu'à sa sortie ou jusqu'à ce qu'un autre objet la supprime explicitement.


Accorder à un utilisateur l'accès à un module. Seul le créateur d'un module peut en autoriser l'accès aux autres utilisateurs.


Dans Graphic Builder, ensemble de lignes divisant une surface en carrés dans l'Editeur de présentation.


1. Objet composé de plusieurs autres objets.
2. Dans Report Builder, objet modèle de données créé automatiquement (pour contenir toutes les colonnes sélectionnées par une interrogation) ou créé par l'utilisateur (pour modifier la hiérarchie des données figurant dans un état) ; il sert principalement à créer des points d'interruption dans un état, ainsi qu'à réinitialiser des calculs.
3. Dans Project Builder, ensemble d'éléments apparentés accessibles à partir des sous-menus du Lanceur. Les groupes permettent à l'utilisateur de configurer le Lanceur de façon semblable au menu Démarrer de Windows 95, composé de groupes arbitraires contenant d'autres éléments ou groupes. Par exemple, un utilisateur peut définir un groupe appelé Doc projet, contenant l'échéancier d'un projet, la liste des activités, les spécifications de composant, etc. ; certains fichiers peuvent être de type .TXT, d'autres de type .DOC.


Fonction PL/SQL limitant les données affichées par un groupe.


Modèle hiérarchique, semblable à un arbre généalogique, décrivant les relations entre les objets groupe et les objets qui les composent.


Interface utilisateur faisant appel à des représentations graphiques, et non uniquement à des mots, pour dialoguer avec un programme. Les programmes à interface graphique fonctionnent avec un système de fenêtres (comme X Windows, Microsoft Windows, Apple Macintosh, etc.). Ces programmes affichent notamment des icônes et des boutons. Les utilisateurs contrôlent ce type de programme principalement à l'aide d'un pointeur à l'écran, (commandé par une souris). Egalement appelée interface bitmap.


Pointeur interne vers un objet application. Pour référencer un objet dans une unité de programme PL/SQL, vous devez transmettre son pointeur comme argument au sous-programme approprié.


Zone d'état facultative pouvant contenir des éléments d'introduction d'état, y compris du texte, des graphiques, des données et des calculs. La page de garde apparaît en premier, avant le corps et la page de fin.


Noeud du Navigateur d'objet indiquant un type d'objet pouvant être contenu dans un état ou y être associé. La sélection d'un noeud en-tête ne sélectionne pas un objet dans l'état.


(Propriétés de champ) Propriété indiquant si Report Builder supprimera le champ indiqué à son emplacement dans la présentation. Si la valeur Masqué est indiquée, la valeur du champ ne figurera qu'à l'endroit référencé dans les objets texte (à l'aide de &fieldname).


(Oracle Express) Méthode d'organisation et de structuration des données. Une hiérarchie existe lorsque les valeurs d'une dimension sont organisées en niveaux, chaque niveau correspondant à la somme globale des données du niveau inférieur. Certaines dimensions peuvent appartenir à plusieurs hiérarchies.

L'exemple suivant présente une hiérarchie de la dimension GEOGRAPHY, dans laquelle les valeurs de dimension sont organisées sur cinq niveaux. Les données du niveau Customers sont classées par groupe dans le niveau Cities, lui-même réparti entre les niveaux Countries/Areas, Continents/Regions et Global.


Acronyme de Hypertext Markup Language. Langage ASCII fondé sur des balises, et servant à indiquer le contenu et les liens à d'autres documents sur des serveurs Web Internet. Les utilisateurs disposant de navigateurs Web affichent les documents HTLM et suivent les liens pour afficher les autres documents.


Acronyme de Hypertext Transfer Protocol. Protocole utilisé pour acheminer le trafic WWW entre un ordinateur doté d'un navigateur WWW et le serveur WWW auquel cet ordinateur accède.


Référence (lien) entre un point donné d'un document et un autre document, ou un autre endroit du même document. Un navigateur Web affiche généralement un hyperlien de façon distincte (dans une couleur, une police ou un style différent). Lorsque les utilisateurs activent des hyperliens (en cliquant dessus avec la souris), le navigateur affiche la cible du lien.


Ensemble de documents contenant des références croisées qui permettent aux utilisateurs de se déplacer facilement d'un document à un autre à l'aide d'un navigateur Web.


Références croisées, qui permettent aux utilisateurs de se déplacer facilement d'un document à un autre à l'aide d'un navigateur Web.


Acronyme d'Interface C Definition. Interface de programmation d'applications PL/SQL à fonctionnalité mise en oeuvre en langage C.


Représentation graphique d'une fenêtre ou d'un outil.


Objet bitmap pouvant être stocké et chargé dans une application. Le client ne peut pas modifier une image importée.


Dans Project Builder, élément de projet, résultant généralement d'une génération automatique, que Project Builder reconnaît et pour lequel il crée automatiquement des entrées dans le Navigateur de projet. Par exemple, Project Builder peut reconnaître des fichiers .obj, générés à une étape intermédiaire de la compilation des fichiers source C, et créer des entrées pour ces fichiers dans le Navigateur d'objet. Bien que la réinitialisation des propriétés d'un élément impliqué soit d'usage restreint (la compilation suivante détruira les modifications), les éléments impliqués peuvent être utiles, car ils peuvent être contrôlés à l'aide des fonctions d'édition, d'affichage et d'impression. Voir aussi : élément, action.


1. Lire un module depuis le système de fichiers ou la base de données, puis l'intégrer dans une application.
2. Lire un fichier contenant des informations sur un projet.


Données dont la valeur ne dépend pas de celle d'autres données. Le nom d'un employé peut avoir, par exemple, la valeur Dupont, qui est indépendante des valeurs des noms des autres employés ou des données associées. Egalement appelées données de catégorie.


Structure facultative associée à une table utilisée par Oracle Server pour localiser rapidement des lignes de la table et (facultatif) pour s'assurer que chacune des lignes est unique.


Dans Project Builder, obtenir des informations d'un noeud ancêtre d'une arborescence de dépendances afin de définir une action, un type, une macro ou une propriété. Si des attributs apparentés existent dans le noeud ancêtre, ils peuvent être hérités. Ainsi, des éléments de système de fichiers tels que des formulaires ou des documents peuvent hériter de définitions d'action de sous-projets, de projets, de la base de registres utilisateur ou de la base de registres globale ; les projets peuvent hériter les définitions de type des bases de registres locale ou globale, et ainsi de suite.


Rectangle virtuel constituant la forme idéale d'un objet et reliant ses quatre points de contrôle, indépendamment de l'épaisseur de bord et des autres paramètres d'attribut.


Fichier servant à générer une cible : par exemple, un fichier .FMB est l'élément d'entrée d'un fichier .FMX. Egalement appelé source.


Mode selon lequel chaque caractère entré est inséré à l'emplacement du curseur, déplaçant vers la droite les caractères suivants. Contraire de mode remplacement.


Réseau mondial d'ordinateurs fondé sur TCP/IP.


Fichier contenant tout ensemble de sources PL/SQL, de commandes Procedure Builder et d'instructions SQL.


Réseau TCP/IP interne dont l'accès est restreint (via un coupe-feu) au personnel d'une entreprise ou d'une organisation. Un réseau Intranet offre à une organisation des services semblables à ceux fournis par Internet, sans que les utilisateurs soient nécessairement connectés à Internet. L'exemple classique d'un réseau Intranet consiste en une société qui configure des serveurs Web sur un réseau interne pour diffuser des informations ou des applications au sein de la société.


Numéro constitué de quatre groupes contenant au maximum trois chiffres, identifiant un ordinateur sur Internet.


Dans Project Builder, objet dans le système de fichiers associé au projet, tel qu'une application Forms ou un document, pointé sur un noeud du Navigateur de projet ou représentant ce noeud.


Dans Project Builder, entrée de la fenêtre Navigateur d'objet représentée par une icône et un titre descriptif. Ces noeuds pointent sur des éléments réels dans le système de fichiers, tels que des fichiers et des documents Form Builder. Voir aussi : noeud, élément.


Acronyme de Java ARchive. Fichier servant à réunir un grand nombre de fichiers (fichiers de classe Java, images, etc.) dans un seul fichier.


Langage informatique prenant en charge la programmation pour Internet sous forme d'« applets » indépendantes de la plate-forme.


Combinaison des données de plusieurs tables dans une instruction SELECT unique.


  Voir alignement.


1. Partie de la syntaxe d'une ligne de commande devant être fournie avec un argument correspondant.  2. Partie obligatoire d'un élément PL/SQL.


Texte identifiant les valeurs ou la signification des objets visuels d'une application.


(Oracle Express) Position dans une hiérarchie de dimension. Chaque niveau situé au-dessus du niveau de base correspond à la somme globale des données du niveau inférieur. Par exemple, la dimension TIME peut comporter des niveaux croissants comme Months, Quarter et Year. A l'intérieur d'une hiérarchie de dimension, la valeur d'un niveau de dimension dispose d'une relation familiale avec les valeurs de dimension des niveaux immédiatement supérieur et inférieur.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant à l'utilisateur de sélectionner des valeurs de dimension en fonction de leur niveau dans une hiérarchie donnée. Par exemple, l'utilisateur peut sélectionner toutes les valeurs de dimension du niveau Key Account de la dimension Geography.


Zone d'un éditeur dans laquelle vous pouvez créer, modifier, positionner ou supprimer des objets.


Unité de mesure permettant d'assurer une uniformité de présentation entre les différents dispositifs d'affichage. Sert à indiquer un emplacement dans la présentation ou les dimensions d'un objet.


Référence à un paramètre, utilisée pour représenter une chaîne de texte dans une instruction SQL SELECT. Pour créer une référence lexicale, vous devez faire précéder le nom du paramètre d'une esperluète (&).


Ensemble constitué d'unités de programme PL/SQL stockées dans le système de fichiers client ou dans une base de données. Les unités de programme figurant dans une bibliothèque peuvent être référencées par plusieurs applications à la fois. A la différence des unités de programme stockées, qui résident et sont exécutées dans la base de données, les unités de programmes figurant dans une bibliothèque sont toujours chargées et exécutées au sein du moteur PL/SQL du côté client. Pour faire référence à des unités de programme figurant dans une bibliothèque, vous devez au préalable attacher la bibliothèque. Voir aussi : bibliothèque attachée.


Objet modèle de données servant à définir une relation maître-détail (parent-enfant) entre un groupe et une interrogation.


Nom d'un fichier auquel est associé un objet texte standard. A l'exécution, Report Builder importe le contenu du fichier dans la présentation de votre état.


Liste d'éléments dans une boîte de dialogue. Vous pouvez normalement la faire défiler et y effectuer une sélection.


Dans Form Builder, élément affichant une liste de choix.


Egalement appelée LOV. Fenêtre instantanée, que l'utilisateur peut faire défiler, affichant une liste de sélection monocolonne ou multicolonne.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant de sélectionner des valeurs dans la liste des valeurs actuellement sélectionnées dans la dimension.


1. Base de données de l'ordinateur exécutant l'application. 2. Base de données à laquelle une application est connectée. Cette base de données analyse et exécute toutes les instructions SQL générées par l'application.


Voir base de registres utilisateur.


Variable PL/SQL déclarée uniquement pour l'unité de programme en cours.


(Oracle Express)

Not	Non unaire - Opérande de type Integer ou Long. L'opération est effectuée au niveau du bit (complément à 1).

And	Et - Opérande de type Integer ou Long. L'opération est effectuée au niveau du bit.

Or	Ou inclusif - Opérandes de type Integer ou Long. L'opération est effectuée au niveau du bit.

Xor	Ou exclusif - Opérandes de type Integer ou Long. L'opération est effectuée au niveau du bit.

Eqv	Equivalence - Opérandes de type Integer ou Long. L'opération est effectuée au niveau du bit. (A Eqv B) est identique à (Not (A Xor B)).

Imp	Implication - Opérandes de type Integer ou Long. L'opération est effectuée au niveau du bit. (A Imp B) est identique à ((Not A) OR B).


Une page de votre état proprement dit (peut être affichée sur une ou plusieurs pages physiques).


Dans un sous-programme PL/SQL, instruction conditionnelle qui est répétée jusqu'à ce que la condition ne soit plus remplie.


Dans Project Builder, variable de type spécifique pouvant être utilisée pour personnaliser et développer des actions. Une macro peut être une constante ou une expression simple (qui à son tour peut contenir d'autres constantes et/ou d'autres expressions). Le recours aux macros offre une grande souplesse pour l'émission d'options de commande et permet à l'utilisateur de modifier des ensembles de commandes en modifiant la définition d'une propriété.


Présentation par défaut affichant les enregistrements sur une ou plusieurs colonnes dans une page. Les champs apparaissent directement les uns en dessous des autres dans un encadrement itératif unique.


Zone d'état facultative apparaissant en haut et en bas de chacune des pages logiques dans la zone du corps. Une marge peut comporter tout objet de présentation, mais contient en général un texte standard et des champs (pour les numéros de page, les totaux de page, les totaux globaux, ainsi que la date et l'heure).


Présentation par défaut dans laquelle les enregistrements détail apparaissent en dessous des enregistrements maître. Les enregistrements maître ont une présentation de type formulaire, et les enregistrements détail, une présentation de type tabulaire.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant à l'utilisateur de sélectionner des valeurs de dimension en faisant correspondre les caractères des noms des valeurs de dimension et ceux qu'il indique. Par exemple, l'utilisateur peut sélectionner toutes les valeurs de dimension du niveau Brand de la dimension Product qui contiennent les caractères « nouveau ».


Orientation itérative affichant chacun des enregistrements d'un encadrement itératif sous la forme d'une cellule de matrice.


Présentation par défaut, semblable à une grille, formatant les quatre ensembles de données nécessaires à un état matriciel ; un premier ensemble de données s'affiche sous la forme d'une ligne de libellés, un deuxième sous la forme d'une colonne de libellés, un troisième crée la grille et un quatrième remplit les cellules de la grille.


Matrice de quatre ensembles de données : un ensemble de données s'affiche de gauche à droite de la page ; un deuxième ensemble s'affiche de haut en bas de la page ; un troisième contient une référence inter-produit déterminant tous les emplacements possibles dans lesquels les données verticales et horizontales sont liées, et plaçant une cellule à ces emplacements ; et un quatrième s'affiche sous forme de « filtre » de cellules.


(Oracle Express) Données pouvant être examinées et analysées, comme les données de vente ou de coût. Vous pouvez sélectionner et afficher les données d'une mesure. Les mesures peuvent être stockées comme variables ou relations, ou calculées à l'aide de formules.


Unité de mémoire égale à 1 048 576 octets (1 024 x 1 024). Souvent arrondie à un million d'octets.


Fenêtre modale qui vous signale une condition survenue à la suite de votre dernière action. Vous devez répondre à une zone de message.


Code exécutable attaché à un objet Oracle8 via sa définition de type d'objet.


Fenêtre exigeant une réponse de l'utilisateur pour que l'application poursuive son traitement.


Fenêtre non restreinte pouvant avoir autant de fonctions que le gestionnaire de fenêtres Runtime peut en prendre en charge.


1. Objet pouvant être partagé par plusieurs applications. Les interrogations externes et les bibliothèques PL/SQL constituent des modules.  2. Dans Form Builder, composant principal d'une application (un module Menu, par exemple).


Champ d'une fenêtre ou d'une boîte de dialogue comprenant plusieurs lignes, dans lequel l'utilisateur peut faire défiler verticalement les informations.


(Oracle Express) Valeur de données spéciale indiquant que les données sont non disponibles (Not Available - NA). NA est utilisée pour toute cellule à laquelle aucune valeur de données précise n'a été affectée ou pour laquelle les données n'ont pas été calculées.


Etat matriciel dans lequel les dimensions verticale et/ou horizontale contiennent une ou plusieurs relations maître-détail. Le nombre d'imbrications autorisées est illimité.


Type de données indiquant que les données seront extraites lorsque la page sur laquelle elles figurent sera formatée (au lieu d'être extraites et mises en mémoire cache avant d'être formatées).


1. Emplacement spécifique dans la hiérarchie d'objets du Navigateur d'objet. Les noeuds peuvent être développés pour présenter des informations sur un objet, telles que des références croisées à d'autres objets.  2. Dans Project Builder, entrée du Navigateur de projet. Voir aussi : élément, noeud élément, noeud organisation.


Colonne d'état référençant une colonne de base de données de type NOCACHE.


Indique l'absence de valeur.


(Oracle Express)

^	Exposant.

-,+	Moins et plus unaires.

*, /	Multiplication ou division numérique. Pour la division, le résultat est un double.

\	Division entière. Les opérandes peuvent être de type Integer ou Long.

Mod	Modulo ou reste. Les opérandes peuvent être de type Integer ou Long.

-, +	Addition et soustraction numériques. L'opérateur + peut également être utilisé pour concaténer des chaînes.


1. Elément pouvant être placé dans la présentation. Les éléments suivants sont des objets : rectangle, trait, ellipse, arc, polygone, ligne polygonale, rectangle arrondi, forme libre, graphique, texte, symbole et champ texte. 2. Dans Oracle8, instance d'un type d'objet. Un objet peut être une ligne d'une table d'objets ou une partie de ligne d'un objet colonne d'une table relationnelle.


Voir objet colonne.


Conteneur d'un groupe d'objets, servant à autoriser la copie ou la référence des objets apparentés.


Voir descripteur.


Fenêtre contenant la liste hiérarchique des objets de la session en cours. Elle apparaît sous la forme d'un plan qui permet à l'utilisateur d'effectuer diverses tâches : création, édition, changement de nom et suppression d'objets, par exemple.


Dans Oracle8, table dont la définition est fondée sur un type d'objet. Chaque attribut du type d'objet devient une colonne de la table d'objets. Chaque ligne de la table correspond à un objet Oracle8 distinct.


Dans Oracle8, définition ou modèle fourni par l'utilisateur permettant de construire des objets. Un type d'objet est une entité composite constituée d'attributs. Chaque attribut dispose d'un nom et d'un type de données, et le type d'objet en tant qu'entité possède un nom. Un type d'objet peut également inclure une ou plusieurs méthodes.


Acronyme d'Open Database Connectivity. Norme d'accès à divers systèmes de base de données. Une application peut soumettre des instructions à ODBC à l'aide de SQL ODBC. ODBC traduit ensuite ces instructions dans un format utilisable par la base de données. Oracle Open Client Adapter (OCA) permet à une application d'accéder à divers systèmes de gestion de base de données en utilisant toujours la même méthode. Un développeur d'applications peut ainsi développer, compiler et livrer une application sans cibler un système de gestion de base de données particulier.


Acronyme d'Object Linking and Embedding.


Application permettant de stocker et d'afficher des objets OLE.


Application permettant de créer des objets OLE.


Voir type de données intégré.


Variable d'environnement indiquant le répertoire principal des produits Oracle.


Entrée du Navigateur d'objet, telle que Types, Projets, Fichiers d'application Forms, etc., permettant de structurer le Navigateur et indiquant les types de fichier des éléments enfants. Le noeud organisation peut également désigner une structure de données pour certains types d'objet de système de fichiers.


Position déterminée par des coordonnées x et y. L'origine d'une vue indique l'emplacement de la vue sur son canevas parent. L'origine d'un canevas indique l'emplacement du dessin sur une vue dessinée.


Le plus petit rectangle virtuel entourant complètement un objet.


Action se produisant lorsque le contenu d'un objet ne tient pas dans la page logique en cours. En cas de débordement, une partie du contenu passe à la page logique suivante.


Fonction PL/SQL, fournie avec Oracle Developer, pouvant être référencée en tout endroit d'une unité de programme.


Méthode d'encapsulage et de stockage de procédures, de fonctions, de variables et d'autres éléments de package apparentés sous la forme d'une unité unique dans la base de données. Les packages offrent des avantages structurels aux administrateurs de base de données ou aux développeurs d'applications, et augmentent les fonctionnalités et les performances de la base de données.


Le corps de package comprend la mise en oeuvre réelle du package, qui peut comporter des sous-programmes privés et des types de données. Il est facultatif si le package ne se compose que de déclarations.


La spécification de package déclare l'interface publique au package, c'est-à-dire les types de données et les sous-programmes pouvant être référencés par d'autres unités de programme.


(Oracle Express) 1. Tranche de données incluse dans un état. Les pages supplémentaires affichent des tranches de données supplémentaires.

La figure suivante montre trois pages de données.

2. Dans Express, une page peut également désigner une unité de stockage dans une base de données Express.


(Oracle Express) Aperçu des données sélectionnées pour une interrogation, telles qu'elles apparaîtront dans votre tableur. La présentation de la page comporte trois directions : De gauche à droite, De haut en bas et Page. Elles indiquent la manière dont le cube de données multidimensionnel défini par l'interrogation sera représenté dans le tableur en deux dimensions. Les mosaïques de dimension indiquent le nom et la position des dimensions. Une mosaïque de dimension de type De gauche à droite indique que cette dimension est affichée sous forme de colonne. Une mosaïque de dimension de type De haut en bas indique que cette dimension apparaît sous forme de ligne. Une dimension de type Page indique que cette dimension est affichée dans une zone de page, au-dessus des résultats.


Paramètre qui définit si l'objet en cours et ses enfants doivent être déplacés vers la page logique suivante. Vous pouvez demander que les sauts de page se produisent avant ou après l'objet en cours dans la sortie d'état.


Elément d'interface affichant les outils, les couleurs ou les motifs disponibles dans un éditeur.


Partie distincte d'un éditeur, généralement redimensionnable, où les opérations sont exécutées.


Nombre de pages physiques nécessaires pour imprimer une page logique.


1. Elément PL/SQL utilisé pour transmettre des informations à un sous-programme. Par exemple, dans le sous-programme appelé MYPROC (x), x est un paramètre.  2. Dans Oracle Developer, les paramètres permettent de transmettre des informations d'un composant à un autre (entre Form Builder et Graphic Builder, par exemple).  3. Variable pouvant être modifiée à l'exécution.


Groupe comprenant des noms de paramètre et les valeurs associées, utilisé pour transmettre des informations entre les composants d'Oracle Developer.


1. Objet situé immédiatement au-dessus d'un autre dans son arborescence de groupe. Un objet groupe est le parent de chacun des objets qui le composent. Chaque objet est le parent de ses enfants.
2. (Oracle Express) Valeur de dimension de niveau immédiatement supérieur à celui d'une valeur donnée dans une hiérarchie. La valeur parent correspond à la somme globale des valeurs de ses enfants. L'exemple suivant désigne la valeur de dimension France comme parent de Lyon et de Paris dans la dimension GEOGRAPHY.


Placer le contenu du Presse-papiers (objet coupé ou copié) à l'emplacement du curseur.


Propriété graphique pouvant être appliquée au bord ou au remplissage de la plupart des objets.


Code machine ou liste d'instructions pour une unité de programme compilée.


Acronyme de Portable Document Format. Format de fichier (natif pour Adobe Acrobat) servant à représenter des documents de façon indépendante de l'application, du matériel et du système d'exploitation utilisés pour créer les documents. Un fichier PDF peut décrire des documents contenant indifféremment du texte, des graphiques et des images, dans un format indépendant de l'unité et de la résolution.


Taille de la page à l'impression.


Type d'élément utilisé pour matérialiser un champ dans un graphique, tel qu'une barre, une ligne ou un symbole.


Extension (propriété d'Oracle) du langage SQL. Elle ajoute des éléments de procédure et d'autres éléments SQL permettant de concevoir des applications.


Fichier de script de l'interpréteur Procedure Builder.


Fichier de bibliothèque PL/SQL contenant un code source et un code compilé. Vous pouvez ouvrir ce fichier dans Procedure Builder pour le modifier.


Fichier texte contenant le code source PL/SQL d'une seule unité de programme.


Fichier de bibliothèque Runtime PL/SQL contenant uniquement du code exécutable. Vous ne pouvez ni l'ouvrir ni le modifier dans Procedure Builder.


Liste qui apparaît lorsque l'utilisateur effectue une opération particulière.


Numéro utilisé par TCP pour aiguiller des données envoyées ou reçues par un programme donné.


Action livrée avec Project Builder, automatiquement mise à la disposition de l'utilisateur via une option de menu ou un bouton de barre d'outils. Les actions prédéfinies comprennent Build, Deliver, et plusieurs options de gestion des archives et des rapports. Si une action prédéfinie est créée pour un type de fichier pris en charge, elle est appelée pour tout élément de ce type sélectionné, lorsque l'utilisateur appelle l'action à partir de Project Builder. Voir aussi : action, action définie par l'utilisateur.


Voir type de données intégré.


Paramètre affectant le comportement de l'interface de l'application.


(Oracle Express) Affiche le script qui serait généré si vous acceptiez les critères en cours. Dans la boîte de dialogue des outils du Sélecteur, vous pouvez prévisualiser votre sélection en cliquant sur le bouton Aperçu.


Interface vous permettant de visualiser et de parcourir en ligne la sortie d'état.


Colonne d'une table de base de données dont les membres se composent de valeurs uniques pouvant être utilisées pour identifier une ligne dans une table.


Voir type de données intégré.


Dans un fichier de définition d'imprimante, séquence d'échappement à laquelle vous attribuez un code d'imprimante pouvant être référencé dans un état.


Fichier contenant une définition d'imprimante au format texte (ASCII ou EBCDIC, par exemple).


Sous-programme PL/SQL qui exécute la suite d'actions indiquée. Peut résider et être exécuté sur le client et sur le serveur de base de données.


Structure de code PL/SQL pouvant être reconnue de manière indépendante et traitée par le programme de compilation PL/SQL. Les blocs anonymes, les spécifications et corps de sous-programme (procédures et fonctions), et les spécifications et corps de package sont des types d'unité de programme. Les unités de programme peuvent résider et être exécutées sur le client et sur le serveur de base de données. Voir aussi : unité de programme stockée.


Structure de données de base créée par Project Builder. Les projets sont des ensembles de pointeurs désignant tous les fichiers que vous considérez comme faisant partie de votre application ou que vous voulez regrouper de manière conceptuelle. Vous pouvez définir les éditeurs, les compilateurs et les autres outils que vous utilisez pour travailler avec les éléments d'un projet. Toutes les informations relatives au projet sont stockées dans une base de registres projet. Voir aussi : élément de projet, fichier de projet, exporter.


Dans Project Builder, les fichiers de projet sont tous les fichiers associés à une application. Ils peuvent être de tout type (formulaires, états, affichages, modules 3GL, documentation et scripts de test). Voir aussi : projet, élément de projet.


Dans Project Builder, tout élément pour lequel des propriétés peuvent être définies, y compris les entités stockées dans le noeud Projets, les types, les actions et les macros. Voir aussi : projet, fichier de projet.


Fenêtre contenant la liste hiérarchique des éléments de projet pour la session en cours. Cette liste apparaît sous forme de plan, qui permet à l'utilisateur d'effectuer diverses tâches : création, édition, changement de nom et suppression d'objets, par exemple. Bien que l'utilisateur ne puisse en afficher qu'un à la fois, il peut choisir entre deux schémas d'organisation des objets.


Noeud de niveau supérieur d'un projet. Il représente le fichier de projet ou pointe vers ce fichier. Voir aussi : projet, fichier de projet.


Dans Project Builder, fichier stockant toutes les informations relatives à un projet : les fichiers qui en font partie, les types, les actions et les macros définis pour ce projet, etc.


Vue de projets affichant les objets par type et par relation projet/sous-projet. Les projets sont classés dans l'ordre alphabétique par fichier de projet, puis par catégorie. Voir aussi : vue de dépendances, projet, fichier de projet, vue.


Boîte de dialogue permettant à l'utilisateur de créer plus facilement un nouveau projet ou sous-projet.


Caractéristique d'un objet déterminant le comportement ou l'aspect de cet objet.


Objet nommé contenant une liste de propriétés et leurs définitions, qui sert à contrôler de manière globale l'aspect et le fonctionnement des objets fondés sur cette classe.


Chaîne pouvant être saisie lors de la connexion à un serveur ou à une base de données, qui permet de vous connecter à un serveur ou à une base de données distante.


(Oracle Express) Lorsque vous sélectionnez des valeurs pour l'une des dimensions d'une mesure, les autres dimensions de cette mesure sont appelées dimensions qualificatives.

Supposez que la mesure Sales comporte les dimensions Product, Month et Geography. Si vous sélectionnez les dix premières villes en fonction des ventes, vous devez également indiquer le produit et le mois qui sont pris en compte dans votre comparaison des valeurs de vente. Dans ce cas, Product et Month sont les dimensions qualificatives.


Instruction SQL SELECT indiquant les données à extraire d'une ou de plusieurs tables ou vues d'une base de données.


Fonction PL/SQL qui, lors de son exécution, filtre les données extraites par une interrogation. Seules les données répondant aux conditions indiquées dans la fonction sont tracées.


Option mettant fin à la session en cours et ramenant l'utilisateur au système d'exploitation. Sur certains systèmes, Quitter correspond à « Exit ».


Contrôle (semblable à une case à cocher) apparaissant par groupes de deux ou plus, dont un seul peut être « actif » à un moment donné.


Groupe de deux boutons d'option ou plus, dont un seul peut être actif à un moment donné.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant à l'utilisateur de sélectionner des périodes consécutives comme valeurs de dimension. Ces périodes peuvent être basées sur l'un des éléments suivants :

•	un nombre précis des périodes les plus récentes ;

•	une période de départ et une période plus récente ;

•	des périodes de début et de fin.

Par exemple, l'utilisateur peut sélectionner des valeurs de dimension pour la période allant de la semaine qui se termine le 25 novembre 1996 à celle qui se termine le 30 décembre 1996.


Chiffre désigné par RSA Data Security, Inc. et qui peut accepter des clés d'une longueur arbitraire. Il s'agit essentiellement d'un générateur de nombres pseudo-aléatoires, la sortie du générateur étant traitée par l'opération Ou exclusif (Xor) avec le flux de données afin de produire les données codées. Une même clé RC4 ne doit donc jamais être utilisée pour coder deux flux de données différents.


Acronyme de Relational Database Management System (système de gestion de base de données relationnelle - SGBDR). Système de base de données permettant de définir des structures de données, des opérations de stockage et d'extraction, ainsi que des contraintes d'intégrité. Les données et leurs relations sont structurées sous forme de tables.


Fichier contenant une seule définition d'état au format binaire. Les fichiers .RDF servent à exécuter et à éditer des états.


Fichier contenant une seule définition d'état au format binaire. Les fichiers .REP servent uniquement à exécuter des états. Vous ne pouvez pas les modifier.


Possibilité d'interroger les données d'une base de données depuis un point unique dans le temps.


Une seule ligne, extraite par une instruction SQL SELECT.


Objet de structure de données interne représenté sous forme de colonnes et de lignes, appartenant au module Application Forms dans lequel elles sont définies.


Type de colonne pointant vers les données d'autres objets colonne ou d'autres tables d'objets (Oracle8).


Ligne apparaissant à la valeur indiquée dans un graphique.


(Oracle Express) Rechercher les données les plus récentes d'une base de données Express après l'affichage des résultats de l'interrogation dans votre état. Lorsque vous ouvrez une interrogation Express enregistrée, les résultats sont automatiquement régénérés.


Ajouter la définition d'un type ou d'un nouveau projet à la base de registres globale ou locale. Une fois le nouveau type inscrit aux registres, vous pouvez lui associer des actions, et vous pouvez référencer les fichiers d'un nouveau projet en tant que types spécifiques pour y exécuter des actions. Voir aussi : base de registres.


Fichier de configuration global et/ou propre à un utilisateur, permettant de stocker des définitions de projet et des informations sur l'environnement. Voir aussi : base de registres globale, base de registres utilisateur.


Symbole utilisé dans des critères de recherche pour comparer deux valeurs, comme le signe égal dans « WHERE DEPTNO = 10 ». Les lignes dans lesquelles le résultat de la comparaison est Vrai sont renvoyées dans le résultat (extraites), alors que celles dans lesquelles la comparaison renvoie la valeur Faux sont exclues des résultats.


Base de données résidant sur un autre ordinateur que la base de données locale. En général, il s'agit d'un ordinateur du même réseau, mais sur un noeud différent (c'est-à-dire une base de données que vous utilisez via une liaison de base de données).


Objet de présentation permettant d'afficher des lignes de données extraites pour un groupe.


Mode dans lequel chacun des caractères que vous tapez remplace le caractère existant situé à l'emplacement du curseur. Contraire de mode insertion.


Objets servant à définir le modèle et la présentation des données d'un état. Les objets de niveau état sont attribués à un seul état, et ne peuvent pas être partagés par d'autres états ou d'autres produits Oracle. Ces objets comprennent les états, les interrogations, les interrogations externes, les bibliothèques PL/SQL externes, les groupes, les colonnes, les paramètres, les liaisons, les encadrements, les encadrements itératifs, les champs, les textes standard et les points d'ancrage.


Disponible sous Windows NT et Windows 95 uniquement. Attend une ligne de commande pour exécuter un état, puis place cet état dans sa file d'attente pour l'exécuter à l'arrière-plan sur le serveur local. En général, les lignes de commande sont reçues depuis Form Builder ou Graphics Builder via RUN_PRODUCT, ou reçues d'un autre état via SRW.RUN_REPORT. Vous pouvez également utiliser RWISV60 pour soumettre un état au moteur d'état d'arrière-plan (Reports Background Engine).


Permet de mettre à jour l'horodatage et les informations des états gérés par Report Server.


Disponible sous Windows NT, Windows 95 et UNIX. Permet d'exécuter des états sur un serveur distant. Met les demandes de travaux dans la file d'attente et vous permet de planifier l'exécution des états. Utilisez RWCLI60 pour envoyer un état à Report Server.


Fournit une interface entre votre serveur Web et Reports Runtime pour vous permettre d'exécuter des états de manière dynamique à partir de votre navigateur Web.


Fournit une connexion entre un serveur Web et Reports Server.


Fichier contenant une définition d'état stockée au format texte (ASCII ou EBCDIC, par exemple). Les fichiers .REX permettent de porter des états d'une plate-forme à une autre. Les fichiers .REX sont désormais inutiles. Ils sont disponibles dans un but de compatibilité avec les versions précédentes.


Acronyme de « rouge, vert, bleu », désignant l'intensité de rouge, de vert et de bleu d'une couleur.


Objet groupe auquel tous les autres objets de l'application appartiennent.


Noeud de niveau supérieur d'un projet, représentant l'environnement de l'utilisateur. Peut correspondre à la base de registres utilisateur ou à la base de registres globale, selon la base choisie pour définir les valeurs par défaut.


1. Ensemble de valeurs de champ d'une table ; par exemple, les champs représentant un employé dans la table EMP.  2. Générer une version Runtime d'une application.


Objet d'une table d'objets Oracle8. Chaque ligne de la table correspond à un objet. Toutefois, dans Oracle Developer, une table d'objets est décomposée en différentes colonnes, si bien que l'objet ligne n'existe plus en tant qu'entité unique (mais seulement sous la forme de ses différents attributs).


Exécuter une version Runtime d'une application ou d'une unité de programme.


Acronyme de Rich Text Format. Format de fichier indépendant de la plate-forme, fondé sur des mots de contrôle, permettant de représenter des textes et des images non formatés sous divers systèmes d'exploitation et dans diverses applications. Le format RTF utilise le jeu de caractères ANSI, PC-8, Macintosh ou IBM PC pour contrôler la représentation et le formatage d'un document à l'écran et à l'impression.


Voir fichier rep.


Interface permettant à l'utilisateur d'afficher une application Runtime et de l'utiliser.


Ecran ou fenêtre pouvant apparaître lors de l'exécution, dans laquelle l'utilisateur peut modifier des options et des paramètres d'impression avant l'exécution d'un état.


(Oracle Express) Ensemble de valeurs de dimension enregistrées en tant que liste de valeurs ou en tant que script. Vous pouvez enregistrer les sélections que vous créez ou l'administrateur de la base de données peut créer des sélections enregistrées que vous pourrez ensuite utiliser.

Les sélections enregistrées permettent de gagner du temps : pour réutiliser une sélection, il suffit d'extraire une sélection enregistrée, sans la créer de nouveau.


(Oracle Express) Outil du Sélecteur permettant d'extraire une sélection de valeurs de dimension enregistrée.


Ensemble d'objets de base de données apparentés, généralement regroupés par ID d'utilisateur de la base de données. Les objets de schéma comprennent les tables, les vues, les séquences, les unités de programme stockées, les synonymes, les index, les groupes et les liaisons de base de données.


Niveau (plage) auquel fonctionne un objet. Dans Project Builder :  1. Décrit la plage de fichiers affectés par les commandes Compiler et Compiler tout, appelées pour des éléments de projet compilables.  2. Décrit la plage de fichiers concernés par les définitions héritables.


Voir scripts SQL, scripts de l'interpréteur.


Dans Report Builder, une ou plusieurs présentations d'un même état dont le public, le format de sortie, la présentation de page, la taille ou l'orientation diffèrent. Par exemple, un seul état peut contenir, dans une section, un récapitulatif destiné aux cadres supérieurs et, dans une autre, un rapport détaillé destiné à chaque directeur.


Instruction SQL indiquant les lignes et les colonnes à extraire d'une ou de plusieurs tables ou vues.


(Oracle Express) Ensemble des valeurs de dimension sélectionnées dans une dimension, ou script contenant les conditions ou les critères permettant d'indiquer ces valeurs.


(Oracle Express) Description des choix effectués par l'utilisateur lors de la sélection des valeurs de dimension, affichée dans la plupart des boîtes de dialogue du Sélecteur. Il s'agit d'une traduction, en langage clair, du script en langage Express.


(Oracle Express) Ensemble d'outils servant à sélectionner les valeurs de dimension à inclure (par exemple, dans un état, une table, un graphique ou une liste de dimensions). Par exemple, vous pouvez utiliser le Sélecteur pour choisir les 10 premières villes en fonction des ventes ou pour choisir les villes dont les ventes ont dépassé le quota de 15 %. Le Sélecteur permet également de trier les valeurs de dimension, et de créer et d'extraire des sélections enregistrées.


(Oracle Express) Boîte de dialogue ou groupe de boîtes de dialogue qui permet de sélectionner ou de trier les valeurs de dimension d'une manière particulière. Chaque outil Sélecteur fait partie du Sélecteur. Vous pouvez utiliser ces outils pour sélectionner des valeurs de dimension selon leur niveau hiérarchique, leurs attributs, les caractères figurant dans le nom de la valeur, etc. Vous pouvez également les utiliser pour trier les valeurs de dimension.


Période s'écoulant entre l'appel d'un exécutable et sa fermeture.


Objet ayant le même objet parent que d'autres dans son arborescence de groupe. Tous les objets appartenant à un même objet groupe sont des objets frères.


Combinaison d'une adresse IP et d'un numéro de port.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant de modifier l'ordre des valeurs de dimension dans la sélection affichée. Vous pouvez trier une sélection dans l'ordre croissant ou décroissant, en fonction de l'un des éléments suivants :

•	ordre alphabétique

•	ordre d'apparition dans la base de données

•	valeurs de données

•	ordre ou niveau de hiérarchie

•	période

Vous pouvez également trier une sélection manuellement, en faisant glisser les valeurs de dimension.


Instructions PL/SQL fournies dans un sous-programme ou un package. Vous devez disposer du code source d'une unité de programme pour pouvoir la compiler sous une forme exécutable. Dans Project Builder : types d'entrée nécessaires à la création des types cible.


Définit uniquement les noms, les paramètres et le type de valeur renvoyée (pour les fonctions uniquement) du sous-programme.


Petit rectangle situé au bas de la barre de défilement verticale et à gauche de la barre de défilement horizontale dans un éditeur. Il permet de créer un nouveau panneau à l'aide de la souris et crée une barre de défilement distincte pour chaque panneau.


Interface standard de stockage et d'extraction d'informations dans une base de données relationnelles. SQL est l'acronyme de Structured Query Language.


Fichier contenant une interrogation au format texte (ASCII ou EBCDIC, par exemple).


Fichier contenant des instructions SQL qui permettent d'exécuter rapidement et facilement des fonctions de gestion des bases de données. Les produits Oracle sont livrés avec plusieurs scripts SQL.


Instruction SQL pour Oracle. Une instruction SELECT est un type d'instruction SQL.


Voir pile d'appels.


Elément PL/SQL servant au contrôle conditionnel, itératif et séquentiel, ainsi qu'à la gestion des erreurs. Chaque instruction PL/SQL doit se terminer par un point-virgule (;).


(Oracle Express) Sélection enregistrée contenant les mêmes valeurs de dimension à chaque évaluation. Les sélections statiques enregistrées répertorient les valeurs de dimension à sélectionner, plutôt que les critères de sélection. Par exemple, un script de sélection statique enregistrée peut contenir « Sélectionnez février 1996, mars 1996 et avril 1996 », alors que le script d'une sélection dynamique enregistrée peut indiquer « Sélectionnez les trois derniers mois ».


Procédure, fonction ou package résidant et s'exécutant sur le serveur de base de données Oracle.


Procédure ou fonction résidant et s'exécutant sur le serveur de base de données Oracle.


Extensions HTML fournissant une souplesse de formatage dans les documents HTML. Pour afficher un document HTML avec tous les avantages des feuilles de style, affichez-le dans un navigateur prenant en charge les feuilles de style.


Procédure ou fonction PL/SQL.


Dans Project Builder, projet contenu dans un autre fichier de projet, au lieu d'être stocké dans son propre fichier. Voir aussi : projet.


Dans Project Builder, noeud indiquant un sous-projet. Voir aussi : projet, noeud projet, noeud sous-projet.


Colonne de type récapitulatif calculant des totaux partiels, des totaux globaux, des totaux cumulés et d'autres récapitulatifs des données d'un état, à l'aide des fonctions récapitulatives fournies par Report Builder.


Format de fichier utilisé par le programme Microsoft Excel.


Système ordonné permettant de combiner des commandes, des qualificateurs et des paramètres pour former des chaînes de commande valides.


L'une des variables fournies par Oracle Developer (&Logical Page ou DESTYPE, par exemple).


Ensemble nommé d'informations apparentées, stockées dans une base de données relationnelles ou sur un serveur, dans une grille à deux dimensions composée de lignes et de colonnes.


Type de collecte définissant une unité de données composée d'un ensemble non trié d'éléments dont le type de données est identique. L'unité de données correspondante est une table imbriquée à une seule colonne, dont le type est un type de procédure interne ou un type d'objet. (Oracle8)


Présentation par défaut affichant des libellés en haut de la page et des lignes de données en dessous des libellés.


Dans Project Builder, élément figurant au milieu de l'arborescence des dépendances ; par exemple, un exécutable est une cible (de compilation) pour une bibliothèque, une bibliothèque est une cible pour un groupe d'objets et un objet est une cible pour un fichier source.


Noeud indiquant une cible. Voir aussi : cible.


Acronyme de Transmission Control Protocol. Protocole de communication sous-jacent pour l'échange de demandes HTTP entre clients et serveurs Web.


Sous-menu que l'utilisateur peut sortir de son emplacement d'origine, à l'aide de la souris ou de tout autre périphérique de pointage, puis placer à un autre endroit de l'écran.


Dans Form Builder, élément affichant une valeur de chaîne de caractères.


Zone horizontale située dans la partie supérieure d'une fenêtre, affichant le nom de l'application ou de l'élément d'interface de cette fenêtre.


Voir page de garde.


Activer ou désactiver un paramètre. Vous pouvez, par exemple, afficher ou masquer le Navigateur d'objet.


Bouton portant une icône, servant à créer et à manipuler des objets dans une application.


Ensemble de boutons à icône, permettant d'exécuter des commandes. Ces boutons sont généralement alignés horizontalement dans la partie supérieure de la fenêtre ou verticalement sur le côté de la fenêtre.


Ensemble d'outils.


(Oracle Express) Outil de la boîte de dialogue Sélecteur permettant à l'utilisateur de sélectionner des valeurs de dimension en fonction des premières valeurs de données d'abscisse, des dernières valeurs de données d'ordonnées ou d'une combinaison de ces valeurs. Par exemple, l'utilisateur peut créer une sélection de dimension contenant les produits dont l'élément Volume Sales fait partie des 10 % de produits les plus vendus dans tous les Etats-Unis au cours de la période de quatre semaines se terminant le 30 décembre 1995.


Zone d'état facultative pouvant contenir des informations de clôture de l'état, notamment du texte, des graphiques, des données et des calculs. La page de fin d'état figure en dernier, après la page de garde et le corps.


Séquence d'instructions SQL traitée comme une unité.


Procédure PL/SQL exécutée ou « déclenchée » lors d'un événement particulier.


Description d'un type de fichier (une application Forms, un document, etc.) contenant des informations telles qu'un nom de type et une description. Chaque description ne s'applique qu'à un type de fichier. Il existe en outre quatre métatypes : « updtext » qui s'applique à tous les fichiers texte, « updproj » qui s'applique à tous les fichiers projet, « updlink » qui s'applique à tous les liens de projet et « tous » qui s'applique à tout type de fichier. Les types permettent de définir des actions et des macros.


Modifier des valeurs de données de table, en particulier en modifiant les valeurs de données à l'aide de la commande SQL UPDATE, mais également en supprimant des valeurs à l'aide de la commande SQL DELETE ou en insérant des valeurs à l'aide de la commande INSERT.


Acronyme de Uniform Resource Locator. Adresse utilisée pour indiquer un serveur WWW. Par exemple :
http://www.acme.com/
Cette chaîne indique que l'adresse de l'hôte est www.acme.com. Cette adresse est le plus souvent un nom de fichier, parfois doté d'un long chemin d'accès et généralement accompagné du suffixe de fichier .HTML ou .HTM (pour les noms de fichier DOS).


(user exit) Méthode consistant à passer le contrôle (et parfois des arguments) d'Oracle Developer à un autre produit Oracle ou à un langage de troisième génération, puis à rendre le contrôle (et, éventuellement, renvoyer des arguments) à Oracle Developer.


Action personnalisée définie par un utilisateur de Project Builder. Une action peut s'appliquer à un type de fichier unique ou à tous les types. Voir aussi : action, action prédéfinie.


Voir type d'objet.


Macro personnalisée définie par un utilisateur de Project Builder. Une macro peut permettre de modifier des actions intégrées et des actions définies par l'utilisateur. Voir aussi : macro, macro intégrée, action, action prédéfinie.


Fichier de projet contenant des informations de configuration relatives à un utilisateur. Il permet aux utilisateurs de personnaliser leur environnement de développement. La base de registres utilisateur hérite des informations de type de la base de registres globale et permet de définir de nouveaux types, ainsi que d'ignorer certains aspects des définitions de type stockées dans la base de registres globale. Elle permet également de stocker des informations sur l'environnement et les préférences, comme la chaîne de connexion préférée de l'utilisateur, les paramètres d'interface utilisateur (par exemple, l'option Afficher barre d'outils et certaines informations générales de projet, comme le nom de l'auteur). Voir aussi : base de registres, base de registres globale.


Voir axe continu.


Structure de code PL/SQL renvoyant une valeur. Ces structures comprennent des fonctions et des expressions.


Objet nommé auquel vous pouvez attribuer une valeur, qui sera variable dans le temps.


Type de collecte définissant une unité de données constituée d'un ensemble trié d'éléments dont le type de données est identique. L'unité de données correspondante est un tableau variable ou VARRAY. Le nombre d'éléments d'un VARRAY (taille) est variable. Toutefois, vous devez indiquer une taille maximale lorsque vous déclarez un type de tableau variable.


Extension de fichier Visual Basic utilisée pour les bibliothèques de liens dynamiques réparties sur des fichiers contenant des contrôles VBX prédéfinis.


Widget créé en langage Microsoft Visual Basic et permettant de perfectionner l'interface utilisateur, d'obtenir des entrées utilisateur et d'afficher des sorties (règles, quadrillages et boutons de contrôle, par exemple).


Table virtuelle dont les lignes n'existent pas en réalité dans la base de données, mais qui est fondée sur une table physiquement stockée dans cette base.


Mnémonique de répertoire (principalement un raccourci ou un synonyme) utilisé par le système de fichiers virtuel pour établir la correspondance des fichiers stockés dans le système de fichiers de l'ordinateur hôte.


Mise en correspondance associant les chemins d'accès utilisés dans une URL au système de fichiers mis à jour par le système d'exploitation de l'ordinateur hôte.


Propriétés de police, de couleur et de motif que vous définissez pour les objets affichés dans votre interface d'application.


Voir WWW.


Programme permettant aux utilisateurs de lire des documents HTML et des programmes stockés sur un ordinateur (desservi par un serveur Web).


Programme exécuté sur un serveur Web via Web Request Broker.


Processus serveur (démon HTTP) exécuté sur un site Web, qui renvoie des pages Web en réponse à des demandes HTTP issues de navigateurs Web.


Caractère servant à remplacer « tout caractère » ou « un ensemble de caractères contigus » dans un mot ou une expression.


1. Zone rectangulaire du bureau contenant une application. Chaque fenêtre comporte une zone dans laquelle vous pouvez dialoguer avec l'application. Les fenêtres peuvent être ouvertes, redimensionnées, déplacées, mises en icône ou agrandies pour remplir le bureau.  2. Dans Form Builder, type d'objet pouvant être associé à une vue-canevas.


Format de fichier utilisé par certains tableurs, comme les programmes SQL*Calc ou Lotus 1-2-3.


Acronyme de Web Request Broker Oracle. Offre un environnement d'exécution réparti puissant permettant de développer et de déployer des applications pour le Web. La plate-forme d'exécution WRB permet aux développeurs d'écrire des applications indépendantes des serveurs Web, mais pouvant fonctionner avec un certain nombre de ces serveurs.


Acronyme de World Wide Web. Réseau de serveurs sur Internet, dont chacun possède une ou plusieurs pages d'accueil. Ces pages fournissent des informations et des liens à d'autres documents sur le même serveur et (généralement) sur d'autres.


Développer un objet afin d'agrandir l'espace pour éditer le contenu du champ.


Barre d'outils secondaire, située par défaut le long de la partie supérieure de l'écran du Navigateur de projet, offrant des fonctions simples d'organisation et de lancement d'applications.


 Version la plus récente des contrôles OLE (OCX).


Sortie XML conforme aux principes XML généraux, c'est-à-dire dotée des balises, des imbrications et des inclusions correctes propres à une déclaration XML. Exemple : <?xml version="1.0" encoding="UTF-8"?>.


Un nom utilisateur de réserve permet à l'utilisateur de se connecter à la base de données en utilisant son nom utilisateur personnel au lieu d'utiliser le nom utilisateur correspondant à la base de données Oracle (par exemple, $nom_utilisateur@base_données) lors de l'exécution d'états depuis un navigateur Web.


Acronyme d'Extensible Markup Language. Métalangage qui utilise du code SGML pour définir et structurer les données. Report Builder prend en charge les sorties XML pour permettre la publication sur le Web et l'échange de données électroniques avec des applications tierces. Vous pouvez également utiliser le format XML pour créer des définitions d'état pouvant être exécutées séparément ou fusionnées avec d'autres définitions d'état lors de l'exécution.


Sortie XML dotée d'une structure et d'éléments conformes à une définition de type de document (DTD). Le code XML valide comporte aussi un format correct.


Packages intégrés de Developer - Exemples

  Rubriques connexes	   Tous les exemples

Package DDE - Exemples

Package DEBUG - Exemples

Package EXEC_SQL - Exemples

Package LIST - Exemple

Package OLE2 - Exemples

Package ORA_FFI - Exemples

Package ORA_NLS - Exemples

Package ORA_PROF - Exemples

Package TEXT_IO - Exemples

Package TOOL_ENV - Exemples

Package TOOL_ERR - Exemples

Package TOOL_RES - Exemples


Package DDE - Exemples

  Rubriques connexes 	  Tous les exemples

DDE.App_Begin

DDE.App_End

DDE.App_Focus

DDE.Execute

DDE.Getformatnum

DDE.Getformatstr

DDE.Initiate

DDE.IsSupported

DDE.Poke

DDE.Request

DDE.Terminate


Package DEBUG - Exemples

  Rubriques connexes 	  Tous les exemples

Debug.Break

Debug.Getx

Debug.Interpret

Debug.Setx

Debug.Suspend


Package EXEC_SQL - Exemples

  Rubriques connexes 	  Tous les exemples

EXEC_SQL.Open_Connection

EXEC_SQL.Curr_Connection

EXEC_SQL.Default_Connection

EXEC_SQL.Open_Cursor

EXEC_SQL.Parse

EXEC_SQL.Describe_Column

EXEC_SQL.Bind_Variable

EXEC_SQL.Define_Column

EXEC_SQL.Execute

EXEC_SQL.Execute_And_Fetch

EXEC_SQL.Fetch_Rows

EXEC_SQL.More_Result_Sets

EXEC_SQL.Column_Value

EXEC_SQL.Variable_Value

EXEC_SQL.Is_Open

EXEC_SQL.Close_Cursor

EXEC_SQL.Is_Connected

EXEC_SQL.Is_OCA_Connection

EXEC_SQL.Close_Connection

EXEC_SQL.Last_Error_Position

EXEC_SQL.Last_Row_Count

EXEC_SQL.Last_SQL_Function_Code

EXEC_SQL.Last_Error_Code

EXEC_SQL.Last_Error_Mesg


Package LIST - Exemples

  Rubriques connexes 	  Tous les exemples

List.Appenditem

List.Destroy

List.Deleteitem

List.Fail

List.Getitem

List.Insertitem

List.Listofchar

List.Make

List.Nitems

List.Prependitem


Package OLE2 - Exemples

  Rubriques connexes 	  Tous les exemples

OLE2.Add_Arg

OLE2.Add_Arg_Obj

OLE2.Create_Arglist

OLE2.Create_Obj

OLE2.Destroy_Arglist

OLE2.Get_Char_Property

OLE2.Get_Num_Property

OLE2.Get_Obj_Property

OLE2.Invoke

OLE2.Invoke_Num

OLE2.Invoke_Char

OLE2.Invoke_Obj

OLE2.IsSupported

OLE2.Last_Exception

OLE2.List_Type

OLE2.Obj_Type

OLE2.OLE_Error

OLE2.OLE_Not_Supported

OLE2.Release_Obj

OLE2.Set_Property


Package ORA_FFI - Exemples

  Rubriques connexes 	  Tous les exemples

Ora_Ffi.Ffi_Error

Ora_Ffi.Find_Function

Ora_Ffi.Find_Library

Ora_Ffi.Funchandletype

Ora_Ffi.Generate_Foreign

Ora_Ffi.Is_Null_Ptr

Ora_Ffi.Libhandletype

Ora_Ffi.Load_Library

Ora_Ffi.Pointertype

Ora_Ffi.Register_Function

Ora_Ffi.Register_Parameter

Ora_Ffi.Register_Return

Ora_Ffi.Unload_Library

Ora_Ffi - Exemple 1A

Ora_Ffi - Exemple 1B

Ora_Ffi - Exemple 2


Package ORA_NLS - Exemples

  Rubriques connexes 	  Tous les exemples

Ora_Nls.American

Ora_Nls.American_Date

Ora_Nls.Bad_Attribute

Ora_Nls.Get_Lang_Scalar

Ora_Nls.Get_Lang_Str

Ora_Nls.Linguistic_Collate

Ora_Nls.Linguistic_Specials

Ora_Nls.Modified_Date_Fmt

Ora_Nls.No_Item

Ora_Nls.Not_Found

Ora_Nls.Right to Left

Ora_Nls.Simple_Cs

Ora_Nls.Single_Byte


Package ORA_PROF - Exemples

  Rubriques connexes 	  Tous les exemples

Ora_Prof.Bad_Timer

Ora_Prof.Create_Timer

Ora_Prof.Destroy_Timer

Ora_Prof.Elapsed_Time

Ora_Prof.Reset_Timer

Ora_Prof.Start_Timer

Ora_Prof.Stop_Timer


Package TEXT_IO - Exemples

  Rubriques connexes 	  Tous les exemples

Text_IO.Fclose

Text_IO.File_Type

Text_IO.Fopen

Text_IO.Is_Open

Text_IO.Get_Line

Text_IO.New_Line

Text_IO.Put

Text_IO.Putf

Text_IO.Put_Line


Package TOOL_ENV - Exemples

  Rubriques connexes 	  Tous les exemples

Tool_Env.Getvar


Package TOOL_ERR - Exemples

  Rubriques connexes 	  Tous les exemples

Tool_Err.Code

Tool_Err.Encode

Tool_Err.Message

Tool_Err.Nerrors

Tool_Err.Pop

Tool_Err.Tool_Error

Tool_Err.Toperror


Package TOOL_RES - Exemples

  Rubriques connexes 	  Tous les exemples

Tool_Res.Bad_File_Handle

Tool_Res.Buffer_Overflow

Tool_Res.File_Not_Found

Tool_Res.No_Resource

Tool_Res.Rfclose

Tool_Res.Rfhandle

Tool_Res.Rfopen

Tool_Res.Rfread


Packages intégrés Developer

  Rubriques connexes 	  Toutes les procédures internes

DDE

DEBUG

EXEC_SQL

LIST

OLE2

ORA_FFI

ORA_NLS

ORA_PROF

TEXT_IO

TOOL_ENV

TOOL_ERR

TOOL_RES