DEBUG-Paket

  Verwandte Themen 	  Alle vordefinierten Pakete

Debug.Break

Debug.Getx

Debug.Interpret

Debug.Setx

Debug.Suspend


Debug.Break

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird benutzt, um einen Programmstop aus einem Debug-Trigger einzugeben.

Syntax

Debug.Break  EXCEPTION;

Verwendungshinweise  Debug.Break wird besonders beim Erstellen bedingter Programmstops benutzt. Wenn die Exception ausgelöst wird, wird die Kontrolle an den Interpreter übergeben, so als hätten Sie bei der Position des Debug-Triggers einen Programmstop eingegeben.


Beispiel für Debug.Break

  Verwandte Themen	   Alle Beispiele

 /*
** Create a breakpoint only when the value
** of 'my_sal' exceeds 5000
*/
IF Debug.Getn('my_sal') > 5000 THEN
  RAISE Debug.Break;
END IF;


 Debug.Getx

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Ruft den Wert der angegebenen lokalen Variablen ab.

Syntax

FUNCTION Debug.Getc
   (varname VARCHAR2)
RETURN VARCHAR2;

FUNCTION Debug.Getd
   (varname VARCHAR2)
RETURN DATE;

FUNCTION Debug.Geti
   (varname VARCHAR2)
RETURN PLS_INTEGER;

FUNCTION Debug.Getn
   (varname VARCHAR2)
RETURN NUMBER;

Parameter

varname	Variable vom Typ VARCHAR2 oder CHAR (Debug.Getc wandelt CHAR-Werte in VARCHAR2 um), DATE, PLS_INTEGER oder NUMBER.
Verwendungshinweise  Diese Funktion wird besonders dann benutzt, wenn Sie einen lokalen Wert in einem Debug-Trigger ermitteln möchten.


Beispiele für Debug.Getx

  Verwandte Themen	   Alle Beispiele

 /*
** Retrieve the value of the variable 'my_ename'
** and use it to test a condition
*/
IF Debug.Getc('my_ename') = 'JONES' THEN
  RAISE Debug.Break;
END IF;

Sie verfügen über einen Programmblock foo, der das Unterprogramm bar aufruft. Dieses Unterprogramm (bar) wird außerdem von vielen anderen Programmblöcken aufgerufen. Betrachten Sie die Situation, in der die Prozedur bar das Argument  'message'  von den vielen Prozeduren akzeptiert, die das Unterprogramm aufrufen. Die Prozedur foo übergibt ein eindeutiges Argument in Form von 'hello world' an bar. In diesem Fall könnte ein Trigger definiert werden, der einen Programmstop in der Prozedur bar nur dann auslöst, wenn foo das Argument übergibt:

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


Debug.Interpret

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Führt die PL/SQL-Anweisung oder die Befehlsfolge des Procedure Builder Interpreters aus, die in input enthalten ist, so als wäre diese in den Interpreter eingegeben worden.

Syntax

PROCEDURE Debug.Interpret
   (input VARCHAR2);

Parameter

input	Befehlsfolge von Procedure Builder.
Verwendungshinweise  Diese Funktion wird besonders dann benutzt, wenn Procedure Builder-Funktionen automatisch aus einem Debug-Trigger aufgerufen werden sollen.


Beispiele für Debug.Interpret

  Verwandte Themen	   Alle Beispiele

 /*
** Execute the command SHOW STACK when
** a condition is met
*/
IF Debug.Getc('my_ename') = 'JONES' THEN
  Debug.Interpret('.SHOW LOCALS');
END IF;

Sie verfügen über einen Programblock foo, der das Unterprogramm bar aufruft. Dieses Unterprogramm (bar) wird außerdem von vielen anderen Programmblöcken aufgerufen. Sie möchten einen Programmstop in bar erstellen, der Programmstop soll jedoch nur aktiviert werden, wenn das Unterprogramm von foo aufgerufen wird und nicht, wenn es von anderen Programmblöcken aufgerufen wird.

Hierzu müssen Sie die folgenden Schritte ausführen:

1	Erstellen Sie in der Prozedur bar an der Stelle einen Programmstop, an der die Ausführung unterbrochen werden soll.

2	Deaktivieren Sie den gerade erstellten Programmstop.

Sie können die Schritte 1 und 2 aus dem Dialogfeld Programmstop ausführen. Erstellen Sie einen Programmstop mit einem Programmstop-Trigger in der Prozedur foo , der den ersten Programmstop aktiviert, der in der Prozedur bar erstellt wird. Zum Beispiel:

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

Das folgende Beispiel erstellt einen Programmstop, der den Trigger jedesmal auslöst, wenn der Programmstop erreicht wird.

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


Debug.Setx

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Setzt den Wert einer lokalen Variablen auf einen neuen Wert.

Syntax

PROCEDURE Debug.Setc
   (varname  VARCHAR2,
    newvalue VARCHAR2);

PROCEDURE Debug.Setd
   (varname  VARCHAR2,
    newvalue DATE);

PROCEDURE Debug.Seti
   (varname  VARCHAR2,
    newvalue PLS_INTEGER);

PROCEDURE Debug.Setn
   (varname  VARCHAR2,
    newvalue NUMBER);

Parameter

varname	Variable vom Typ VARCHAR2 oder CHAR (Debug.Setc konvertiert CHAR-Werte in VARCHAR2), DATE, PLS_INTEGER oder NUMBER.
newvalue	Entsprechender Wert für varname.
Verwendungshinweise  Diese Funktion wird besonders dann benutzt, wenn Sie einen lokalen Wert aus einem Debug-Trigger ändern möchten.


Beispiele für Debug.Setx

  Verwandte Themen	   Alle Beispiele

 /*
** Set the value of the local variable 'my_emp' from a
** Debug Trigger
*/
Debug.Setc('my_emp', 'SMITH');
/*
** Set the value of the local variable 'my_date' from a
** Debug Trigger
*/
Debug.Setd('my_date', '02-OCT-94');


Debug.Suspend

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Unterbricht die Ausführung des aktuellen Programmblocks und überträgt die Kontrolle an den Interpreter.

Syntax

PROCEDURE Debug.Suspend;


Beispiel für Debug.Suspend

  Verwandte Themen	   Alle Beispiele

  /*
** Dieses Beispiel verwendet Debug.Suspend
*/
PROCEDURE proc1 IS
BEGIN
  FOR i IN 1..10 LOOP
    Debug.Suspend;
    Text_IO.Put_Line('Hello');
  END LOOP;
 END;


DDE-Paket

  Verwandte Themen 	  Alle vordefinierten Pakete

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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Beginnt ein Anwendungsprogramm und gibt einen Anwendungsbezeichner zurück.

Syntax

FUNCTION DDE.App_Begin
   (AppName VARCHAR2,
    AppMode PLS_INTEGER)
RETURN PLS_INTEGER;

Parameter

AppName	Anwendungsname.
AppMode	Startmodus der Anwendung: App_Mode_Normal    Startet das Anwendungsfenster in der normalen Größe. App_Mode_Minimized   Startet das Anwendungsfenster in der minimierten Größe. App_Mode_Maximized   Startet das Anwendungsfenster in der maximierten Größe.

Rückgabewert  Ein Anwendungsbezeichner.

Verwendungshinweise  Der Anwendungsname kann einen Pfad enthalten. Wenn der Anwendungsname keinen Pfad enthält, werden die folgenden Ordner in der unten dargestellten Reihenfolge durchsucht:

•	Aktueller Ordner

•	Windows-Ordner

•	Windows-Systemordner

•	Ordner, der die ausführbare Datei für die aktuelle Task enthält

Bei AppName können auf den Namen des Anwendungsprogramms Argumente folgen, die mit einem Leerzeichen vom Namen des Anwendungsprogramms getrennt sind.

Die Anwendung kann in der normalen, minimierten oder maximierten Größe gestartet werden, wie mit AppMode angegeben.

Der von DDE.App_Begin zurückgegebene Anwendungsbezeichner muß in allen nachfolgenden Aufrufen von DDE.App_End und DDE.App_Focus für dieses Anwendungsfenster benutzt werden.


Beispiel für DDE.App_Begin

  Verwandte Themen	   Alle Beispiele

 /*
** Start MS Excel with spreadsheet emp.xls loaded
*/
DECLARE
  AppID  PLS_INTEGER;
BEGIN
    AppID := DDE.App_Begin('c:\excel\excel.exe emp.xls',
     DDE.App_Mode_Minimized);
END;


DDE.App_End

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Beendet ein Anwendungprogramm, das mit Dde.App_Begin gestartet wurde.

Syntax

PROCEDURE DDE.App_End
   (AppID PLS_INTEGER);

Parameter

AppID	Anwendungsbezeichner, der von DDE.App_Begin zurückgegeben wird.

Verwendungshinweise  Die Anwendung kann auch auf die übliche Windows-Weise beendet werden: zum Beispiel durch Doppelklicken auf das Systemmenü.

Sie müssen das Anwendungsprogramm vorher mit DDE.App_Begin aufgerufen haben, um es mit DDE.App_End zu beenden.


Beispiel für DDE.App_End

  Verwandte Themen	   Alle Beispiele

 /*
** Start Excel, perform some operations on the
** spreadsheet, then close the application.
*/
DECLARE
  AppID  PLS_INTEGER;
BEGIN
    AppID := DDE.App_Begin('c:\excel\excel.exe emp.xls',
    DDE.App_Mode_Normal);
  ...
   DDE.App_End(AppID);
END;


DDE.App_Focus

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Aktiviert ein Anwendungsprogramm, das mit DDE.App_Begin gestartet wurde.

Syntax

PROCEDURE DDE.App_Focus
   (AppID PLS_INTEGER);

Parameter

AppID	Anwendungsbezeichner, der von DDE.App_Begin zurückgegeben wird.

Verwendungshinweise  Die Anwendung kann auch auf die übliche Windows-Weise aktiviert werden: zum Beispiel durch Klicken im Anwendungsfenster.

Um ein Anwendungsprogramm mit DDE.App_Focus zu aktivieren, müssen Sie das Anwendungsprogramm zuvor mit DDE.App_Begin gestartet haben.


Beispiel für DDE.App_Focus

  Verwandte Themen	   Alle Beispiele

 /*
** Start Excel, then activate the application window
*/
DECLARE
   AppID  PLS_INTEGER;
BEGIN
  AppID := DDE.App_Begin('c:\excel\excel.exe',
    DDE.App_Mode_Maximized);
  DDE.App_Focus(AppID);
END;


DDE.Execute

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Führt eine Befehlsfolge aus, die für die empfangende Serveranwendung akzeptabel ist.

Syntax

PROCEDURE DDE.Execute
   (ConvID  PLS_INTEGER,
    CmdStr  VARCHAR2,
    Timeout PLS_INTEGER);

Parameter

ConvID	DDE-Conversation-Bezeichner, der von DDE.Initiate zurückgegeben wird.
CmdStr	Befehlsfolge, die vom Server ausgeführt werden muß.
Timeout	Dauer der Zeitsperre in Millisekunden.

Verwendungshinweise  Der Wert von CmdStr hängt davon ab, welche Werte von der Serveranwendung unterstützt werden.

Mit Timeout wird die maximale Dauer in Millisekunden angegeben, während der diese Routine auf eine Antwort von der DDE-Serveranwendung wartet. Wenn Sie eine ungültige Zahl (z.B. eine negative Zahl) angeben, wird der Standardwert von 1000 ms benutzt.


Beispiel für DDE.Execute

  Verwandte Themen	   Alle Beispiele

 /*
** Initiate Excel, then perform a recalculation
*/
DECLARE
  ConvID  PLS_INTEGER;
BEGIN
   ConvID := DDE.Initiate('EXCEL', 'abc.xls');
   DDE.Execute(ConvID, '[calculate.now()]', 1000);
END;


DDE.Getformatnum

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Übersetzt oder registriert einen Namen in einem bestimmten Datenformat und gibt die numerische Darstellung der Datenformatfolge zurück.

Syntax

FUNCTION DDE.Getformatnum
   (DataFormatName VARCHAR2)
RETURN PLS_INTEGER;

Parameter

DataFormat-Name	Datenformatname.

Verwendungshinweise  DDE.Getformatnum konvertiert ein Datenformat von einer Zeichenfolge in eine Zahl. Diese Zahl kann in DDE.Poke- und DDE.Request-Transaktionen zur Darstellung der Variablen DataFormat benutzt werden.

Wenn der angegebene Name noch nicht registriert wurde, registriert DDE.Getformatnum ihn und gibt eine eindeutige Formatzahl zurück. Dies ist die einzige Möglichkeit zur Benutzung eines Formats in einer DDE.Poke- oder DDE.Request-Transaktion, bei dem es sich nicht um eines der vordefinierten Formate handelt.


Beispiel für DDE.Getformatnum

  Verwandte Themen	   Alle Beispiele

 /*
** Get predefined format number for "CF_TEXT" (should
** return CF_TEXT=1) then register a user-defined
** data format called "MY_FORMAT"
*/
DECLARE
  FormatNum    PLS_INTEGER;
  MyFormatNum  PLS_INTEGER;
BEGIN
  FormatNum := DDE.Getformatnum('CF_TEXT');
  MyFormatNum := DDE.Getformatnum('MY_FORMAT');
END;


DDE.Getformatstr

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Übersetzt eine Datenformatzahl in eine Formatnamenfolge.

Syntax

FUNCTION DDE.Getformatstr
   (DataFormatNum PLS_INTEGER)
RETURN VARCHAR2;

Parameter

DataFormat-Num	Datenformatzahl.

Rückgabewert  Die Zeichenfolgendarstellung der angegebenen Datenformatzahl.

Verwendungshinweise  DDE.Getformatstr gibt einen Datenformatnamen zurück, wenn die Datenformatzahl gültig ist. Gültige Formatzahlen umfassen die vordefinierten Formate und benutzerdefinierte Formate, die mit DDE.Getformatnum registriert wurden.


Beispiel für DDE.Getformatstr

  Verwandte Themen	   Alle Beispiele

 /*
** Get a data format name (should return the string
** 'CF_TEXT')
*/
DECLARE
  FormatStr  VARCHAR2;
BEGIN
  FormatStr := DDE.Getformatstr(CF_TEXT);
END;


DDE.Initiate

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Öffnet einen DDE-Dialog mit einer Serveranwendung.

Syntax

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

Parameter

Service	DDE Service-Code der Serveranwendung.
Topic	Topic-Name für den Dialog.

Rückgabewert  Ein DDE-Dialog-Bezeichner.

Verwendungshinweise  Die Werte von Service und Topic hängen von den Werten ab, die von einer bestimmten DDE-Serveranwendung unterstützt werden. Service ist normalerweise der Name des Anwendungsprogramms. Bei Anwendungen, die mit dateiorientierten Dokumenten arbeiten, ist Topic im allgemeinen der Dokument-Dateiname. Außerdem wird das System-Topic im allgemeinen von jedem Service unterstützt.

Der Dialog-Bezeichner, der von DDE.Initiate zurückgegeben wird, muß in allen nachfolgenden Aufrufen von DDE.Execute, DDE.Poke, DDE.Request und DDE.Terminate für diesen Dialog benutzt werden.

Eine Anwendung kann mehr als einen Dialog gleichzeitig mit mehreren Services und Topics starten, vorausgesetzt die Dialog-Bezeichner werden nicht ausgetauscht.

Mit DDE.Terminate beenden Sie den Dialog.


Beispiel für DDE.Initiate

  Verwandte Themen	   Alle Beispiele

 /*
** Open a DDE Conversation with MS Excel on
** topic abc.xls
*/
DECLARE
  ConvID  PLS_INTEGER;
BEGIN
  ConvID := DDE.Initiate('EXCEL', 'abc.xls');
END;


DDE.IsSupported

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Bestätigt, daß das DDE-Paket auf der aktuellen Plattform unterstützt wird.

Syntax

DDE.ISSUPPORTED

Rückgabewert  TRUE, wenn DDE auf der Plattform unterstützt wird, FALSE wenn nicht.


Beispiel für DDE.IsSupported

  Verwandte Themen	   Alle Beispiele

/*
** Before calling a DDE object in platform independent code,
** use this predicate to determine if DDE is supported on the
** current platform.
*/
IF (DDE.ISSUPPORTED)THEN
. . . PL/SQL code using the DDE package
ELSE
. . . message that DDE is not supported
END IF;


DDE.DMLERR_Not_Supported

  Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Exception wird ausgelöst, wenn das DDE-Paket aufgerufen wird, DDE jedoch auf der aktuellen Software-Plattform nicht unterstützt wird.

Syntax

DDE.DMLERR_NOT_SUPPORTED EXCEPTION;


DDE.Poke

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Sendet Daten an eine Serveranwendung.

Syntax

PROCEDURE DDE.Poke
   (ConvID     PLS_INTEGER,
    Item       VARCHAR2,
    Data       VARCHAR2,
    DataFormat PLS_INTEGER,
    Timeout    PLS_INTEGER);

Parameter

ConvID	DDE-Dialog-Bezeichner, der von DDE.Initiate zurückgegeben wird.
Item	Name des Datenobjekts, an das die Daten gesendet werden sollen.
Data	zu sendende Datenpuffer.
DataFormat	Format der abgehenden Daten.
Timeout	Dauer der Zeitsperre in Millisekunden.

Verwendungshinweise  Der Wert von Item hängt davon ab, welche Werte von der Serveranwendung bei dem aktuellen Dialog-Topic unterstützt werden.

Die vordefinierten Datenformatkonstanten können für DataFormat benutzt werden.

Ein benutzerdefiniertes Format, das mit DDE.Getformatnum registriert wurde, kann ebenfalls benutzt werden, vorausgesetzt, die Serveranwendung erkennt dieses Format. Der Benutzer ist dafür verantwortlich, daß die Serveranwendung das angegebene Datenformat verarbeitet.

Mit Timeout wird die maximale Dauer in Millisekunden angegeben, während der diese Routine auf eine Antwort von der DDE-Serveranwendung wartet. Wenn Sie eine ungültige Zahl angeben (z.B. eine negative Zahl), wird der Standardwert von 1000 ms benutzt.


Beispiel für DDE.Poke

  Verwandte Themen	   Alle Beispiele

 /*
** Open a DDE Conversation with MS Excel on topic
** abc.xls and end data "foo" to cell at row 2,
** column 2
*/
DECLARE
  ConvID  PLS_INTEGER;
BEGIN
  ConvID = DDE.Initiate('EXCEL', 'abc.xls');
  DDE.Poke(ConvID, 'R2C2', 'foo', DDE.CF_TEXT, 1000);
END;


DDE.Request

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Fordert Daten von einer Serveranwendung an.

Syntax

PROCEDURE DDE.Request
   (ConvID     PLS_INTEGER,
    Item       VARCHAR2,
    Buffer     VARCHAR2,
    DataFormat PLS_INTEGER,
    Timeout    PLS_INTEGER);

Parameter

ConvID	DDE-Dialog-Bezeichner, der von DDE.Initiate zurückgegeben wird.
Item	Angeforderter Datenobjekt-Name.
Buffer	Ergebnis-Datenpuffer.
DataFormat	Format des angeforderten Puffers.
Timeout	Dauer der Zeitsperre in Millisekunden.

Verwendungshinweise  Der Wert von Item hängt davon ab, welche Werte von der Serveranwendung bei dem aktuellen Dialog-Topic unterstützt werden.

Der Benutzer ist dafür verantwortlich, daß der Rückgabe-Datenpuffer groß genug für die angeforderten Daten ist. Wenn die Puffergröße kleiner ist als die angeforderten Daten, werden die Daten abgeschnitten.

Die vordefinierten Datenformatkonstanten können für DataFormat benutzt werden.

Ein benutzerdefiniertes Format, das mit DDE.Getformatnum registriert wurde, kann ebenfalls benutzt werden, vorausgesetzt, die Serveranwendung erkennt dieses Format. Der Benutzer ist dafür verantwortlich, daß die Serveranwendung das angegebene Datenformat verarbeiten kann.

Mit Timeout wird die maximale Dauer in Millisekunden angegeben, während der diese Routine auf eine Antwort von der DDE-Serveranwendung wartet. Wenn der Benutzer eine ungültige Zahl angibt (z.B. eine negative Zahl), wird der Standardwert von 1000 ms benutzt.


Beispiel für DDE.Request

  Verwandte Themen	   Alle Beispiele

 /*
** Open a DDE Conversation with MS Excel for Windows on
** topic abc.xls then request data from 6 cells
** between row 2, column 2 and row 3, column 4
*/
DECLARE
  ConvID   PLS_INTEGER;
  Buffer   VARCHAR2;
BEGIN
   ConvID := DDE.Initiate('EXCEL', 'abc.xls');
   DDE.Request (ConvID, 'R2C2:R3C4', Buffer, DDE.Cf_Text,
     1000);
END;


DDE.Terminate

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Beendet den angegebenen Dialog mit einer Anwendung.

Syntax

PROCEDURE DDE.Terminate
    (ConvID PLS_INTEGER);

Parameter

ConvID	Dialog-Bezeichner.

Verwendungshinweise  Nach dem DDE.Terminate-Aufruf führen alle nachfolgenden Aufrufe von DDE.Execute, DDE.Poke, DDE.Request und DDE.Terminate, die den Bezeichner des beendeten Dialogs verwenden, zu einem Fehler.

Um einen Dialog mit einer Serveranwendung mit DDE.Terminate zu beenden, müssen Sie den Dialog mit DDE.Initiate gestartet haben.


Beispiel für DDE.Terminate

  Verwandte Themen	   Alle Beispiele

 /*
** Open a DDE Conversation with MS Excel on topic
** abc.xls perform some operations, then terminate
** the conversation
*/
DECLARE
  ConvID	PLS_INTEGER;
BEGIN
  ConvID := DDE.Initiate('EXCEL', 'abc.xls');
  ...
  DDE.Terminate(ConvID);
END;


Paket TOOL_ENV

  Verwandte Themen 	  Alle vordefinierten Pakete

Tool_Env.Getvar


Tool_Env.Getvar

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Ermöglicht das Importieren einer Umgebungsvariablen in eine VARCHAR2-Variable.

Syntax

PROCEDURE Tool_Env.Getvar
   (varname  VARCHAR2,
    varvalue VARCHAR2);

Parameter

varname	Name der Umgebungsvariablen.
Varvalue	Wert der Umgebungsvariablen


Beispiel Tool_Env.Getvar

  Verwandte Themen	   Alle Beispiele

 /*
** Retrieve the environment variable USER into a
** variable named :userid so you can use it in a
** connect string or other call.
*/
Tool_Env.Getvar('USER', :userid);


Paket TOOL_ERR

  Verwandte Themen 	  Alle vordefinierten Pakete

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

  Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Verwirft alle Fehler, die gerade in dem Fehlerstapel stehen.

Syntax

PROCEDURE Tool_Err.Clear;


Tool_Err.Code

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt den Fehlercode für den iten Fehler in dem Fehlerstapel zurück (standardmäßig den obersten Fehler). Wenn keine Fehler in dem Stapel stehen, wird null zurückgegeben.

Syntax

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

Parameter

I	Ganzzahl, die einen Fehler im Fehlerstapel angibt.
Rückgabewert  Der Fehlercode des angegebenen Fehlers.


Beispiel für Tool_Err.Code

  Verwandte Themen	   Alle Beispiele

/*
** Check for unexpected error, disregard it,
** and print any other error.
*/
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

  Beispiele	   Verwandte Themen 	  Alle vordefinierten Pakete

Beschreibung  Erzeugt einen eindeutigen Fehlercode mit einem bestimmten Präfix und einem Offset zur Benutzng in diesem Paket.

Hinweis:  Dies ist keine PL/SQL-Exception.

Syntax

FUNCTION Tool_Err.Encode
   (prefix VARCHAR2,
    offset PLS_INTEGER)
RETURN NUMBER;

Parameter

prefix	Folge aus fünf Zeichen.
Offset	Ganzzahl von 1 bis 127.
Rückgabewert  Ein Fehlercode.


Beispiel für Tool_Err.Encode

  Verwandte Themen	   Alle Beispiele

/*
** Define a list of errors for a package
** called 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);
  . . .     /* Rest of pkg_a specification */
END;


Tool_Err.Message

  Beispiele	   Verwandte Themen 	  Alle vordefinierten Pakete

Beschreibung  Gibt die formatierte Meldung zurück, die mit dem iten Fehler in dem Fehlerstapel verknüpft ist (standardmäßig der oberste Fehler).

Syntax

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

Parameter

I	Ganzzahl, die einen Fehler im Fehlerstapel angibt.
Rückgabewert  Eine Fehlermeldung.


Beispiel für Tool_Err.Message

   Verwandte Themen	   Alle Beispiele

/*
** Determine the number of errors
** on the stack.  Then, loop through stack,
** and print out each error message.
*/
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

  Beispiele	   Verwandte Themen 	  Alle vordefinierten Pakete

Beschreibung  Gibt die Anzahl von Fehlern zurück, die im Augenblick im Fehlerstapel stehen.

Syntax

FUNCTION Tool_Err.Nerrors
RETURN PLS_INTEGER;

Rückgabewert  Die Nummer des Fehlers im Fehlerstapel.


Beispiel für Tool_Err.Nerrors

  Verwandte Themen	   Alle Beispiele

/*
** Determine the number of errors
** on the stack.  Then, loop through stack,
** and print out each error message.
*/
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

  Beispiele	   Verwandte Themen 	  Alle vordefinierten Pakete

Beschreibung  Verwirft den obersten Fehler im Fehlerstapel.

Syntax

PROCEDURE Tool_Err.Pop;


Beispiel für Tool_Err.Pop

  Verwandte Themen	   Alle Beispiele

 /*
** Loop through each message in the stack,
** print it, then clear the top most error.
*/
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

  Beispiele	   Verwandte Themen 	  Alle vordefinierten Pakete

Beschreibung  Definiert einen allgemeinen Fehler, den Sie auslösen können, um anzugeben, daß ein oder mehrere Fehler in den Fehlerstapel geschoben wurden.

Syntax

Tool_Err.Tool_Error  EXCEPTION;


Beispiel für Tool_Err.Tool_Error

  Verwandte Themen	   Alle Beispiele

/*
** Raise a generic internal error if a function
** argument is out of range.
*/
PROCEDURE my_proc(count PLS_INTEGER) IS
BEGIN
  IF (count < 0) THEN
    RAISE TOOL_ERR.TOOL_ERROR;
  END IF;
  . . .

END;


Tool_Err.Toperror

  Beispiele	   Verwandte Themen 	  Alle vordefinierten Pakete

Beschreibung  Kennzeichnet den obersten Fehler im Fehlerstapel.

Syntax

Tool_Err.Toperror CONSTANT PLS_INTEGER;


Beispiel für Tool_Err.Toperror

  Verwandte Themen	   Alle Beispiele

/*
**  Print top-most error on the stack. The same
**  results are produced by calling Tool_Err.Message
**  with no arguments.
*/
BEGIN
  . . .

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

END;


Paket EXEC_SQL

  Verwandte Themen 	  Alle vordefinierten Pakete

Die Funktionen und Prozeduren werden in der Reihenfolge aufgeführt, in der sie im allgemeinen in einer Sitzung aufgerufen werden.

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

Die folgenden Funktionen rufen Informationen über den letzten referenzierten Cursor in einer Verbindung ab, nachdem eine SQL-Anweisung ausgeführt wurde.

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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

FUNCTION EXEC_SQL.Open_Connection
    (Username     IN VARCHAR2,
     Password     IN VARCHAR2,
     Data source  IN VARCHAR2)
RETURN EXEC_SQL.ConnType;

Parameter

Connstr	Zeichenfolge in Form von 'User[/Password][@database_string]'
Username	Zeichenfolge, die den Benutzernamen angibt, mit dem die Verbindung zu der Datenbank hergestellt wird.
Password	Zeichenfolge, die das Kennwort für den Benutzernamen angibt.
Data source	Zeichenfolge, die entweder den SQLNet-Alias oder die OCA-Verbindung angibt, die mit 'ODBC:' beginnt.

Rückgabewert  Handle zu der neuen Datenbankverbindung.


Beispiel für EXEC_SQL.Open_Connection

  Verwandte Themen	   Alle Beispiele

PROCEDURE getData IS
  --
  -- a connection handle must have a datatype of EXEC_SQL.conntype
  --
  connection_id EXEC_SQL.CONNTYPE;

  ...

BEGIN
  --
  -- a connection string is typically of the form 'username/password@database_alias'
  --
  connection_id := EXEC_SQL.OPEN_CONNECTION('connection_string');

  ...

END;


EXEC_SQL.Curr_Connection

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Verbindungs-Handle zurück, das dieselbe Datenbankverbindung benutzt, die anfänglich von Developer aufgebaut wurde. EXEC_SQL.Default_Connection ersetzt EXEC_SQL.Curr_Connection.

Syntax

FUNCTION EXEC_SQL.Curr_Connection
RETURN EXEC_SQL.ConnType;

Rückgabewert  Handle zu der primären Verbindung von Developer.

Verwendungshinweise  Benutzen Sie EXEC_SQL.Default_Connection anstelle von EXEC_SQL.Curr_Connection. Aus Gründen der Abwärtskompatibilität wird EXEC_SQL.Curr_Connection weiterhin unterstützt.


EXEC_SQL.Default_Connection

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Verbindungs-Handle zurück, das dieselbe Datenbankverbindung verwendet, die anfänglich von Developer aufgebaut wurde. EXEC_SQL.Default_Connection ersetzt EXEC_SQL.Curr_Connection.

Syntax

FUNCTION EXEC_SQL.Default_Connection
RETURN EXEC_SQL.ConnType;

Rückgabewert  Handle zu der primären Verbindung von Developer.

Verwendungshinweise  Die Standardverbindung ist die primäre Verbindung von Developer. Wenn EXEC_SQL.Default_Connection aufgerufen wird, wird die Standardverbindung gefunden, in einem Cache innerhalb des Pakets EXEC_SQL gespeichert, und ein Handle an den Benutzer zurückgegeben. Nachfolgende Aufrufe von EXEC_SQL.Default_Connection rufen einfach das Handle aus dem Cache ab.

Da dieses Verbindungs-Handle in einem Cache gespeichert ist, müssen Sie das Verbindungs-Handle in Aufrufen von anderen EXEC_SQL-Methoden nicht explizit angeben, wenn Sie auf Daten aus einer anderen Standardverbindung zugreifen. EXEC_SQL durchsucht den Cache automatisch, um das Verbindungs-Handle abzurufen.

Um den Cache zu löschen, rufen Sie EXEC_SQL.Close_Connection bei dem Verbindungs-Handle auf, das mit dem Aufruf von EXEC_SQL.Default_Connection abgerufen wurde. Bei Standardverbindungen beendet EXEC_SQL.Close_Connection die Verbindung nicht, sondern gibt nur die von EXEC_SQL benutzten Ressourcen frei.


Beispiel für EXEC_SQL.Default_Connection und EXEC_SQL.Curr_Connection

  Verwandte Themen	   Alle Beispiele

/*
** This example illustrates the use of
** EXEC_SQL.Default_Connection and
** 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
  --
  -- obtain the default connection and check that it is valid
  --
  connection_id := EXEC_SQL.DEFAULT_CONNECTION;
  bIsConnected := EXEC_SQL.IS_CONNECTED;
  IF bIsConnected = FALSE THEN
    TEXT_IO.PUT_LINE('No primary connection. Please connect before retrying.');
    RETURN;
  END IF;
  --
  -- subsequent calls to 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, EXEC_SQL.Close_Connection all use this connection
  -- implicitly from the 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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Erstellt einen neuen Cursor bei einer angegebenen Verbindung und gibt ein Cursor-Handle zurück. Wenn der Cursor nicht mehr benötigt wird, müssen Sie ihn explizit mit EXEC_SQL.Close_Cursor schließen.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.

Rückgabewert  Handle zu dem neuen Cursor.

Verwendungshinweise  Sie können Cursor verwenden, um dieselbe SQL-Anweisung wiederholt (ohne erneute Analyse) auszuführen oder um eine neue SQL-Anweisung (mit Analyse) auszuführen. Wenn Sie einen Cursor für eine neue Anweisung wiederverwenden, wird der Cursorinhalt automatisch zurückgesetzt, wenn die neue Anweisung analysiert wird. Dies bedeutet, daß Sie einen Cursor nicht schließen und erneut öffnen müssen, bevor Sie ihn wieder verwenden.


Beispiel für EXEC_SQL.Open_Cursor

  Verwandte Themen	   Alle Beispiele

PROCEDURE getData IS
  --
  -- a cursorID must be of type EXEC_SQL.cursType
  --
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;

  ...

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('connect_str');

  ...

  --
  -- this cursor is now associated with a particular connection
  --
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);

  ...

END;


EXEC_SQL.Parse

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Prozedur analysiert eine Anweisung für einen bestimmten Cursor.

Syntax

PROCEDURE EXEC_SQL.Parse
    ([Connid     IN CONNTYPE,]
      Curs_Id    IN CURSTYPE,
      Statement  IN VARCHAR2
      [Language  IN PLS_INTEGER]);

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Das Cursor-Handle, dem Sie die Anweisung zuweisen möchten.
Statement	Zu analysierende SQL-Anweisung. Diese darf kein abschließendes Semikolon enthalten.
Language_flag	Flag, mit dem festgelegt wird, wie Oracle die SQL-Anweisung bearbeitet. Gültige Flags sind: V6           Gibt das Oracle V6-Verhalten an. V7           Gibt das Oracle V7-Verhalten an. NATIVE   Standardwert

Verwendungshinweise  Alle SQL-Anweisungen müssen mit der Prozedur Parse analysiert werden. Bei der Analyse wird die Syntax der Anweisung geprüft und wird diese mit dem Cursor in Ihrem Code verknüpft. Im Gegensatz zu der OCI-Analyse erfolgt die Analyse bei EXEC_SQL stets unmittelbar. Sie können die Analyse von EXEC_SQL nicht verzögern.

Sie können jede DML- oder DDL-Anweisung analysieren. Bei Oracle-Datenquellen werden die DDL-Anweisungen bei der Analyse ausgeführt. Bei fremden Datenquellen können die DDL-Anweisungen in dem Analyseprogramm oder bei der Ausführung ausgeführt werden. Dies bedeutet, daß Sie alle DDL-Anweisungen stets in EXEC_SQL analysieren und ausführen sollten.


Beispiel für EXEC_SQL.Parse

  Verwandte Themen	   Alle Beispiele

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);
  --
  -- the statement to be parsed is stored as a VARCHAR2 variable
  --
  sqlstr := 'select ename from emp';
  --
  -- perform parsing
  --
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);

  ...

END;


EXEC_SQL.Describe_Column

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Ruft Informationen über die Spalten in einer Ergebnisgruppe einer analysierten SQL-Anweisung ab. Wenn Sie versuchen, eine Spaltennummer zu beschreiben, die in der Ergebnisgruppe nicht vorhanden ist, wird die Exception EXEC_SQL.Invalid_Column_Number ausgelöst. Tip

Syntax

PROCEDURE EXEC_SQL.Describe_Column
    ([Connid     IN CONNTYPE,
      Curs_Id    IN CURSTYPE,
      Position   IN PLS_INTEGER,
      Name       OUT VARCHAR2,
      Collen     OUT PLS_INTEGER,
      Type       OUT PLS_INTEGER]);

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Das Cursor-Handle, das der zu beschreibenden Spalte zugeordnet ist.
Position	Position in der Ergebnisgruppe der zu beschreibenden Spalte. Die Positionen sind von links nach rechts ab 1 numeriert.
Name	Enthält den Namen der Spalte bei der Ausgabe.
Collen	Enthält die maximale Länge der Spalte in Byte bei der Ausgabe.
Type	Enthält den Spaltentyp bei der Ausgabe. Die gültigen Werte sind: 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 fixed CHAR) EXEC_SQL.MLSLABLE_TYPE (nur Trusted Oracle)


Beispiel für EXEC_SQL.Describe_Column

  Verwandte Themen	   Alle Beispiele

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;	 --count of number of columns returned
  colName VARCHAR2(30);
  colLen PLS_INTEGER;
  colType PLS_INTEGER;

BEGIN
  connection_id := EXEC_SQL.OPEN_CONNECTION('connection_string');
  --
  -- when you do a "select *..." from a table which is known only at runtime,
  -- you cannot know what the columns are a priori. EXEC_SQL.Describe_Column becomes
  -- very usefule then
  --
  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;  --used as column index into result set
    --
    -- describe_column is in general used within a PL/SQL block with an exception
    -- block included to catch the EXEC_SQL.invalid_column_number exception.
    -- when no more columns are found, we can store the returned column names
    -- and column lengths in a PL/SQL table of records and do further queries
    -- to obtain rows from the table. In this example, colName, colLen and colType
    -- are used to store the returned column characteristics.
    --
  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('No columns returned in query');
  END IF;

  ...

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


EXEC_SQL.Bind_Variable

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Bindet einen gegebenen Wert mit einer benannten Variablen in einer SQL-Anweisung.

Syntax

PROCEDURE EXEC_SQL.Bind_Variable
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE,
      Name       IN VARCHAR2,
      Value      IN <datatype>);

wobei <datatype> einen der folgenden Werte annehmen kann:

      NUMBER
      DATE
      VARCHAR2

PROCEDURE EXEC_SQL.Bind_Variable
    ([Connid          IN CONNTYPE],
      Curs_Id         IN CURSTYPE,
      Name            IN VARCHAR2,
      Value           IN VARCHAR2,
      Out_Value_Size  IN PLS_INTEGER);

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Cursor-Handle, in dem die Variable gebunden werden soll.
Name	Name der Variablen in der SQL-Anweisung.
Value	Bei Variablen IN und IN/OUT entspricht der Wert den Daten, die Sie mit der benannten Variablen binden möchten. Bei Variablen OUT werden die Daten in Wirklichkeit ignoriert, Sie müssen jedoch Bind_Variable dennoch benutzen, um den Typ der PL/SQL-Variablen anzugeben, die später von Variable_Value abgerufen werden soll.
Out_Value_Size	Maximale Größe des Wertes OUT in Byte, die bei Variablen VARCHAR2 OUT oder IN/OUT erwartet wird. Wenn keine Größe angegeben wird, wird die aktuelle Länge des Parameters Value benutzt.

Verwendungshinweise  Benutzen Sie Platzhalter in SQL-Anweisungen, um zu markieren, wo Eingabedaten während der Laufzeit angegeben werden müssen. Sie müssen außerdem Platzhalter für Ausgabewerte verwenden, wenn es sich bei der Anweisung um einen PL/SQL-Block oder einen Aufruf einer gespeicherten Prozedur mit Ausgabeparametern handelt.

Für jeden Eingabe-Platzhalter müssen Sie EXEC_SQL.Bind_Variable verwenden, um den Wert anzugeben. Bei jedem Ausgabe-Platzhalter müssen Sie ebenfalls EXEC_SQL.Bind_Variable verwenden, um den Variablentyp anzugeben, der für den Abruf des Wertes in nachfolgenden Aufrufen von EXEC_SQL.Variable_Value benutzt werden soll.

Der Eingabe-Platzhalter oder die Bindevariable in einer SQL-Anweisung wird mit einem Namen gekennzeichnet, der mit einem Doppelpunkt beginnt. So ist z.B. die Zeichenfolge ':X' die Bindevariable in der folgenden SQL-Anweisung:

SELECT ename FROM emp WHERE SAL > :X;

Die entsprechende Prozedur EXEC_SQL.Bind_Variable ist:

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


Beispiel für EXEC_SQL.Bind_Variable

  Verwandte Themen	   Alle Beispiele

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);
  --
  -- the statement to be parsed contains a bind variable
  --
  sqlstr := 'select ename from emp where empno = :bn';
  --
  -- perform parsing
  --
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- the bind_variable procedure assigns the value of the input argument to the named
  -- bind variable. Note the use of the semi-colon and the quotes to designate the
  -- bind variable. The bind_variable procedure is called after the parse procedure.
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn', input_empno);
  EXEC_SQL.DEFINE_COLUMN(connection_id, cursorID, 1, mynum);

  ...

END;


EXEC_SQL.Define_Column

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Prozedur wird nur mit SELECT-Anweisungen oder Aufrufen von fremden gespeicherten Prozeduren benutzt, die eine Ergebnisgruppe zurückgeben. Sie definiert eine Spalte, die aus einem angegebenen Cursor abgerufen werden soll. Die Spalte wird durch ihre relative Position in der Ergebnismenge gekennzeichnet. Die erste relative Position wird mit der Ganzzahl 1 identifiziert. Der PL/SQL-Typ des Parameters Column bestimmt den Typ der zu definierenden Spalte.

Syntax

PROCEDURE EXEC_SQL.Define_Column
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE,
      Position   IN PLS_INTEGER,
      Column     IN <datatype>);

wobei <datatype> einen der folgenden Werte annehmen kann:

      NUMBER
      DATE
      VARCHAR2

PROCEDURE EXEC_SQL.Define_Column
    ([Connid       IN CONNTYPE],
      Curs_Id      IN CURSTYPE,
      Position     IN PLS_INTEGER,
      Column       IN VARCHAR2,
      Column_Size  IN PLS_INTEGER);

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Cursor-Handle, für das die Spalte definiert werden soll.
Position	Relative Position der Spalte in der Zeile oder Ergebnismenge. Die erste Spalte in der Anweisung hat eine relative Position von 1.
Column	Wert der zu definierenden Spalte. Der Wertetyp bestimmt den zu definierenden Spaltentyp. Der konkret in der Variablen gespeicherte Wert wird ignoriert.
Column_Size	Maximal erwartete Größe des Spaltenwertes in Byte (nur beim Spaltentyp VARCHAR2).

Verwendungshinweise  Bei einer Abfrage müssen Sie die Spalte definieren, bevor Sie die Daten mit EXEC_SQL.Column_Value abrufen.


Beispiel für EXEC_SQL.Define_Column

  Verwandte Themen	   Alle Beispiele

PROCEDURE getData IS
  connection_id EXEC_SQL.CONNTYPE;
  cursorID EXEC_SQL.CURSTYPE;
  sqlstr VARCHAR2(1000);
  loc_ename VARCHAR2(30);   -- these are variables local to the procedure;
  loc_eno NUMBER;           -- used to store the return values from our desired
  loc_hiredate DATE;        -- query

 ...

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);
  --
  -- we make one call to DEFINE_COLUMN per item in the select list. We must use local
  -- variables to store the returned values. For a result value that is a VARCHAR, it
  -- is important to specify the maximumn length. For a result value that is a number
  -- or a date, there is no need to specify the maximum length. We obtain the
  -- relative positions of the columns being returned from the select statement,
  -- 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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Führt die SQL-Anweisung bei einem angegebenen Cursor aus.

Syntax

FUNCTION EXEC_SQL.Execute
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE)
RETURN PLS_INTEGER;

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Cursor-Handle zu der auszuführenden SQL-Anweisung.
Rückgabewert  Anzahl von verarbeiteten Zeilen.

Verwendungshinweise  Der Rückgabewert ist nur für INSERT-, UPDATE- und DELETE-Anweisungen gültig. Bei anderen Anweisungen, einschließlich DDL, wird der Rückgabewert ignoriert, weil er undefiniert ist.


Beispiel für EXEC_SQL.Execute

  Verwandte Themen	   Alle Beispiele

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);
  --
  -- after parsing, and calling BIND_VARIABLE and DEFINE_COLUMN, if necessary, you
  -- are ready to execute the statement. Note that all information about the
  -- statement and its result set is encapsulated in the cursor referenced as cursorID.
  --
  nIgn := EXEC_SQL.EXECUTE(connection_id, cursorID);

 ...

END;


EXEC_SQL.Execute_And_Fetch

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Funktion ruft EXEC_SQL.Execute und danach EXEC_SQL.Fetch_Rows auf. Sie führt eine SQL-Anweisung bei einem angegebenen Cursor aus und ruft die erste Zeile ab, die der Abfrage gerecht wird. Durch Aufrufen von EXEC_SQL.Execute_And_Fetch kann die Anzahl von Roundtrips reduziert werden, wenn diese Funktion mit einer entfernten Datenbank benutzt wird.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Cursor-Handle zu der auszuführenden SQL-Anweisung.
Exact	Der Standardwert ist FALSE. Stellen Sie den Wert auf TRUE ein, um die Exception EXEC_SQL.Package_Error auszulösen. Die Zeile wird abgerufen, selbst wenn die Exception ausgelöst wird.
Rückgabewert  Anzahl von abgerufenen Zeilen (0 oder 1).


Beispiel für EXEC_SQL.Execute_And_Fetch

  Verwandte Themen	   Alle Beispiele

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);
  --
  -- assuming that empno is a primary key of the table emp, the where clause guarantees
  -- that 0 or 1 row is returned
  --
  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);
  --
  -- do execute_and_fetch after parsing the statement, and calling bind_variable and
  -- define_column if necessary
  --
  nIgn := EXEC_SQL.EXECUTE_AND_FETCH (connection_id, cursorID);
  IF (nIgn = 0 ) THEN
    TEXT_IO.PUT_LINE (' No employee has empno = ' || input_empno);
  ELSE IF (nIgn = 1) THEN
    TEXT_IO.PUT_LINE (' Found one employee with empno ' || input_empno);
  --
  -- obtain the values in this row
  --
    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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Ruft eine Zeile ab, die der Abfrage bei einem bestimmten Cursor gerecht wird.

Syntax

FUNCTION EXEC_SQL.Fetch_Rows
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE)
RETURN PLS_INTEGER;

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Cursor-Handle zu der SQL-Anweisung, aus der abgerufen werden soll.

Rückgabewert  Anzahl von konkret abgerufenen Zeilen.

Verwendungshinweise  Jede Funktion EXEC_SQL.Fetch_Rows ruft eine Zeile in einen Puffer ab. Benutzen Sie EXEC_SQL.Fetch_Rows wiederholt, bis 0 zurückgegeben wird. Bei Oracle-Datenbanken bedeutet dies, daß keine weiteren Daten mehr in der Ergebnismenge vorhanden sind. Bei fremden Datenquellen bedeutet dies nicht, daß keine weiteren Daten mehr in dem angegebenen Cursor vorhanden sind. Weitere Informationen finden Sie unter EXEC_SQL.More_Results_Sets.

Nach jedem Aufruf von EXEC_SQL.Fetch_Rows benutzen Sie EXEC_SQL.Column_Value, um jede Spalte in der abgerufenen Zeile zu lesen.


Beispiel für EXEC_SQL.Fetch_Rows

  Verwandte Themen	   Alle Beispiele

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;  -- used for counting the actual number of rows returned

 ...

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);
  --
  -- call FETCH_ROWS to obtain a row. When a row is returned, obtain the values,
  -- and increment the count.
  --
  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;
  --
  -- The loop terminates when FETCH_ROWS returns 0. This could have happen because
  -- the query was incorrect or because there were no more rows.  To distinguish
  -- between these cases, we keep track of the number of rows returned.
  --
  IF (nRows <= 0) THEN
    TEXT_IO.PUT_LINE ('Warning: query returned no rows');
  END IF;

...

END;


EXEC_SQL.More_Result_Sets

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Funktion gilt nur für fremde Verbindungen. Mit ihr wird bestimmt, ob eine weitere Ergebnismenge für einen angegebenen Cursor abgerufen werden kann.

Syntax

FUNCTION EXEC_SQL.More_Result_Sets
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE)
RETURN BOOLEAN;

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Cursor-Handle zu der SQL-Anweisung, aus der Ergebnisse abgerufen werden sollen.

Rückgabewert  TRUE oder FALSE

Verwendungshinweise  Wenn diese Funktion mit Oracle-Datenbanken benutzt wird, gibt sie immer FALSE zurück. Wenn eine fremde gespeicherte Prozedur über eine andere abzurufende Ergebnismenge verfügt, initialisiert die Funktion die Ergebnismenge und gibt TRUE zurück. Benutzen Sie EXEC_SQL.Describe_Column, um Informationen über die neue Ergebnismenge abzurufen, und EXEC_SQL.Fetch_Rows, um die Daten gegebenenfalls abzurufen.


Beispiel für EXEC_SQL.More_Result_Sets

  Verwandte Themen	   Alle Beispiele

PROCEDURE esmoreresultsets(sqlstr VARCHAR2) IS
  conidODBC EXEC_SQL.CONNTYPE;
  nRes PLS_INTEGER;
  nRows PLS_INTEGER := 0 ;
  curID EXEC_SQL.CURSTYPE;
BEGIN
  --
  -- an ODBC connection string; usually has the form 'username/password@ODBD:dbname'
  --
  conidODBC := EXEC_SQL.OPEN_CONNECTION('connection_str_ODBC');
  curID := EXEC_SQL.OPEN_CURSOR(conidODBC);
  EXEC_SQL.PARSE(conidODBC, curID, sqlstr, exec_sql.v7);
  nRes := EXEC_SQL.EXECUTE(conidODBC, curID);
  --
  -- obtain results from first query in sqlstr
  WHILE (EXEC_SQL.FETCH_ROWS(conidODBC, curID) > 0) LOOP
    nRows := nRows + 1;

 ...

  END LOOP;
  --
  -- for some non-Oracle databases, sqlstr may contain a batch of queries;
  -- MORE_RESULT_SETS checks for additional result sets
  --
  IF (EXEC_SQL.MORE_RESULT_SETS(conidODBC, curID)) THEN
    TEXT_IO.PUT_LINE(' more result sets ');
  ELSE
    TEXT_IO.PUT_LINE(' no more result sets ');
  END IF;

 ...

  EXEC_SQL.CLOSE_CONNECTION(conidODBC);
END;


EXEC_SQL.Column_Value

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Prozedur gibt den Wert des Cursors bei einer bestimmten Position in einem bestimmten Cursor an. Mit ihr wird auf die Daten zugegriffen, die durch Aufruf von EXEC_SQL.Fetch_Rows abgerufen werden.

Syntax

PROCEDURE EXEC_SQL.Column_Value
    ([Connid        IN CONNTYPE],
      Curs_Id       IN CURSTYPE,
      Position      IN PLS_INTEGER,
      Value         OUT <datatype>,
     [Column_Error  OUT NUMBER],
     [Actual_Length OUT PLS_INTEGER]);

wobei <datatype> einen der folgenden Werte annehmen kann:

NUMBER
DATE
VARCHAR2

Parameter

Name	Modus	Beschreibung
Connid	IN	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	IN	Cursor-Handle zu der Zeile, aus der der Spaltenwert eingelesen werden soll.
Position	IN	Relative Position der Spalte in dem angegebenen Cursor. Ausgehend vom linken Rand hat die erste Spalte die Position 1.
Value	OUT	Gibt den Wert der angegebenen Spalte und Zeile zurück.
Column_Error	OUT	Gibt den Fehlercode für den angegebenen Spaltenwert zurück (nur Oracle-Datenquellen).
Actual_Length	OUT	Gibt die konkrete Länge des Spaltenwertes vor dem Abschneiden zurück.

Verwendungshinweise Sie müssen EXEC_SQL.Define_Column benutzen, um Eigenschaften von Spaltendaten zu definieren, bevor Sie EXEC_SQL.Column_Value verwenden, um den Wert abzurufen. Wenn Sie einen Wert angeben, der einen PL/SQL-Typ hat, der sich von dem Typ unterscheidet, der von EXEC_SQL.Define_Column angegeben wurde, wird die Exception EXEC_SQL.Value_Error ausgelöst.


Beispiel für EXEC_SQL.Column_Value

  Verwandte Themen	   Alle Beispiele

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);
  --
  -- You must have used DEFINE_COLUMN to define the column data characteristics before
  -- using COLUMN_VALUE to retrieve the value. Assign the row's first value to the


  -- local variable loc_ename. Assign the row's second value to the local variable
  -- loc_eno. Assign the row's third value to the local variable 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 ('Warning: query returned no rows');
  END IF;

 ...

END;


EXEC_SQL.Variable_Value

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Prozedur ruft den Ausgabewert einer benannten Bindevariablen bei einem angegebenen Cursor ab. Außerdem werden die Werte von Bindevariablen in anonymen PL/SQL-Blöcken zurückgegeben.

Syntax

PROCEDURE EXEC_SQL.Variable_Value
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE,
      Name       IN VARCHAR2,
      Value      OUT <datatype>);

wobei <datatype> einen der folgenden Werte annehmen kann:

NUMBER
DATE
VARCHAR2

Parameter

Name	Modus	Beschreibung
Connid	IN	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	IN	Cursor-Handle, aus dem die Bindevariable abgerufen werden soll.
Name	IN	Name der Bindevariablen.
Value	OUT	Gibt den Wert der Bindevariablen für den angegebenen Cursor zurück.

Verwendungshinweise  Wenn Sie versuchen, einen anderen Datentyp abzurufen, als den Typ, der mit EXEC_SQL.Bind_Variable für die Bindevariable angegeben wurde, wird die Exception EXEC_SQL.Value_Error ausgelöst.


Beispiel für EXEC_SQL.Variable_Value

  Verwandte Themen	   Alle Beispiele

It is assumed that the following procedure, tstbindnum, exists on the server which is specified by the connection string used in OPEN_CONNECTION.

Create or replace procedure tstbindnum (input IN NUMBER, output OUT NUMBER) as

BEGIN
  output := input * 2;
END;

All this procedure does is to take an input number, double its value, and return it in the out variable.

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('connection_string');
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  sqlstr := 'begin   tstbindnum(:bn1, :bnret);   end;';   -- an anonymous block
  EXEC_SQL.PARSE(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- define input value
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bn1', input);
  --
  -- set up output value
  --
  EXEC_SQL.BIND_VARIABLE(connection_id, cursorID, ':bnret', mynum);
  nRes := EXEC_SQL.EXECUTE(connection_id, cursorID);
  --
  -- after the statement is executed, we call VARIABLE_VALUE to obtain the value of
  -- the bind variable :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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE zurück, wenn ein angegebener Cursor momentan für eine bestimmte Verbindung geöffnet ist.

Syntax

FUNCTION EXEC_SQL.Is_Open
    ([Connid     IN CONNTYPE],
      Curs_Id    IN CURSTYPE)
RETURN BOOLEAN;

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	Cursor-Handle, für das festgestellt werden soll, ob es geöffnet ist.

Rückgabewert  TRUE oder FALSE


Beispiel für EXEC_SQL.Is_Open, EXEC_SQL.Close_Cursor, EXEC_SQL.Is_Connected und EXEC_SQL.Close_Connection

  Verwandte Themen	   Alle Beispiele

/*
** This example illustrates the use of EXEC_SQL.Is_Open,
** EXEC_SQL.Close_Cursor, EXEC_SQL.Is_Connected and
** 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('connection_str');
  EXCEPTION
    WHEN EXEC_SQL.PACKAGE_ERROR THEN
    TEXT_IO.PUT_LINE(' connection open failed ');
  END;
  --
  -- confirm that connection is valid
  --
  bIsConnected := EXEC_SQL.IS_CONNECTED(connection_id);
  IF bIsConnected = FALSE THEN
    TEXT_IO.PUT_LINE('No present connection to any data source.  Please connect before retrying.');
    RETURN;
  END IF;
  --
  -- open a cursor and do an update
  --
  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);
  --
  -- reuse the same cursor, if open, to do another query.
  --
  sqlstr2 := 'select ename, empno, hiredate from emp ';
  --
  -- use IS_OPEN to check the state of the cursor
  --
  IS (EXEC_SQL.IS_OPEN(connection_id, cr1) != TRUE) THEN
    TEXT_IO.PUT_LINE('Cursor no longer available ');
    RETURN;
  END IF;
  --
  -- associate the cursor with another statement, and proceed to do the query.
  --
  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;
  --
  -- close the cursor and connection to free up resources
  --
  EXEC_SQL.CLOSE_CURSOR(connection_id, cr1);
  EXEC_SQL.CLOSE_CONNECTION(connection_id);
END;


EXEC_SQL.Close_Cursor

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Schließt einen angegebenen Cursor und gibt den diesem zugewiesenen Speicherplatz frei.

Syntax

PROCEDURE EXEC_SQL.Close_Cursor
    ([Connid     IN CONNTYPE],
      Curs_Id    IN OUT CURSTYPE);

Parameter

Parameter	Modus	Beschreibung
Connid	IN	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
Curs_Id	IN OUT	Handle zu dem zu schließenden Cursor. Wird auf NULL eingestellt.

Verwendungshinweise  Wenn Sie einen Cursor nicht mehr benötigen, müssen Sie ihn schließen. Sonst können Sie möglicherweise keine neuen Cursor öffnen.


EXEC_SQL.Is_Connected

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE zurück, wenn ein angegebenes Verbindungs-Handle momentan mit einer Datenquelle verbunden ist.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.

Rückgabewert  TRUE oder FALSE


EXEC_SQL.Is_OCA_Connection

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE zurück, wenn ein angegebenes Verbindungs-Handle für eine OCA-Verbindung gilt.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.

Rückgabewert  TRUE oder FALSE


Beispiel für EXEC_SQL.Is_OCA_Connection

  Verwandte Themen	   Alle Beispiele

PROCEDURE esmoreresultsets(sqlstr VARCHAR2) IS
  conidODBC EXEC_SQL.CONNTYPE;
  nRes PLS_INTEGER;
  nRows PLS_INTEGER := 0 ;
  curID EXEC_SQL.CURSTYPE;
BEGIN
  --
  -- an ODBC connection string
  --
  conidODBC := EXEC_SQL.OPEN_CONNECTION('connection_str_ODBC');
  curID := EXEC_SQL.OPEN_CURSOR(conidODBC);
  EXEC_SQL.PARSE(conidODBC, curID, sqlstr, exec_sql.v7);
  nRes := EXEC_SQL.EXECUTE(conidODBC, curID);
  --
  -- obtain results from first query in sqlstr
  --
  WHILE (EXEC_SQL.FETCH_ROWS(conidODBC, curID) > 0) LOOP
    nRows := nRows + 1;

 ...

  END LOOP;
  --
  -- check whether this is an OCA connection. Does not continue for an Oracle
  -- connection.
  --
  IF (EXEC_SQL.IS_OCA_CONNECTION != TRUE) THEN
    TEXT_IO.PUT_LINE('Not an OCA connection ');
    RETURN;
  END IF;
  --
  -- check for more result sets
  --
  IF (EXEC_SQL.MORE_RESULT_SETS(conidODBC, curID)) THEN
    TEXT_IO.PUT_LINE(' more result sets ');
  ELSE
    TEXT_IO.PUT_LINE(' no more result sets ');
  END IF;

 ...

  EXEC_SQL.CLOSE_CONNECTION(conidODBC);
END;


EXEC_SQL.Close_Connection

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Prozedur gibt Ressourcen frei, die von dem Verbindungs-Handle benutzt werden, und macht diese ungültig.

Syntax

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

Parameter

Name	Modus	Beschreibung
Connid	IN	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.
	OUT	Stellt das Handle auf NULL ein. Außerdem wird der gesamte dem Handle zugeordnete Speicherplatz freigegeben.

Verwendungshinweise  Wenn die Verbindung mit EXEC_SQL.Open_Connection geöffnet wird, schließt EXEC_SQL.Close_Connection auch die Datenbankverbindung. Wenn die Verbindung mit EXEC_SQL.Default_Connection geöffnet wird, schließt EXEC_SQL.Close_Connection die Datenbankverbindung nicht.

Sie müssen die Verbindung unbedingt schließen, wenn Sie sie nicht benötigen. Wenn Sie die Verbindung nicht schließen, bleibt die Datenbankverbindung geöffnet, und der gesamte der Verbindung zugewiesene Speicherplatz, einschließlich geöffneter Cursor, bleibt in Gebrauch. Dies kann zu Deadlocks bei der Verbindung führen.


EXEC_SQL.Last_Error_Position

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt den Byte-Versatz in der SQL-Anweisung zurück, bei dem ein Fehler aufgetreten ist. Das erste Zeichen in der Anweisung steht in Position 0.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.

Rückgabewert  Eine Ganzzahl.

Verwendungshinweise  Benutzen Sie diese Funktion im Anschluß an EXEC_SQL.PARSE und vor einer weiteren EXEC_SQL-Prozedur oder -Funktion. Der Byte-Versatz, bei dem ein Fehler aufgetreten ist, kann bei OCA-Datenquellen nicht ermittelt werden.


Beispiel für EXEC_SQL.Last_Error_Position

  Verwandte Themen	   Alle Beispiele

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
  --
  -- parsing statement from caller
  --
    EXEC_SQL.parse(connection_id, cursorID, sqlstr, exec_sql.V7);
  --
  -- check for error in statement; find out position where statement syntax is in error
  --
  EXCEPTION
    WHEN EXEC_SQL.PACKAGE_ERROR THEN
      nErrPos := EXEC_SQL.LAST_ERROR_POSITION(connection_id);
      TEXT_IO.PUT_LINE(' position in text where error occured '|| nErrPos);
      errmesg := EXEC_SQL.LAST_ERROR_MESG(connection_id);
      TEXT_IO.PUT_LINE(' error message ' || errmesg);
      RETURN;
  END;
  --
  -- here to execute statement
  --

  ...

  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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt die kumulative Anzahl von abgerufenen Zeilen zurück.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.

Rückgabewert  Eine Ganzzahl.

Verwendungshinweise  Benutzen Sie diese Funktion, nachdem Sie EXEC_SQL.Fetch_Rows oder EXEC_SQL.Execute_And_Fetch aufgerufen haben. Die Funktion gibt eine Null zurück, wenn sie nach einem Aufruf von EXEC_SQL.Execute benutzt wird.


Beispiel für EXEC_SQL.Last_Row_Count

  Verwandte Themen	   Alle Beispiele

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('connection_str');
  cursorID := EXEC_SQL.OPEN_CURSOR(connection_id);
  --
  -- in this query, we order the results explicitly
  --
  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);
    --
    -- do whatever processing is desired
    --
    IF (nIgn > 0) THEN
      EXEC_SQL.COLUMN_VALUE(connection_id, cursorID, 1, mynum);

      ...

    END IF;
    nRows := EXEC_SQL.LAST_ROW_COUNT(connection_id);
    --
    -- In this example, we are only interested in the first 10 rows, and exit after
    -- fetching them
    --
    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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt den letzten SQL-Funktionscode zurück, der den Typ der SQL-Anweisung angibt. Eine Liste der gültigen Funktionscodes finden Sie im Programmer's Guide to the Oracle Call Interface.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.

Rückgabewert  Eine Ganzzahl.

Verwendungshinweise  Benutzen Sie diese Funktion unmittelbar nach der Analyse der SQL-Anweisung.


Beispiel für EXEC_SQL.Last_SQL_Function_Code

  Verwandte Themen	   Alle Beispiele

/*
** In this procedure, a statement is passed in and executed.  If the statement is a
** select statement, then further processing is initiated to determine the column
** characteristics.
*/

PROCEDURE eslastfunccode(sqlstr VARCHAR2) IS
  connection_id EXEC_SQL.CONNTYPE;
  cursor_number EXEC_SQL.CursType;
  --
  -- The values for the function codes is dependent on the RDBMS version.
  --
  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('connection_str');
  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);
  --
  -- check what kind of function it is
  --
  nFunc := EXEC_SQL.LAST_SQL_FUNCTION_CODE(connection_id);
  IF (nFunc != SELECTFUNCCODE) THEN
    RETURN;
  END IF;
  --
  -- proceed to obtain the column characteristics
  --
  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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt den letzten Oracle-Fehlercode zurück, der für eine Verbindung ausgelöst wurde.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache ab.

Rückgabewert  Eine Ganzzahl.

Verwendungshinweise  Benutzen Sie diese Funktion unmittelbar nachdem die Exception EXEC_SQL.Package_Error ausgelöst wurde.


Beispiel für EXEC_SQL.Last_Error_Code und EXEC_SQL.Last_Error_Mesg

  Verwandte Themen	   Alle Beispiele

/*
** In the following procedure, we execute a statement that is passed in. If there
** are any exceptions shown, we check to see its nature using LAST_ERROR_CODE
** and 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('connection_str');
  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);
--
-- check the error in the exception block
--
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) );
  --
  -- ensure that even though an error has occurred, the cursor and connection
  -- are closed.
  --
  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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt den Meldungstext des letzten Fehlercodes zurück, der bei einer Verbindung ausgelöst wurde.

Syntax

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

Parameter

Connid	Handle zu der zu benutzenden Verbindung. Wenn Sie keine Verbindung angeben, ruft EXEC_SQL.Default_Connection das primäre Verbindungs-Handle von Developer aus dem Cache auf.

Rückgabewert  Eine Zeichenfolge.

Verwendungshinweise  Benutzen Sie diese Funktion unmittelbar nachdem die Exception EXEC_SQL.Package_Error ausgelöst wurde.


Tip

Um die Anzahl von Spalten in einer Ergebnisgruppe zu ermitteln, gehen Sie ab Spalte 1 durch die Spalten, bis die Exception EXEC_SQL.Invalid_Column_Number ausgelöst wird.


Primäre Datenbankverbindung ändern

  Verwandte Themen

Wenn Sie die primäre Developer-Verbindung ändern, nachdem Sie EXEC_SQL.Default_Connection aufgerufen haben, gibt der nächste Aufruf von EXEC_SQL.Default_Connection weiter das Handle aus dem Cache zurück. Die Funktion gibt nicht automatisch ein Handle zu der neuen Primärverbindung zurück.

Um sicherzustellen, daß Sie das richtige Handle verwenden, benutzen Sie immer EXEC_SQL.Close_Connection (ohne Argumente), bevor Sie die Primärverbindung ändern. Auf diese Weise kann EXEC_SQL die Speicherressourcen freigeben, die der vorherigen Verbindung zugewiesen wurden, ohne diese konkret zu schließen.


LIST-Paket

  Verwandte Themen 	  Alle vordefinierten Pakete

List.Appenditem

List.Destroy

List.Deleteitem

List.Fail

List.Getitem

List.Insertitem

List.Listofchar

List.Make

List.Nitems

List.Prependitem


List.Appenditem

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Fügt ein Objekt zu der Liste hinzu.

Syntax

PROCEDURE List.Appenditem
   (List Listofchar,
    item VARCHAR2);

Parameter

List	Liste.
item	Listenobjekt.


Beispiel für List.Appenditem

  Verwandte Themen	   Alle Beispiele

 /*
** Add an item to the end of 'my_List' then
** print out the number of items in the List
*/
PROCEDURE append (my_List List.Listofchars) IS
BEGIN
  List.Appenditem(my_List, 'This is the last item.');
  Text_IO.Put_Line(List.Getitem(my_List,
    List.Nitems(my_List)));
END;


List.Destroy

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Zerstört eine ganze Liste.

Syntax

PROCEDURE List.Destroy
   (List Listofchar);

Parameter

List	Liste.


Beispiel für List.Destroy

  Verwandte Themen	   Alle Beispiele

 /*
**  Destroy the List
*/
List.Destroy(my_package.my_List);


List.Deleteitem

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Löscht das Objekt bei der angegebenen Position in der Liste.

Syntax

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

Parameter

List	Liste.
pos	Position (Basis entspricht 0).


Beispiel für List.Deleteitem

  Verwandte Themen	   Alle Beispiele

 /*
** Delete the third item from 'my_List'
*/
List.Deleteitem(my_package.my_List, 2));


List.Fail

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird ausgelöst, wenn ein List-Vorgang nicht erfolgreich ist.

Syntax

List.Fail   EXCEPTION;


Beispiel für List.Fail

  Verwandte Themen	   Alle Beispiele

 /*
** Provide an exception handler for the
** List.Fail exception
*/
EXCEPTION
  WHEN List.Fail THEN
    Text_IO.Put_Line('list Operation Failed');


List.Getitem

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Liest ein Objekt aus der Liste ein.

Syntax

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

Parameter

List	Liste.
pos	Position (Basis entspricht 0).

Rückgabewert  Ein Objekt aus der angegebenen Liste.


Beispiel für List.Getitem

  Verwandte Themen	   Alle Beispiele

 /*
** Retrieve and print out the second item
** in my_List
*/
Text_IO.Put_Line(List.Getitem(my_List, 1));


List.Insertitem

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Fügt ein Objekt bei der angegebenen Position in die Liste ein.

Syntax

PROCEDURE List.Insertitem
   (List Listofchar),
    pos  PLS_INTEGER,
    item VARCHAR2);

Parameter

List	Liste.
pos	Position (Basis entspricht 0).
item	Listenobjekt.


Beispiel für List.Insertitem

  Verwandte Themen	   Alle Beispiele

 /*
** Add a string to the List In third place
** then retrieve the third item and print it
*/
PROCEDURE insert_item(my_List List.Listofchar) IS
BEGIN
  List.Insertitem(my_List, 2, 'This is the third
    item.');
  Text_IO.Put_Line(List.Getitem(my_List, 2));
END;


List.Listofchar

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Handle für eine Liste an.

Syntax

TYPE List.Listofchar;


Beispiel für List.Listofchar

  Verwandte Themen	   Alle Beispiele

 /*
** Declare a variable of the type
** Listofchar, then create the List
*/
PROCEDURE my_proc IS
  my_List List.Listofchar;
BEGIN
  my_List := List.Make;
END;


List.Make

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Erstellt eine neue leere Liste. Eine Liste muß erstellt werden, bevor sie benutzt werden kann.

Syntax

FUNCTION List.Make
RETURN Listofchar;

Verwendungshinweise  Mit dieser Funktion erstellte Listen müssen mit der Prozedur List.Destroy zerstört werden.


Beispiel für List.Make

  Verwandte Themen	   Alle Beispiele

 /*
** Create a List Of the type Listofchar
*/
PROCEDURE my_proc IS
  my_List List.Listofchar;
BEGIN
  my_List := List.Make;
END;


List.Nitems

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt die Anzahl von Objekten in der Liste zurück.

Syntax

FUNCTION List.Nitems
   (List Listofchar)
RETURN PLS_INTEGER;

Parameter

List	Liste.


Beispiel für List.Nitems

  Verwandte Themen	   Alle Beispiele

 /*
** For each item in my_List, retrieve the
** value of the item and print it out
*/
PROCEDURE print_List Is
BEGIN
  FOR i IN 0..List.Nitems(my_pkg.my_List)-1 LOOP
    Text_IO.Put_Line(List.Getitem(my_pkg.my_List, i));
  END LOOP;
END;


List.Prependitem

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Fügt ein Listenobjekt am Anfang einer Liste hinzu.

Syntax

PROCEDURE List.Prependitem
   (List Listofchar),
    item VARCHAR2);

Parameter

List	Liste.
item	Listenobjekt.


Beispiel für List.Prependitem

  Verwandte Themen	   Alle Beispiele

 /*
** Insert a string to the beginning of my_List
** then retrieve it and print it out
*/
PROCEDURE prepend(my_List List.Listofchars) IS
BEGIN
  List.Prependitem(my_List, 'This is the first item.');
  Text_IO.Put_Line(List.Getitem(my_List, 0));
END;


Paket ORA_NLS

  Verwandte Themen 	  Alle vordefinierten Pakete

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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE oder FALSE zurück, je nachdem, ob der aktuelle Zeichensatz "American" ist.

Syntax

FUNCTION Ora_Nls.American
RETURN BOOLEAN;

Rückgabewert  TRUE oder FALSE.


Beispiel für Ora_Nls.American

  Verwandte Themen	   Alle Beispiele

 /*
** Determine if you're dealing with an American
** set or not
*/
PROCEDURE is_american (out Text_IO.File_Type) IS
  us  BOOLEAN;
BEGIN
  us := Ora_Nls.American;
  IF us = TRUE
    Text_IO.Put (out, 'Character set it American');
  ELSE
    change_char_set;
  ENDIF
END;


Ora_Nls.American_Date

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE oder FALSE zurück, je nachdem, ob das aktuelle Datumsformat "American" ist.

Syntax

FUNCTION Ora_Nls.American_Date
RETURN BOOLEAN;

Rückgabewert  TRUE oder FALSE.


Beispiel für Ora_Nls.American_Date

  Verwandte Themen	   Alle Beispiele

 /*
** Determine if date format is American
*/
PROCEDURE is_amerdate (out Text_IO.File_Type) IS
  usd  BOOLEAN;
BEGIN
  usd := Ora_Nls.American_Date;
  IF usd = TRUE
    Text_IO.Put (out, 'Date format it American');
  ELSE
    change_date_to_us;
  ENDIF
END;


Ora_Nls.Bad_Attribute

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird ausgelöst, wenn kein Attribut für Ora_Nls.Get_Lang_Scalar oder Ora_Nls.Get_Lang_Str angegeben wird.

Syntax

Ora_Nls.Bad_Attribute  EXCEPTION;


Beispiel für Ora_Nls.Bad_Attribute

  Verwandte Themen	   Alle Beispiele

 /*
** Handle the Bad Attribute exception
*/
EXCEPTION
  WHEN Ora_Nls.Bad_Attribute THEN
    Text_IO.Put_Line('Check calls to Get_Lang_Scalar
      and Get_Lang_Str.  A bad attribute name was found.');


Ora_Nls.Get_Lang_Scalar

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt die angeforderten Informationen über die aktuelle Sprache zurück. Mit GET_LANG_SCALAR können Sie numerische Daten abrufen.

Syntax

FUNCTION Ora_Nls.Get_Lang_Scalar
   (attribute PLS_INTEGER)
RETURN NUMBER;

Parameter

attribute	Ora_Nls-Konstante oder der zugehörige ganzzahlige Wert. Eine Liste der Konstanten finden Sie unter Ora_Nls-Konstanten.
Rückgabewert  Eine Zahl.


Beispiel für Ora_Nls.Get_Lang_Scalar

  Verwandte Themen	   Alle Beispiele

 /*
** Retrieve and print out the language number
*/
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, "Current Language numer is %s\n",
    lang_num);
END;


Ora_Nls.Get_Lang_Str

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt die angeforderten Informationen über die aktuelle Sprache zurück. Mit GET_LANG_STR können Sie Zeicheninformationen abrufen.

Syntax

FUNCTION Ora_Nls.Get_Lang_Str
   (attribute PLS_INTEGER)
RETURN VARCHAR2;

Parameter

attribute	Ora_Nls-Konstante oder der zugehörige ganzzahlige Wert. Eine Liste der Konstanten finden Sie unter Ora_Nls-Konstanten.
Rückgabewert  Ein Zeichenwert.


Beispiel für Ora_Nls.Get_Lang_Str

  Verwandte Themen	   Alle Beispiele

 /*
** Retrieve and print out the language name
*/
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, "Current Language is %s\n",
    lang_name);
END;


Ora_Nls.Linguistic_Collate

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE oder FALSE zurück, je nachdem, ob die Zeichen im aktuellen Zeichensatz entsprechend besonderer linguistischer Informationen sortiert werden müssen.

Syntax

FUNCTION Ora_Nls.Linguistic_Collate
RETURN BOOLEAN;

Rückgabewert  TRUE oder FALSE.

Verwendungshinweise  Wenn diese Funktion TRUE zurückgibt, ergibt ein binärer Sortiervorgang von zwei Zeichen nicht unbedingt den richtigen Wert. Dies ist darauf zurückzuführen, daß Codierungsschemata für Zeichensätze nicht unbedingt alle Zeichen in aufsteigender numerischer Folge definieren.

Außerdem kann die Sortierposition eines Zeichens bei verschiedenen Sprachen variieren. So wird z.B. ein "ä" in Deutsch vor "b" sortiert, in Schwedisch jedoch hinter "z".


Beispiel für Ora_Nls.Linguistic_Collate

  Verwandte Themen	   Alle Beispiele

 /*
** Determine whether or not special collating is
** needed.
*/
collate := Ora_Nls.Linguistic_Collate;
  IF collate = TRUE THEN
    lang_name (langinfo.txt);
    Text_IO.Put ('This needs special collating.');
  ENDIF;


Ora_Nls.Linguistic_Specials

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE oder FALSE zurück, je nachdem, ob besondere linguistische Anforderungen benutzt werden.

Syntax

FUNCTION Ora_Nls.Linguistic_Specials
RETURN BOOLEAN;

Rückgabewert  TRUE oder FALSE.

Verwendungshinweise  Linguistische Sonderfälle sind sprachspezifische Sonderfälle beim Sortieren und bei der Konvertierung von Groß-/Kleinschreibung. Ein Beispiel hierfür ist der Großbuchstabe für das scharfe "s" im Deutschen (ein Byte), das "SS" (zwei Byte) ist. Die Sortierung erfolgt also mit dem Zwei-Byte-Wert.

Linguistische Sonderfälle werden in einer linguistischen Definition zusammen mit der normalen Sortierung definiert. Wenn linguistische Sonderfälle für eine bestimmte Sprache definiert sind, kann die Ausgabegröße von Funktionen, für die linguistische Sonderfälle gelten, größer sein als die Eingabefolge.


Beispiel für Ora_Nls.Linguistic_Specials

  Verwandte Themen	   Alle Beispiele

 /*
** Determine whether or not specials are in use
** and how to deal with them if so
*/
specials := Ora_Nls.Linguistic_Specials;
  IF specials = TRUE THEN
    lang_name (langinfo.txt);
    Text_IO.Put ('Specials are in use.');
  ENDIF;


Ora_Nls.Modified_Date_Fmt

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE oder FALSE zurück, je nachdem, ob das Datumsformat geändert wurde.

Syntax

FUNCTION Ora_Nls.Modified_Date_Fmt
RETURN BOOLEAN;

Rückgabewert  TRUE oder FALSE.


Beispiel für Ora_Nls.Modified_Date_Fmt

  Verwandte Themen	   Alle Beispiele

 /*
** Determine whether or not the date format has been
** modified
*/
modify := Ora_Nls.Modified_Date_Fmt;
IF modify = TRUE
  Text_IO.Putf (langinfo.txt, 'The date format
    has been modified.');
ENDIF;


Ora_Nls.No_Item

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird ausgelöst, wenn ein vom Benutzer angegebenes Attribut nicht in der Liste mit Attributkonstanten gefunden wird.

Syntax

Ora_Nls.No_Item  EXCEPTION;


Beispiel für Ora_Nls.No_Item

  Verwandte Themen	   Alle Beispiele

 /*
** Hand the exception for an unidentified attribute constant
*/
EXCEPTION
  WHEN Ora.Nls.No_Item THEN
    Text_IO.Put ('An attribute supplied is not valid.');


Ora_Nls.Not_Found

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Exception wird ausgelöst, wenn ein angefordertes Objekt nicht gefunden wird. Dies ist wahrscheinlich darauf zurückzuführen, daß Ora_Nls.Get_Lang_Scalar für das Abrufen von Zeicheninformationen oder Ora_Nls.Get_Lang_Str für das Abrufen numerischer Informationen benutzt wurde.

Syntax

Ora_Nls.Not_Found  EXCEPTION;


Beispiel für Ora_Nls.Not_Found

  Verwandte Themen	   Alle Beispiele

/*
** Hand the exception for an item that was not found
*/
EXCEPTION
  WHEN Ora.Nls.Not_Found THEN
    Text_IO.Put ('The item was not found, check calls to Get_Lang.');


Ora_Nls.Right_to_Left

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE oder FALSE zurück, je nachdem, ob die Schreibrichtung der aktuellen Sprache "von rechts nach links" ist.

Syntax

FUNCTION Ora_Nls.Right_To_Left
RETURN BOOLEAN;

Rückgabewert  TRUE oder FALSE.


Beispiel für Ora_Nls.Right_To_Left

  Verwandte Themen	   Alle Beispiele

 /*
** Verify that the language is a right-to-left language
*/
rtl := Ora_Nls.Right_To_Left;
IF rtl = FALSE
  Text_IO.Put (langinfo.txt, 'This is not a right to left
    language.');
ENDIF;


Ora_Nls.Simple_Cs

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE oder FALSE zurück, je nachdem, ob der aktuelle Zeichensatz einfach ist (d.h. Ein-Byte, keine Sonderzeichen, keine Sonderfälle).

Syntax

FUNCTION Ora_Nls.Simple_Cs
RETURN BOOLEAN;

Rückgabewert  TRUE oder FALSE.


Beispiel für Ora_Nls.Simple_Cs

  Verwandte Themen	   Alle Beispiele

 /*
**  Determine if the language is simple or not
*/
simplecs := Ora_Nls.Simple_Cs;
IF simplecs = TRUE
  lang_name (langinfo.txt);
  Text_IO.Put ('This language uses a simple
    character set.');
ELSE
  lang_name (langinfo.txt);
  Text_IO.Put ('This language uses a complex
    character set.');
ENDIF;


Ora_Nls.Single_Byte

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt TRUE oder FALSE zurück, je nachdem, ob alle Zeichen im aktuellen Zeichensatz in einem Byte dargestellt werden können.

Syntax

FUNCTION Ora_Nls.Single_Byte
RETURN BOOLEAN;

Rückgabewert  TRUE oder FALSE.


Beispiel für Ora_Nls.Single_Byte

  Verwandte Themen	   Alle Beispiele

 /*
** Determine if the character set is single or multi-byte
*/
bytes := Ora_Nls.Single_Byte;
IF bytes = FALSE
  lang_name (langinfo.txt);
  Text_IO.Put ('This is a multi-byte character set.');
END IF;


Paket ORA_FFI

  Verwandte Themen 	  Alle vordefinierten Pakete

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 Beispiel 1A

Ora_Ffi Beispiel 1B

Ora_Ffi Beispiel 2


Ora_Ffi.Ffi_Error

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird ausgelöst, wenn während der Benutzung des Pakets Ora_Ffi ein Fehler auftritt.

Syntax

EXCEPTION  Ora_Ffi_Error;


Beispiel für Ora_Ffi.Ffi_Error

  Verwandte Themen	   Alle Beispiele

/* This example uses Ora_Ffi_Error */

PRODEDURE register_libs IS
   testlib_lhandle ora_ffi.libhandletype;
BEGIN
   /* Attempt to load a dll library
      from a non-existant directory*/
   testlib_lhandle := ora_ffi.load_library
             ('C:\baddir\', 'libtest.dll');
EXCEPTION
   WHEN Ora_Ffi.Ffi_Error THEN
      /* print error message */
      text_io.put_line(tool_err.message);
      /* discard the error */
      tool_err.pop;
END;


Ora_Ffi.Find_Function

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Sucht und gibt das Funktions-Handle für die angegebene Funktion zurück. Sie können das Funktions-Handle abrufen, indem Sie einen Funktions- oder Bibliotheksnamen angeben. Die Funktion muß vorher mit Ora_Ffi.Register_Function registriert worden sein.

Syntax

FUNCTION Ora_Ffi.Find_Function
   (libHandle  libHandleType,
    funcname   VARCHAR2)
RETURN funcHandleType;

FUNCTION Ora_Ffi.Find_Function
   (libname   VARCHAR2,
    funcname  VARCHAR2)
RETURN funcHandleType;

Parameter

libHandle	Bibliotheks-Handle, das von Ora_Ffi.Load_Library oder Ora_Ffi.Find_Library zurückgegeben wird.
funcname	Name der zu suchenden Funktion.
libname	Name der Bibliothek, in der die Funktion steht.

Rückgabewert  Ein Handle zu der angegebenen Funktion.


Beispiel für Ora_Ffi.Find_Function

  Verwandte Themen	   Alle Beispiele

/* Find foreign function handle for
   a given foreign library handle and
   foreign function name */

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

/* Find foreign function handle for
   a given foreign function and
   foreign library names */
BEGIN
   ...
   funchandle := ora_ffi.find_function
            (libhandle, 'my_func');
   ...
END;


Ora_Ffi.Find_Library

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Sucht und gibt das Handle für die angegebene Fremdbibliothek zurück. Die Bibliothek muß vorher mit Ora_Ffi.Load_Library registriert worden sein.

Syntax

FUNCTION Ora_Ffi.Find_Library (libname VARCHAR2)
RETURN libHandleType;

Parameter

libname	Name der Bibliothek.

Rückgabewert  Ein Handle zu der angegebenen Fremdbibliothek.


Beispiel für Ora_Ffi.Find_Library

  Verwandte Themen	   Alle Beispiele

/* Find foreign library handle for
   a given library name */

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


Ora_Ffi.Funchandletype

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Handle zu einer Fremdfunktion an. Sie können Ora_Ffi.Find_Function benutzen, um das Handle zu ermitteln.

Syntax

TYPE Ora_Ffi.Funchandletype;


Beispiel für Ora_Ffi.Funchandletype

  Verwandte Themen	   Alle Beispiele

/* This example uses Ora_Ffi_Funchandletype */

PROCEDURE define_c_funcs IS
   getresult_fhandle  ora_ffi.funcHandleType;
   foo_fhandle        ora_ffi.funcHandleType;
BEGIN
   /* Register the info for function getresult */
   getresult_fhandle := ora_ffi.register_function
             (testlib_lhandle, 'getresult');
   ...
   /* Register the info for function foo */
   foo_fhandle := ora_ffi.register_function
             (testlib_lhandle,'foo');
   ...
END;


Ora_Ffi.Generate_Foreign

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Generiert ein Paket mit einem PL/SQL-Code für alle Funktionen, die in der angegebenen Bibliothek definiert sind. Sie müssen zuerst die Bibliothek laden, alle aufzurufenden Funktionen registrieren und deren Parameter- und Rückgabewerte registrieren.

Syntax

PROCEDURE Ora_Ffi.Generate_Foreign
   (handle libHandleType);

PROCEDURE Ora_Ffi.Generate_Foreign
   (handle  libHandleType,
    pkgname VARCHAR2);

Parameter

handle	Bibliotheks-Handle, das von Ora_Ffi.LoadLibrary oder Ora_Ffi.Find_Library zurückgegeben wird.
pkgname	Name des zu generierenden Pakets. Wenn Sie keinen Paketnamen angeben, wird der Name der Bibliothek mit vorangestelltem FFI_ benutzt. Wenn der Bibliotheksname z.B. LIBTEST ist, ist der Paketname FFI_LIBTEST.
Verwendungshinweise

•	Pakete, die mit der Funktion Ora_Ffi.Generate.Foreign generiert werden, werden in Ihrem aktuellen Namensbereich erstellt und erscheinen unter dem Knoten Programmblöcke im Objektnavigator von Procedure Builder. Nachdem ein Paket generiert wurde, können Sie es in den Knoten Programmblöcke einer PL/SQL-Bibliothek oder in den Knoten Gespeicherte Programmblöcke einer Datenbank kopieren. Außerdem können Sie es mit Datei [image] Exportieren in eine Textdatei exportieren, wie jedes andere Paket bzw. jede andere Prozedur, die Sie definiert haben.

•	Ein PL/SQL-Paket, das von der Funktion Ora_Ffi.Generate_Foreign generiert wurde, umfaßt automatisch die erforderlichen PRAGMA-Compiler-Anweisungen für jede der registrierten Funktionen:

PRAGMA interface (C, func_name, 11265);

wobei func_name der Name einer registrierten Fremdfunktion aus einer dll-Bibliothek ist, die schon geladen wurde. Sie können den Namen des generierten PL/SQL-Pakets angeben. Innerhalb dieses Pakets entspricht jedoch jede der Einsprungstellen den Namen der Fremdfunktionen, denen sie zugeordnet sind.


Beispiel für Ora_Ffi.Generate_Foreign

  Verwandte Themen	   Alle Beispiele

/* Define components of package test */

PACKAGE test IS
...
END;

/*Define package body procedures */
PACKAGE BODY test IS
   PRODEDURE register_libs IS
   BEGIN
      /* Load the test library */
      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
      /* Register the info for function getresult */
      getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
      ...
      /* Register the info for function foo */
      foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
      ...
      /* Generate PL/SQL package containing all
         functions defined in test library */
      ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
      ...
   END;
END;


Ora_Ffi.Is_Null_Ptr

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Bestimmt, ob ein Bibliotheks-, Funktions- oder Pointer-Handle gleich null ist.

Syntax

FUNCTION Ora_Ffi.Is_Null_Ptr (handle libHandleType)
RETURN BOOLEAN;

FUNCTION Ora_Ffi.Is_Null_Ptr (handle  funcHandleType)
RETURN BOOLEAN;

FUNCTION Ora_Ffi.Is_Null_Ptr (handle  pointerType)
RETURN BOOLEAN;

Parameter

handle	Auszuwertende Bibliothek bzw. Funktion oder auszuwertender Pointer.
Rückgabewert

TRUE	Wenn das Handle gleich null ist.
FALSE	Wenn das Handle nicht gleich null ist.


Beispiel für Ora_Ffi.Is_Null_Ptr

  Verwandte Themen	   Alle Beispiele

/* This example uses Ora_Ffi.Is_Null_Ptr */

PROCEDURE register_libs IS
...
BEGIN
   /* Load foreign function library */
   libhandle := Ora_Ffi.load_library
      ('C:\oralibs\', 'libfoo.dll');
   /* Test whether library is null */
   IF (ora_ffi.is_null_ptr(libhandle)) THEN
   ...
END;


Ora_Ffi.Libhandletype

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Handle zu einer Fremdfunktion an. Verwenden Sie Ora_Ffi.Find_Function, um das Handle zu ermitteln.

Syntax

TYPE Ora_Ffi.Libhandletype;


Beispiel für Ora_Ffi.Libhandletype

  Verwandte Themen	   Alle Beispiele

/* This example uses Ora_Ffi.Libhandletype */

PACKAGE test is
   /* Specify that testlib_lhandle
      is a library handle varible type */
   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

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Lädt eine angegebene dynamische Bibliothek, damit deren Funktionen registriert werden können.

Syntax

FUNCTION Ora_Ffi.Load_Library
   (dirname VARCHAR2,
    libname VARCHAR2)
RETURN libHandleType;

Parameter

dirname	Verzeichnis, in dem die Bibliothek gespeichert ist.
libname	Dateiname der Bibliothek.

Rückgabewert  Ein Handle zu der Fremdbibliothek. Diese Funktion gibt ein Null-Handle zurück, wenn die Bibliothek nicht gefunden oder geladen werden konnte.


Beispiel für Ora_Ffi.Load_Library

  Verwandte Themen	   Alle Beispiele

/* This example uses Ora_Ffi.Load_Library */

PACKAGE test is
   /* Declare testlib_lhandle as an Ora_Ffi
      library handle varible type. */
   testlib_lhandle  ora_ffi.libHandleType;
   ...
END;

PACKAGE BODY test IS
   PROCEDURE register_libs IS
   BEGIN
      /* Load the dynamic link library 'test.dll'
         from the directory C:\libdir\ and return
         the handle testlib_lhandle. */
      testlib_lhandle := Ora_Ffi.Load_library
            ('C:\libdir\','test.dll');
   ...
   END;
   ...
 END;


Ora_Ffi.Pointertype

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Kann den Wert eines allgemeinen C-Pointers annehmen (d.h. ein Pointer mit nicht angegebenem Typ).

Syntax

TYPE Ora_Ffi.Pointertype;


Beispiel für Ora_Ffi.Pointertype

  Verwandte Themen	   Alle Beispiele

/* This example uses Ora_Ffi.Pointertype */

PACKAGE imglib IS
   /* Declare Function get_image which
      returns a generic C pointer. */
   FUNCTION get_image(ikey IN OUT VARCHAR2)
     RETURN Ora_Ffi.Pointertype ;
   /* Declare Procedure show_image with parameter
      idata which is a generic C pointer.*/
   PROCEDURE show_image(idata Ora_Ffi.Pointertype,
                        iscale NUMBER);
END;
...

PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
   /* Declare img_ptr as a generic C pointer type */
   img_ptr Ora_Ffi.Pointertype;
BEGIN
   img_ptr := imglib.get_image(keywrd);
   imglib.show_image(img_ptr,2);
END;


Ora_Ffi.Register_Function

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Registriert eine angegebene Fremdfunktion.

Syntax

FUNCTION Ora_Ffi.Register_Function
  (libHandle  libHandleType,
   funcname   VARCHAR2,
   callstd    NUMBER   := C_STD)
RETURN funcHandleType;

Parameter

libHandle	Bibliotheks-Handle, das von Ora_Ffi.Load_Library oder Ora_Ffi.Find_Library zurückgegeben wird.
funcname	Name der zu registrierenden Funktion.
callstd	Aufruf, der von der Fremdfunktion benutzt wird. (Weitere Informationen finden Sie in der Compiler-Dokumentation.) Der Wert dieses Arguments kann einer der folgenden Paket-Konstanten entsprechen:
C_STD   Bedeutet, daß die Fremdfunktion den C-Aufrufstandard verwendet.

PASCAL_STD   Bedeutet, daß die Fremdfunktion den Pascal-Aufrufstandard verwendet.

Rückgabewert  Ein Handle zu der Fremdfunktion.


Beispiel für Ora_Ffi.Register_Function

  Verwandte Themen	   Alle Beispiele

/* Define Procedure define_c_funcs which calls two
   Ora_Ffi functions, getresult and foo. */

PROCEDURE define_c_funcs is
   getresult_fhandle  ora_ffi.funcHandleType;
   foo_fhandle        ora_ffi.funcHandleType;
BEGIN
   /* Register the info for function getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
   ...

   /* Register the info for function foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   ...
   /* Generate PL/SQL package containing all
      functions defined in test library */
   ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Register_Parameter

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Registriert den Argumenttyp des aktuellen Arguments der angegebenen Fremdfunktion.

Syntax

PROCEDURE Ora_Ffi.Register_Parameter
   (funcHandle funcHandleType,
    cargtype   PLS_INTEGER);

PROCEDURE Ora_Ffi.Register_Parameter
   (funcHandle funcHandleType,
    cargtype   PLS_INTEGER,
    plsargtype PLS_INTEGER);

Parameter

funcHandle	Funktions-Handle, das von Ora_Ffi.Register_Function oder Ora_Ffi.Find_Function zurückgegeben wird.
cargtype	C-Datentyp des aktuellen Arguments für die C-Fremdfunktion, die aufgerufen wird. Der Wert dieses Arguments kann einer der folgenden Paket-Konstanten entsprechen: C_CHAR   Bedeutet char C_CHAR_PTR   Bedeutet char * C_DOUBLE   Bedeutet double C_DOUBLE_PTR   Bedeutet double * C_FLOAT   Bedeutet float C_FLOAT_PTR   Bedeutet float * C_INT   Bedeutet int C_INT_PTR   Bedeutet int * C_LONG   Bedeutet long C_LONG_PTR   Bedeutet long * C_SHORT   Bedeutet short C_SHORT_PTR   Bedeutet short * C_VOID_PTR   Bedeutet void *
plsargtype	Entsprechender PL/SQL-Argumenttyp (optional).


Beispiel für Ora_Ffi.Register_Parameter

  Verwandte Themen	   Alle Beispiele

/* Define Procedure define_c_funcs which calls two
   Ora_Ffi functions, getresult and foo. */

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

BEGIN
   /* Register the info for function getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
  ...
   /* Register the info for function foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   /* Register the return type for function foo */
   ora_ffi.register_return
            (foo_fhandle, ora_ffi.C_SHORT);
   /* Register the parameter info for function 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);

   /* Generate PL/SQL package containing all functions
         defined in test library */
   ora_ffi.generate_foreign
            (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Register_Return

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Registriert den Rückgabetyp der angegebenen Fremdfunktion.

Syntax

PROCEDURE Ora_Ffi.Register_Return
   (funcHandle  funcHandleType,
    creturntype PLS_INTEGER);

PROCEDURE Ora_Ffi.Register_Return
   (funcHandle  funcHandleType,
    creturntype PLS_INTEGER,
    plsreturntype PLS_INTEGER);

Parameter

funcHandle	Funktions-Handle, das von Ora_Ffi.Register_Function oder Ora_Ffi.Find_Function zurückgegeben wird.
creturntype	C-Datentyp, der von der Fremdfunktion zurückgegeben wird. Der Wert dieses Arguments kann einer der folgenden Paket-Konstanten entsprechen: C_CHAR   Bedeutet char C_CHAR_PTR   Bedeutet char * C_DOUBLE   Bedeutet double C_DOUBLE_PTR   Bedeutet double * C_FLOAT   Bedeutet float C_FLOAT_PTR   Bedeutet float * C_INT   Bedeutet int C_INT_PTR   Bedeutet int * C_LONG   Bedeutet long C_LONG_PTR   Bedeutet long * C_SHORT   Bedeutet short C_SHORT_PTR   Bedeutet short * C_VOID_PTR   Bedeutet void *
plsreturntype	Entsprechender PL/SQL-Rückgabetyp (optional).


Beispiel für Ora_Ffi.Register_Return

  Verwandte Themen	   Alle Beispiele

/* Define Procedure define_c_funcs which calls two
   Ora_Ffi functions, getresult and foo. */

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

BEGIN
   /* Register the info for function getresult */
   getresult_fhandle := ora_ffi.register_function
            (testlib_lhandle,'getresult');
   /* Register the return type for function getresult */
   ora_ffi.register_return
            (getresult_fhandle, ora_ffi.C_CHAR_PTR);

   /* Register the info for function foo */
   foo_fhandle := ora_ffi.register_function
            (testlib_lhandle,'foo');
   /* Register the return type for function foo */
   ora_ffi.register_return
            (foo_fhandle, ora_ffi.C_SHORT);
   ...
   /* Generate PL/SQL package containing all
      functions defined in test library */
   ora_ffi.generate_foreign
             (testlib_lhandle, 'test_ffi_pkg');
   ...
END;


Ora_Ffi.Unload_Library

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Entlädt die angegebene dynamische Bibliothek. Auf die Funktionen in der Bibliothek kann erst wieder zugegriffen werden, wenn die Bibliothek wieder geladen wird.

Syntax

PROCEDURE Ora_Ffi.Unload_Library
   (libHandle  libHandleType);

Parameter

libHandle	Handle zu der zu entladenden Bibliothek.


Beispiel für Ora_Ffi.Unload_Library

  Verwandte Themen	   Alle Beispiele

/* First load a dll library */

PROCEDURE register_libs IS
   test_lib  Ora_Ffi.Libhandletype;
BEGIN
   /* Load the testlib.dll library
       from directory C:\libs\ */
   testlib_lhandle := ora_ffi.load_library
            ('C:\libs\', 'testlib.dll');
END;

/* Generate PL/SQL Package containing
   funtions from the test library. */

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

/* Unload the library */

PROCEDURE unload_libs IS
BEGIN
   /* Unload the dll library assigned to the
      library handle 'test_lib.' */
   Ora_Ffi.Unload_library(testlib_lhandle);
   ...
END;


Beispiel 1A für Ora_Ffi

  Verwandte Themen 	   Alle Beispiele

Angenommen, Sie möchten eine Schnittstelle zu der C-Funktion pow erstellen, die in der Laufzeitbibliothek von Microsoft Windows  gespeichert ist: C:\windows\system\msvcrt.dll. (Die Funktion pow erhebt x in die Potenz y.)

int pow(int x, int y)

Zuerst erstellen Sie eine Paketspezifikation, die die Bibliothek darstellt und die PL/SQL-Funktion definiert, die Sie aufrufen möchten:

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

Sie würden die PL/SQL-Funktion mathlib.pow, wie oben definiert, verwenden, um die Fremdfunktion pow aus der dynamischen Bibliothek msvcrt.dll aufzurufen.

Beachten Sie, daß dieses Unterprogramm kein Handle zu der Bibliothek oder Fremdfunktion erfordert. Der Einfachheit halber werden die verschiedenen Registrierungen in dem unten definierten Paketrumpf vorgenommen.

Hinweis: Dieses Beispiel verwendet eine PRAGMA-Compiler-Anweisung, um den PL/SQL-Compiler zu unterrichten, daß die Funktion ff_to_power als C-Funktion und nicht als PL/SQL-Funktion kompiliert werden soll. Unter Beispiel 1B für Ora_Ffi wird beschrieben, wie Sie dasselbe Ergebnis mit der Funktion Ora_Ffi.Generate_Foreign erzielen, mit der ein PL/SQL-Paket mathlib generiert wird. In Beispiel 1B wird die PRAGMA-Anweisung automatisch von der Funktion Ora_Ffi.Generate_Foreign verarbeitet.

PACKAGE BODY mathlib IS
  /* Declare the library and function handles. */
  mathlib_lhandle   Ora_Ffi.Libhandletype ;
  to_power_fhandle  Ora_Ffi.Funchandletype ;

  /* Create the PL/SQL function that will actually */
  /* invoke the foreign function.                  */
  FUNCTION ff_to_power(fhandle Ora_Ffi.Funchandletype,
         x NUMBER, y NUMBER)RETURN NUMBER;
  PRAGMA interface(C, ff_to_power, 11265);

  /* Create the PL/SQL function that is defined in */
  /* the package spec.  This function simply       */
  /* passes along the arguments it receives to     */
  /* ff_to_power (defined above), prepending the   */
  /* foreign function handle to the argument List. */
  FUNCTION pow(x NUMBER, y NUMBER) RETURN NUMBER IS
  BEGIN
    RETURN(ff_to_power(to_power_fhandle, x, y));
  END pow;

/* Define the body of package mathlib */
BEGIN

  /* Load the library. */
  mathlib_lhandle := Ora_Ffi.Load_Library
         ('C:\WINDOWS\SYSTEM\', 'msvcrt.dll');

  /* Register the foreign function. */
  to_power_fhandle := Ora_Ffi.Register_Function
         (mathlib_lhandle, 'pow', Ora_Ffi.C_Std);

  /* Register both parameters of function to_power. */
  Ora_Ffi.Register_Parameter (to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);
  Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);

  /* Register the return type. */
  Ora_Ffi.Register_Return (to_power_fhandle, Ora_Ffi.C_DOUBLE);

END;  /* Package Body Mathlib */

Um die C-Funktion pow aus mscvrt.dll aufzurufen, rufen Sie einfach die PL/SQL-Funktion pow auf, die in der Spezifikation des Pakets mathlib definiert ist. Zum Beispiel:

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


Beispiel 1B für Ora_Ffi

  Verwandte Themen	   Alle Beispiele

Hier ist eine Alternative zur Implementierung der C-Funktion pow, wie in Beispiel 1A für Ora_Ffi dargestellt. Dieses Beispiel benutzt die Funktion Ora_Ffi.Generate_Foreign, um ein PL/SQL-Paket zu generieren. Die PRAGMA-Compiler-Anweisung, die zur Kompilierung der C-Fremdfunktion erforderlich ist, wird automatisch in dem generierten Paket aufgenommen, so daß sie in dem unten dargestellten Paketrumpf nicht verwendet wird.

/* Create package mathlib that will generate a PL/SQL
package using a foreign file C function to raise a
number to a power. The parameter, pkg_name, lets you
specify the name of the generated package. */
PACKAGE mathgen IS
   PROCEDURE gen(pkg_name IN VARCHAR2);
END;

PACKAGE BODY mathgen IS
   /* Define the 'gen' procedure that will generate the
      foreign file package. */
   PROCEDURE gen(pkg_name IN VARCHAR2) IS
      /* Declare the library and function handles. */
      mathlib_lhandle   Ora_Ffi.Libhandletype ;
      to_power_fhandle  Ora_Ffi.Funchandletype ;

   BEGIN   /* package body mathlib */
      /* Load the library. */
      mathlib_lhandle := Ora_Ffi.Load_Library
         ('C:\WINDOWS\SYSTEM\', 'msvcrt.dll');

      /* Register the foreign function. */
      to_power_fhandle := Ora_Ffi.Register_Function
         (mathlib_lhandle, 'pow', Ora_Ffi.C_Std);

      /* Register both parameters of the foreign function. */
      Ora_Ffi.Register_Parameter (to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);
      Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);

      /* Register the return type of the foreign function. */
      Ora_Ffi.Register_Return (to_power_fhandle, Ora_Ffi.C_DOUBLE);

      /* Generate a PL/SQL package containing the foreign C function,
         'pow.' You can name the new package by specifying a value
          for the parameter, pkg_name, when you generate the package. */
      Ora_Ffi.generate_foreign(mathlib_lhandle, pkg_name);

   END; /* Procedure gen */
END; /* Package Body mathgen */

Um eine Zahl mit dieser Methode zu potenzieren, müssen Sie zuerst ein PL/SQL-Paket mit dem Paket mathgen und der Prozedur gen generieren. Wenn das generierte PL/SQL-Potenzierungspaket z.B. die Bezeichnung mathlib hat, würden Sie dieses wie folgt generieren:

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

Um die Potenzierungsfunktion dann aus dem Paket mathlib aufzurufen, könnten Sie eine Prozedur wie die folgende schreiben:

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


Beispiel 2 für Ora_Ffi

  Verwandte Themen	   Alle Beispiele

Angenommen, Sie möchten eine Schnittstelle zu den folgenden C-Funktionen erstellen, die in der Bibliothek C:\oralibs\imglib.dll gespeichert sind:

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

Angenommen, die Funktion get_image verwendet ein Schlüsselwortargument, um Bilddaten zu laden, und gibt dann einen allgemeinen Pointer (d.h. einen Pointer mit einem nicht angegebenen Typ) zu diesen Binärdaten zurück. Sie können den Pointer und einen Skalierungsfaktor dann an show_image übergeben, wodurch das Bild auf dem Bildschirm angezeigt wird.

Zuerst erstellen Sie eine Paketspezifikation, die die Bibliothek darstellt und die PL/SQL-Funktionen definiert, die Sie aufrufen möchten:

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 */

Der Paketrumpf wird als nächstes definiert:

PACKAGE BODY imglib IS
  /* Declare the library and function handles. */
  imglib_lhandle      Ora_Ffi.libHandleType;
  get_image_fhandle   Ora_Ffi.funcHandleType;
  show_image_fhandle  Ora_Ffi.funcHandleType;

  /* Create the PL/SQL function that will actually  */
  /* invoke the 'get_image' foreign function.       */
  FUNCTION ff_get_image(fhandle Ora_Ffi.funcHandleType,
                        ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.handleType;
    PRAGMA interface(C, ff_get_image, 11265);

  /* Create the 'get_image' PL/SQL function that is */
  /* defined in the package spec.                   */
  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;   /* function get_image */

  /* Create the PL/SQL procedure that will actually */
  /* invoke the 'show_image' foreign function.      */
  PROCEDURE ff_show_image(fhandle Ora_Ffi.funcHandleType,
                          idata Ora_Ffi.handleType,
                          iscale NUMBER);
    PRAGMA interface(C, ff_show_image, 11265);

  /* Create the 'show_image' PL/SQL procedure that is */
  /* defined in the package spec.                     */
  PROCEDURE show_image(idata Ora_Ffi.pointerType,
                       iscale NUMBER) IS
  BEGIN
    ff_show_image(show_image_fhandle, idata.handle, iscale);
  END;   /* procedure show_image */

BEGIN   /* package body imglib */

  /* Load the library. */
  imglib_lhandle := Ora_Ffi.Load_Library
         ('C:\oralibs\', 'imglib.dll');

  /* Register the foreign functions. */
  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);

  /* Register the parameters. */
  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);

  /* Register the return type ('get_image' only). */
  Ora_Ffi.Register_Return(get_image_fhandle,
                          Ora_Ffi.C_Void_Ptr);

END;   /* package body imglib */

Um die Fremdfunktionen aufzurufen, würden Sie die PL/SQL-Prozeduren aufrufen, die in der Paketspezifikation definiert sind, wie im folgenden Beispiel:

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;   /* procedure display_image */


OLE2-Paket

  Verwandte Themen 	  Alle vordefinierten Pakete

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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Fügt ein Argument zu einer Argumentliste hinzu, die mit OLE2.Create_Arglist erstellt wurde.

Syntax

PROCEDURE OLE2.Add_Arg
   (List  List_Type,
    value NUMBER);

PROCEDURE OLE2.Add_Arg
   (List  List_Type,
    value VARCHAR2);

Parameter

List	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.
value	Argumentwert.

Verwendungshinweise  Das Argument kann vom Typ NUMBER oder VARCHAR2 sein.


Beispiel für OLE2.Add_Arg

  Verwandte Themen	   Alle Beispiele

 /*
** Add an argument to my_Arglist
*/
OLE2.Add_Arg(my_Arglist, 'Sales Revenue');


OLE2.Add_Arg_Obj

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Hängt ein Objektargument an eine Argumentliste an, die mit OLE2.Create_Arglist erstellt wurde.

Syntax

PROCEDURE OLE2.Add_Arg_Obj
   (List IN List_Type,
    value IN Obj_Type);

Parameter

List	Listen-Handle, das von einem Aufruf der Funktion OLE2.Create_Arglist zurückgegeben wird.
value	Wert eines Arguments Obj_Type, der an den OLE2-Automationsserver übergeben werden muß.


Beispiel für OLE2.Add_Arg_Obj

  Verwandte Themen	   Alle Beispiele

 /*
 ** When the OLE interface must accept an unknown object
** as an argument instead of a pure scalar type, use the
** Add_Arg_Obj procedure.
*/
object = OLE2.CREATE_OBJ(obj_name);
listh := OLE2.CREATE_ARGLIST;

OLE2.ADD_ARG_OBJ(listh, object);


OLE2.Create_Arglist

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Erstellt eine Argumentliste, die Sie an den OLE2-Automationsserver übergeben können.

Syntax

FUNCTION OLE2.Create_Arglist
RETURN List_Type;

Rückgabewert  Ein Handle zu einer Argumentliste.


Beispiel für OLE2.Create_Arglist

  Verwandte Themen	   Alle Beispiele

 /*
** Declare a variable of the type OLE2.List_Type
** then create the argument List Of that name
*/
  my_Arglist  OLE2.List_Type;
BEGIN
  my_Arglist := OLE2.Create_Arglist;
  OLE2.Add_Arg(my_Arglist, 'Sales Revenue');
END;


OLE2.Create_Obj

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Erstellt ein OLE2-Automationsobjekt.

Syntax

FUNCTION OLE2.Create_Obj
   (object  VARCHAR2)
RETURN obj_type;

Parameter

object	OLE2-Automationsobjekt.

Rückgabewert  Ein Handle zu einem OLE2-Automationsobjekt.


Beispiel für OLE2.Create_Obj

  Verwandte Themen	   Alle Beispiele

 /*
** Create an OLE2 Object
*/
obj := OLE2.Create_Obj('Excel.Application.5');


OLE2.Destroy_Arglist

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Zerstört eine Argumentliste, die vorher mit der Funktion OLE2.Create_Arglist erstellt wurde.

Syntax

PROCEDURE OLE2.Destroy_Arglist
   (List List_Type);

Parameter

List	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.


Beispiel für OLE2.Destroy_Arglist

  Verwandte Themen	   Alle Beispiele

 /*
** Destroy an argument list.
*/
OLE2.Destroy_Arglist(My_Arglist);


OLE2.Get_Char_Property

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Liest ein Attribut aus einem OLE2-Automationsobjekt ein.

Syntax

FUNCTION OLE2.Get_Char_Property
   (object   obj_type,
    property VARCHAR2,
    Arglist  List_Type := 0)
RETURN VARCHAR2;

Parameter

object	OLE2-Automationsobjekt.
Property	Name eines Attributs in einem OLE2-Automationsobjekt.
Arglist	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.

Rückgabewert  Ein Zeichenwert.


Beispiel für OLE2.Get_Char_Property

  Verwandte Themen	   Alle Beispiele

 /*
** Get the property for the object.
*/
str := OLE2.Get_Char_Property(obj, 'text');


OLE2.Get_Num_Property

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Liest einen Zahlenwert aus einem OLE2-Automationsobjekt ein.

Syntax

FUNCTION OLE2.Get_Num_Property
   (object   obj_type,
    property VARCHAR2,
    Arglist  List_Type := 0)
RETURN NUMBER;

Parameter

object	OLE2-Automationsobjekt.
Property	Name eines Attributs in einem OLE2-Automationsobjekt.
Arglist	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.

Rückgabewert  Ein Zahlenwert.


Beispiel für OLE2.Get_Num_Property

  Verwandte Themen	   Alle Beispiele

 /*
** Get the number value for the center of the map.
*/
x := OLE2.Get_Num_Property(Map,'GetMapCenterX');
y := OLE2.Get_Num_Property(Map,'GetMapCenterY');


OLE2.Get_Obj_Property

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Liest einen Objektwert aus einem OLE2-Automationsobjekt ein.

Syntax

FUNCTION OLE2.Get_Obj_Property
   (object   obj_type,
    property VARCHAR2,
    Arglist  List_Type := 0)
RETURN OBJ_TYPE;

Parameter

object	OLE2-Automationsobjekt.
Property	Name eines OLE2-Automationsobjekts.
Arglist	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.

Rückgabewert  Ein Attribut eines OLE2-Automationsobjekts.


Beispiel für OLE2.Get_Obj_Property

  Verwandte Themen	   Alle Beispiele

 /*
**Get the object type value for the spreadsheet object.
*/
the_obj:=OLE2.Get_Obj_Property(spreadsheet_obj,
'Application');


OLE2.Invoke

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Ruft eine OLE2-Methode auf.

Syntax

PROCEDURE OLE2.Invoke
   (object obj_type,
    method VARCHAR2,
    List   List_Type := 0);

Parameter

object	OLE2-Automationsobjekt.
Method	Methode (Prozedur) des OLE2-Objekts.
List	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.


Beispiel für OLE2.Invoke

  Verwandte Themen	   Alle Beispiele

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


OLE2.Invoke_Num

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Liest einen Zahlenwert aus einem OLE2-Automationsobjekt mit der angegebenen Methode ein.

Syntax

FUNCTION OLE2.Invoke_Num
   (object   obj_type,
    method   VARCHAR2,
    Arglist  List_Type := 0)
RETURN NUMBER;

Parameter

object	OLE2-Automationsobjekt.
Method	Name einer OLE2-Automationsmethode (Funktion), die einen Zahlenwert zurückgibt.
Arglist	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.

Rückgabewert  Ein Zahlenwert.


Beispiel für OLE2.Invoke_Num

  Verwandte Themen	   Alle Beispiele

 /*
**  Get the number value using the specified method.
*/
the_num:=OLE2.Invoke_Num (spreadsheet_obj, 'npv',
my_Arglist);


OLE2.Invoke_Char

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Liest einen Zeichenwert aus einem OLE2-Automationsobjekt mit der angegebenen Methode ein.

Syntax

FUNCTION OLE2.Invoke_Char
   (object   obj_type,
    method   VARCHAR2,
    Arglist  List_Type := 0)
RETURN VARCHAR2;

Parameter

object	OLE2-Automationsobjekt.
Method	Name einer OLE2-Automationsmethode (Funktion), die einen Zeichenwert zurückgibt.
Arglist	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.

Rückgabewert  Ein Zeichenwert.


Beispiel für OLE2.Invoke_Char

  Verwandte Themen	   Alle Beispiele

 /*
** Get the character value for spell_obj.
*/
correct:=OLE2.Invoke_Char(spell_obj, 'spell', my_Arglist);


OLE2.Invoke_Obj

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Liest einen Objektwert aus einem OLE2-Automationsobjekt ein.

Syntax

FUNCTION OLE2.Invoke_Obj
   (object   obj_type,
    method   VARCHAR2,
    Arglist  List_Type := 0)
RETURN OBJ_TYPE;

Parameter

object	OLE2-Automationsobjekt.
Method	Name einer aufzurufenden OLE2-Automationsmethode.
Arglist	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.

Rückgabewert  Ein OLE2-Automationsobjekt.


Beispiel für OLE2.Invoke_Obj

  Verwandte Themen	   Alle Beispiele

 /*
** Get the object type value for wp_obj.
*/
para_obj:=OLE2.Invoke_Obj(wp_obj, 'get_para', my_Arglist);


OLE2.IsSupported

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Bestätigt, daß das OLE2-Paket auf der aktuellen Plattform unterstützt wird.

Syntax

OLE2.ISSUPPORTED

Rückgabewert  TRUE, wenn OLE2 auf der Plattform unterstützt wird; FALSE, wenn nicht.


Beispiel für OLE2.IsSupported

  Verwandte Themen	   Alle Beispiele

/*
** Before calling an OLE2 object in platform independent code,
** use this predicate to determine if OLE2 is supported on the
** current platform.
*/
IF (OLE2.ISSUPPORTED)THEN
. . . PL/SQL code using the OLE2 package
ELSE
. . . message that OLE2 is not supported
END IF;


OLE2.Last_Exception

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt die letzte OLE2-Exception zurück, die von einer PL/SQL-Exception signalisiert wird.

Syntax

FUNCTION last_exception return NUMBER;

oder

FUNCTION last_exception(message OUT VARCHAR2) return NUMBER;

Parameter

message	Eine Textfolge (VARCHAR2), die den Text der OLE2-Fehlermeldung enthält. Wenn aufgenommen, wird diese Variable an den Aufrufer der Funktion zusätzlich zu dem Wert des Fehlercodes zurückgegeben.

Rückgabewert  Der vollständige OLE2-Fehlercode aus der letzten OLE2-Exception.

Verwendungshinweise

•	Sie können beide oben aufgeführten Syntaxformen für diese Funktion verwenden. Die erste Syntax gibt nur den Fehlercode zurück, während die zweite Syntax eine Textbeschreibung des Fehlers zusätzlich zu dem Fehlercode zurückgibt.

•	Diese Funktion gibt einen vollständigen OLE2- (Windows-)Fehlercode in Form einer NUMBER zurück. Um nur den Teil mit dem Fehlercode zu extrahieren, müssen Sie das höchstwertige Bit (Schweregrad) entfernen und die verbleibende Zahl dann in das Format INTEGER oder BINARY_INTEGER umsetzen. Unter Beispiel für OLE2.Last_Excecption finden Sie ein Beispiel für eine Prozedur, die den Fehlercode als Ganzzahl extrahiert.


Beispiel für OLE2.Last_Exception

  Verwandte Themen	   Alle Beispiele

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
  --
  -- OLE errors are formatted as 32 bit unsigned integers and
  -- returned as Oracle NUMBERS. We want to extract only the
  -- error code, which is contained in the lowest 16 bits.
  -- We must first strip off the top [severity] bit, if it
  -- exists. Then, we must translate the error to an
  -- INTEGER or BINARY INTEGER and extract the error code.
  --
  -- Some helpful constants:
  --  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;
     -- Mask out just the Code section
     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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Handle zu einer Argumentliste an.

Syntax

List   OLE2.LIST_TYPE;


Beispiel für OLE2.List_Type

  Verwandte Themen	   Alle Beispiele

...
  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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Handle zu einem OLE2-Automationsobjekt an.

Syntax

obj OLE2.OBJECT_TYPE;

Verwendungshinweise

•	OLE2.Obj_Type ist das Äquivalent des OLE2-Pakets für ein unbekanntes Objekt.

•	Weitere Informationen finden Sie unter FORMS_OLE.GET_INTERFACE_POINTER in der Dokumentation zu Forms.


Beispiel für OLE2.Obj_Type

  Verwandte Themen	   Alle Beispiele

 /*
 ** Create an OLE2 Object
 */

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


OLE2.OLE_Error

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Exception wird bei einem Fehler in dem OLE2-Paket ausgelöst.

Syntax

OLE2.OLE_ERROR EXCEPTION;


Beispiel für OLE2.OLE_Error

  Verwandte Themen	   Alle Beispiele

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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Exception wird ausgelöst, wenn das OLE2-Paket aufgerufen wird, OLE2 jedoch auf der aktuellen Software-Plattform nicht unterstützt wird.

Syntax

OLE2.OLE_NOT_SUPPORTED EXCEPTION;


Beispiel für OLE2.OLE_Not_Supported

  Verwandte Themen	   Alle Beispiele

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 is not supported on this computer');
    olepack.shutdown(...);
END ole_test;


OLE2.Release_Obj

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Signalisiert einem OLE2-Automationsobjekt, daß der PL/SQL-Client dieses nicht mehr benötigt.

Syntax

PROCEDURE OLE2.Release_Obj
   (object   obj_type);

Parameter

object	OLE2-Automationsobjekt.

Verwendungshinweise  Mit dieser Prozedur kann das Betriebssystem dem Objekt zugeordnete Ressourcen freigeben. Sie müssen jedes OLE2-Automationsobjekt freigeben, das Sie mit dem OLE2-Paket erstellen oder aufrufen.


Beispiel für OLE2.Release_Obj

  Verwandte Themen	   Alle Beispiele

/*
**Release the OLE2 object objap.
*/
declare
  objap   OLE2.Obj_Type;
begin
  objap:=OLE2.Create_Obj('Excel.application.5');
  OLE2.Release_Obj(objap);
end;


OLE2.Set_Property

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Stellt den Wert eines Attributs eines OLE2-Automationsobjekts ein.

Syntax

PROCEDURE OLE2.Set_Property
   (object   obj_type,
    property VARCHAR2,
    value    NUMBER,
    Arglist  List_Type := 0);

PROCEDURE OLE2.Set_Property
   (object   obj_type,
    property VARCHAR2,
    value    VARCHAR2,
    Arglist  List_Type := 0);

Parameter

object	OLE2-Automationsobjekt.
property	Name eines Attributs in einem OLE2-Automationsobjekt.
value	Attributwert.
Arglist	Name einer Argumentliste, die der Funktion OLE2.Create_Arglist zugewiesen ist.


Beispiel für OLE2.Set_Property

  Verwandte Themen	   Alle Beispiele

/*
**Set properties for the OLE2 object `Excel.Application'.
*/
application:=OLE2.CREATE_OBJ('Excel.Application');
OLE2.Set_Property(application,'Visible', 'True');

workbooks:=OLE2.INVOKE_OBJ(application, 'Workbooks');
workbook:=OLE2.INVOKE_OBJ(workbooks,'Add');
worksheets:=OLE2.INVOKE_OBJ(workbook, 'Worksheets');
worksheet:=OLE2.INVOKE_OBJ(worksheets,'Add');
args:=OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, 4);
OLE2.ADD_ARG(args, 2);
cell:=OLE2.Invoke_Obj(worksheet, 'Cells', args);
OLE2.DESTROY_ARGLIST(args);
OLE2.Set_Property(cell, 'Value', 'Hello Excel!');


Paket ORA_PROF

  Verwandte Themen 	  Alle vordefinierten Pakete

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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird ausgelöst, wenn ein ungültiger Timer-Name für eine andere Prozedur oder Funktion des Pakets ORA_PROF angegeben wird.

Syntax

Ora_Prof.Bad_Timer  EXCEPTION;


Beispiel für Ora_Prof.Bad_Timer

  Verwandte Themen	   Alle Beispiele

  /*
** Create a timer, start it, run a subprogram,
** stop the timer, then display the time in
** seconds.  Destroy the timer when finished.
*/
PROCEDURE timed_proc (test VARCHAR2) IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('loop2');
  Ora_Prof.Start_Timer('loop2');
  test;
  Ora_Prof.Stop_Timer('loop2');
  Text_IO.Putf('Loop executed in %s seconds.\n',
                Ora_Prof.Elapsed_Time('loop2'));
  Ora_Prof.Destroy_Timer('loop2');
EXCEPTION
  WHEN ORA_PROF.BAD_TIMER THEN
  text_io.put_line('Invalid timer name');

END;


Ora_Prof.Create_Timer

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Ordnet den benannten Timer zu. Alle Referenzen auf den benannten Timer vor Benutzung dieses Dienstes lösen einen Fehler aus.

Syntax

PROCEDURE Ora_Prof.Create_Timer
   (timer VARCHAR2);

Parameter

timer	Name des Timers.


Beispiel für Ora_Prof.Create_Timer

  Verwandte Themen	   Alle Beispiele

 /*
**Allocate the timer 'LOOPTIME'.
*/
Ora_Prof.Create_Timer('LOOPTIME');


Ora_Prof.Destroy_Timer

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Zerstört den benannten Timer. Zu diesem Zeitpunkt wird der gesamte von dem Timer belegte Speicherplatz freigegeben. Alle Bezugnahmen auf den benannten Timer nach Benutzung dieses Dienstes lösen einen Fehler aus.

Syntax

PROCEDURE Ora_Prof.Destroy_Timer
   (timer VARCHAR2);

Parameter

timer	Name des Timers.


Beispiel für Ora_Prof.Destroy_Timer

  Verwandte Themen	   Alle Beispiele

 /*
**Destroy the timer 'LOOPTIME'.
*/
Ora_Prof.Destroy_Timer('LOOPTIME');


Ora_Prof.Elapsed_Time

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt die Zeit zurück, die im Code-Timer seit dem letzten Aufruf von Ora_Prof.Reset_Timer abgelaufen ist.

Syntax

FUNCTION Ora_Prof.Elapsed_Time
   (timer PLS_INTEGER)
RETURN PLS_INTEGER;

Parameter

timer	Name des Timers.

Rückgabewert  Die Zeit (in Millisekunden), die im Code-Timer angesammelt wurde.


Beispiel für Ora_Prof.Elapsed_Timer

  Verwandte Themen	   Alle Beispiele

 /*
** Create a timer, start it, run a subprogram,
** stop the timer, then display the time in
** seconds.  Destroy the timer when finished.
*/
PROCEDURE timed_proc (test VARCHAR2) IS
  i PLS_INTEGER;
BEGIN
  Ora_Prof.Create_Timer('loop2');
  Ora_Prof.Start_Timer('loop2');
  test;
  Ora_Prof.Stop_Timer('loop2');
  Text_IO.Putf('Loop executed in %s seconds.\n',
     Ora_Prof.Elapsed_Time('loop2'));
  Ora_Prof.Destroy_Timer('loop2');
END;


Ora_Prof.Reset_Timer

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Setzt die abgelaufene Zeit eines Timers auf null zurück.

Syntax

PROCEDURE Ora_Prof.Reset_Timer
   (timer VARCHAR2);

Parameter

timer	Name des Timers.


Beispiel für Ora_Prof.Reset_Timer

  Verwandte Themen	   Alle Beispiele

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


Ora_Prof.Start_Timer

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Startet einen Timer. Die Zeit, die zwischen den Aufrufen von Ora_Prof.Timer_Start und Ora_Prof.Timer_Stop aufgelaufen ist, wird zu der gesamten abgelaufenen Zeit des Timers addiert.

Syntax

PROCEDURE Ora_Prof.Start_Timer
   (timer VARCHAR2);

Parameter

timer	Name des Timers.


Beispiel für Ora_Prof.Start_Timer

  Verwandte Themen	   Alle Beispiele

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


Ora_Prof.Stop_Timer

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Stoppt einen Timer. Die Zeit, die zwischen den Aufrufen von Ora_Prof.Timer_Start und Ora_Prof.Timer_Stop aufgelaufen ist, wird zu der gesamten abgelaufenen Zeit des Timers addiert.

Syntax

PROCEDURE Ora_Prof.Stop_Timer
   (timer VARCHAR2);

Parameter

timer	Name des Timers.


Beispiel für Ora_Prof.Stop_Timer

  Verwandte Themen	   Alle Beispiele

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


Paket TOOL_RES

  Verwandte Themen 	  Alle vordefinierten Pakete

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

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird ausgelöst, wenn das an Tool_Res.Rfclose übergebene File-Handle ungültig ist.

Syntax

Tool_Res.Bad_File_Handle  EXCEPTION;


Beispiel für Tool_Res.Bad_File_Handle

  Verwandte Themen	   Alle Beispiele

/*
** This examples uses Tool_Res.Bad_File_Handle
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  resfileh1  TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Open a resource file */
  resfileh := TOOL_RES.RFOPEN('C:\resource\test.res');
  ...
  /* Used wrong handle to close
       the resource file. */
  TOOL_RES.RFCLOSE(resfileh1);
  ...
EXCEPTION
  WHEN TOOL_RES.BAD_FILE_HANDLE THEN
    /* print error message */
    TEXT_IO.PUT_LINE('Invalid file handle.');
    /* discard the error */
    TOOL_ERR.POP;
END;


Tool_Res.Buffer_Overflow

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird ausgelöst, wenn Sie versucht haben, eine Ressource einzulesen, die länger war als der angegebene Puffer.

Syntax

Tool_Res.Buffer_Overflow  EXCEPTION;


Beispiel für Tool_Res.Buffer_Overflow

   Verwandte Themen	   Alle Beispiele

/*
** This example uses Tool_Res.Buffer_Overflow
*/
PRODEDURE res_buf_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Open a resource file */
  resfileh := TOOL_RES.RFOPEN
           ('C:\resource\test.res');
  /*  Attempt to read very large string
          which overflows buffer. */
  res1 := TOOL_RES.RFREAD(resfileh,'res_1');
   ...

EXCEPTION
  WHEN TOOL_RES.BUFFER_OVERFLOW THEN
    /* print error message */
    TEXT_IO.PUT_LINE('Buffer overflow.');
    /* discard the error */
    TOOL_ERR.POP;
END;


Tool_Res.File_Not_Found

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Wird ausgelöst, wenn die angegebene Datei nicht geöffnet werden kann, wahrscheinlich aus einem der folgenden Gründe:

•	Dateiname

•	Zugriffsberechtigung zu der Datei

•	Systemfehler

Syntax

Tool_Res.File_Not_Found  EXCEPTION;


Beispiel für Tool_Res.File_Not_Found

  Verwandte Themen	   Alle Beispiele

/*
** This example uses Tool_Res.File_Not_Found
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /* Open a resource file */
  resfileh := TOOL_RES.RFOPEN
        ('C:\resource\twst.res');
  /* File name is misspelled. */
  ...

EXCEPTION
  WHEN TOOL_RES.FILE_NOT_FOUND THEN
    /* print error message */
    TEXT_IO.PUT_LINE('Cannot find the file.');
    /* discard the error */
    TOOL_ERR.POP;
END;


Tool_Res.No_Resource

  Beispiele 	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Diese Exception wird ausgelöst, wenn die benannte Ressource nicht gefunden werden konnte. Wenn eine Datei angegeben wurde, ist die Ressource in dieser Datei nicht vorhanden. Wenn keine Datei angegeben wurde, ist die Ressource in keiner der Resource-Dateien vorhanden, die gerade geöffnet sind.

Syntax

Tool_Res.No_Resource  EXCEPTION;


Beispiel für Tool_Res.No_Resource

  Verwandte Themen	   Alle Beispiele

/*
** This examples uses Tool_Res.No_Resource
*/
PRODEDURE res_test IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /* Open a resource file */
  resfileh := TOOL_RES.RFOPEN
         ('C:\resource\test.res');
  /* Attempt to read nonexistant
     resource from file. */
  res1 := TOOL_RES.RFREAD(resfileh,'Res_1');
   ...

EXCEPTION
  WHEN TOOL_RES.NO_RESOURCE THEN
    /* print error message */
    TEXT_IO.PUT_LINE('Cannot find the resource.');
    /* discard the error */
    TOOL_ERR.POP;
END;


Tool_Res.Rfclose

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Schließt die angegebene Resource-Datei. Alle Dateien, die mit Tool_Res.Rfopen geöffnet wurden, müssen mit Tool_Res.Rfclose geschlossen werden, bevor die Anwendung beendet wird.

Syntax

PROCEDURE Tool_Res.Rfclose
   (file rfhandle);

Parameter

file	Zu schließende Datei.

Verwendungshinweise  Die folgenden Exceptions können von RFCLOSE ausgelöst werden:

BAD_FILE_HANDLE	Wird ausgelöst, wenn das File-Handle nicht auf eine gültige Datei zeigt.
Tool_Err.Tool_Error	Wird ausgelöst, wenn ein interner Fehler abgefangen wird.


Beispiel für Tool_Res.Rfclose

  Verwandte Themen	   Alle Beispiele

/*
** This examples uses Tool_Res.Rfclose
*/
PROCEDURE my_cleanup
     (my_file_handle IN OUT TOOL_RES.RFHANDLE)IS
BEGIN
  /* Assign a resource file to 'fhandle.' */
  ...

  /* Close the resource file with the
              handle ‘fhandle.’ */
  TOOL_RES.RFCLOSE(my_file_handle);
  ...
END;


Tool_Res.Rfhandle

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Handle zu einer Datei an.

Syntax

TYPE Tool_Res.Rfhandle;


Beispiel für Tool_Res.Rfhandle

   Verwandte Themen	   Alle Beispiele

/*
** This examples uses Tool_Res.Rfhandle
*/
PRODEDURE res_test IS
  /* Specify the handle ‘resfileh'. */
  resfileh   TOOL_RES.RFHANDLE;
BEGIN
  /* Assign handle to a resource file */
  resfileh := TOOL_RES.RFOPEN('C:\test.res');
  ...
END;


Tool_Res.Rfopen

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Öffnet die angegebene Datei als Resource-Datei.

Syntax

FUNCTION Tool_Res.Rfopen
   (spec VARCHAR2)
RETURN rfhandle;

Parameter

spec	Zu öffnende Datei. Bei spec muß die Schreibweise nicht berücksichtigt werden.

Rückgabewert  Ein Handle zu der angegebenen Datei.

Verwendungshinweise  Die folgenden Ausnahmen können von Tool_Res.Rfopen ausgelöst werden:

File_Not_Found	Wird ausgelöst, wenn spec nicht auf eine gültige Datei zeigt, oder wenn die Datei nicht geöffnet werden kann.
Tool_Err.Tool_Error	Wird ausgelöst, wenn ein interner Fehler abgefangen wird.


Beispiel für Tool_Res.Rfopen

  Verwandte Themen	   Alle Beispiele

/*
** This example uses Tool_Res.Rfopen
*/
PROCEDURE my_init
  (fhandle OUT TOOL_RES.RFHANDLE) IS
BEGIN
  /* Open a resource file and assign it to
            the handle, 'fhandle.' */
  fhandle := TOOL_RES.RFOPEN('C;\my_app.res');
   ...
END;


Tool_Res.Rfread

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Liest die angegebene Ressource. Wenn ein File-Handle enthalten ist, wird nur in der angegebenen Resource-Datei nach der angegebenen Ressource gesucht. Sonst werden alle gerade geöffneten Resource-Dateien durchsucht.

Syntax

FUNCTION Tool_Res.Rfread
   (rfile   rfhandle,
    resid   VARCHAR2,
    restype VARCHAR2 := 'string')
RETURN VARCHAR2;

FUNCTION Tool_Res.Rfread
   (resid   VARCHAR2,
    restype VARCHAR2 := 'string')
RETURN VARCHAR2;

Parameter

rfile	Zu lesende Datei.
resid	Ressourcen-ID.
restype	Art der Ressource.

Rückgabewert  Ein Handle zu der angegebenen Datei.

Verwendungshinweise  Die folgenden Exceptions können von Rfread ausgelöst werden:

No_Resource	Wird ausgelöst, wenn die angegebene Ressource nicht gefunden werden konnte.
Buffer_Overflow	Wird ausgelöst, wenn der angegebene "Puffer" kleiner ist als die angeforderte Ressource.
Tool_Err.Tool_Error	Wird ausgelöst, wenn ein interner Fehler abgefangen wird.


Beispiel für Tool_Res.Rfread

  Verwandte Themen	   Alle Beispiele

/*
** This examples uses Tool_Res.Rfread
*/
PRODEDURE ban_res IS
  resfileh   TOOL_RES.RFHANDLE;
  res1       VARCHAR2(20);
BEGIN
  /*  Open a resource file */
  resfileh := TOOL_RES.RFOPEN
         ('C:\resource\test.res');
  /*  Read resource string 'banner' from file */
  res1 := TOOL_RES.RFREAD(resfileh,'banner');
  ...

  TEXT_IO.PUT_LINE(res1);
  ...

END;


Paket TEXT_IO

  Verwandte Themen 	  Alle vordefinierten Pakete

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

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Schließt eine geöffnete Datei.

Syntax

PROCEDURE Text_IO.Fclose
   (file file_type);

Parameter

file	Variable, mit der die zu schließende Datei angegeben wird.


Beispiel für Text_IO.close

  Verwandte Themen	   Alle Beispiele

 /*
**  Close the output file.
*/
Text_IO.Fclose (out_file);


Text_IO.File_Type

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Gibt ein Handle zu einer Datei an.

Syntax

TYPE Text_IO.File_Type;


Beispiel für Text_IO.File_Type

  Verwandte Themen	   Alle Beispiele

 /*
** Declare a local variable to represent
** the output file you will write to.
*/
out_file  Text_IO.File_Type;


Text_IO.Fopen

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Öffnet die angegebene Datei im angegebenen Modus.

Syntax

FUNCTION Text_IO.Fopen
   (spec     VARCHAR2,
    filemode VARCHAR2)
RETURN Text_IO.File_Type;

Parameter

spec	Zeichenfolge, die einem Dateinamen entspricht. Bei dieser Zeichenfolge muß die Groß-/Kleinschreibung nicht berücksichtigt werden.
Filemode	Einzelnes Zeichen, mit dem der Modus angegeben wird, in dem die Datei geöffnet werden soll. Bei dem Zeichen muß die Groß-/Kleinschreibung nicht berücksichtigt werden. Es handelt es sich um eines der folgenden Zeichen: R Öffnet die Datei mit Schreibschutz. W Öffnet die Datei für das Lesen und Schreiben, nachdem alle bestehenden Zeilen in der Datei gelöscht wurden. A Öffnet die Datei für das Lesen und Schreiben, ohne bestehende Zeilen zu löschen (d.h. die Zeilen werden angehängt).

Rückgabewert  Ein Handle zu der angegebenen Datei.


Beispiel für Text_IO.Fopen

  Verwandte Themen	   Alle Beispiele

 /*
** Declare two local variables to represent two files:
** one to read from, the other to write to.
*/
in_file   Text_IO.File_Type;
out_file  Text_IO.File_Type;
in_file  := Text_IO.Fopen('salary.txt', 'r');
out_file := Text_IO.Fopen('bonus.txt', 'w');


Text_IO.Is_Open

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Prüft, ob die angegebene Datei gerade geöffnet ist.

Syntax

FUNCTION Text_IO.Is_Open
   (file file_type)
RETURN BOOLEAN;

Parameter

file	Variable, die die zu überprüfende Datei angibt.

Rückgabewert  TRUE oder FALSE.


Beispiel für Text_IO.Is_Open

  Verwandte Themen	   Alle Beispiele

 /*
** Determine if the output file is open.  If so,
** then close it.
*/
IF Text_IO.Is_Open(out_file) THEN
   Text_IO.Fclose(out_file);


Text_IO.Get_Line

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Ruft die nächste Zeile einer geöffneten Datei ab und setzt sie in item (Objekt). Text_IO.Get_Line liest Zeichen bis zu einem Zeilenschaltungszeichen oder bis zu einer Dateiende- (EOF)-Bedingung.

Wenn die zu lesende Zeile die Größe von item (Objekt) überschreitet, wird die Exception Value_Error ausgelöst. Wenn keine weiteren Zeichen in der Datei mehr vorhanden sind, wird die Exception No_Data_Found ausgelöst.

Syntax

PROCEDURE Text_IO.Get_Line
  (file file_type,
   item OUT VARCHAR2);

Parameter

file	Variable, mit der eine geöffnete Datei angegeben wird.
item	Variable, in der die nächste gelesene Zeile steht.


Beispiel für Text_IO.Get_Line

  Verwandte Themen	   Alle Beispiele

/*
** Open a file and read the first line
** into linebuf.
*/
declare
  in_file  Text_IO.File_Type;
  linebuf  VARCHAR2(80);
begin
  in_file := Text_IO.Fopen('salary.txt', 'r');
  Text_IO.Get_Line(in_file,linebuf);
end;


Text_IO.New_Line

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Verkettet die angegebene Anzahl von Zeilenschaltungszeichen mit der aktuellen Zeile einer geöffneten Datei oder gibt diese an den Interpreter aus. Standardmäßig wird ein neues Zeilenschaltungszeichen generiert, wenn Sie keine Zahl angeben (z.B. Text_IO.New_Line;).

Syntax

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

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

Parameter

file	Variable, die eine geöffnete Datei angibt.
n	Ganzzahl.


Beispiel für Text_IO.New_Line

  Verwandte Themen	   Alle Beispiele

 /*
** Write a string to the output file, then
** create a newline after it.
*/
Text_IO.Put(out_file, SYSDATE);
Text_IO.New_Line(out_file, 2);


Text_IO.Put

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Verkettet die angegebenen Daten mit der aktuellen Zeile einer geöffneten Datei oder gibt sie an den Interpreter aus. Beachten Sie, daß es mehrere Text_IO.Put-Prozeduren gibt, die die Werte VARCHAR2, DATE, NUMBER und PLS_INTEGER für item (Objekt) akzeptieren. Alle Prozeduren (mit Ausnahme von VARCHAR2) konvertieren die angegebenen Daten in eine Zeichenfolge. Es wird kein Zeilenschaltungszeichen hinzugefügt.

Syntax

PROCEDURE Text_IO.Put
   (file file_type,
    item VARCHAR2);

PROCEDURE Text_IO.Put
   (item VARCHAR2);

PROCEDURE Text_IO.Put
   (item DATE);

PROCEDURE Text_IO.Put
   (file file_type,
    item DATE);

PROCEDURE Text_IO.Put
   (file file_type,
    item NUMBER);

PROCEDURE Text_IO.Put
   (item NUMBER);

PROCEDURE Text_IO.Put
   (file file_type,
    item PLS_INTEGER);

PROCEDURE Text_IO.Put
   (item PLS_INTEGER);

Parameter

file	Variable, die eine geöffnete Datei angibt.
item	Vriable, die als Puffer benutzt werden soll.


Beispiel für Text_IO.Put

  Verwandte Themen	   Alle Beispiele

 /*
** Write a line to a specified output file, create
** a newline, then write another line to the output
** file.
*/
Text_IO.Put(out_file, SYSDATE);
Text_IO.New_Line(out_file);
Text_IO.Put('Processing ends...');


Text_IO.Putf

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Formatiert und schreibt eine Meldung in eine geöffnete Datei oder gibt die Meldung an den Interpreter aus. Sie können bis zu fünf "%s"-Muster in format aufnehmen (z.B. '%s %s %s'). Die Muster "%s" werden durch nachfolgende Zeichen-arg-Werte ersetzt (z.B. 'Jeden', 'Wert', 'ersetzen'). "\n"-Muster werden durch Zeilenschaltungszeichen ersetzt.

Syntax

PROCEDURE Text_IO.Putf
   (arg    VARCHAR2);

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

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

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

Parameter

arg	Argument, mit dem der anzuzeigende Wert angegeben wird (z.B. Zeichenfolge, Variable).
format	Gibt das Format der anzuzeigenden Meldung an.
file	Variable, die eine geöffnete Datei angibt.

Verwendungshinweise  Um die Meldungen zu formatieren, bei denen nicht durch Zeichen ersetzt wird, verwenden Sie die Funktion TO_CHAR für das Argument (siehe folgendes Beispiel).


Beispiel für Text_IO.Putf

  Verwandte Themen	   Alle Beispiele

 /*
** Write a line to the output file, using the
** TO_CHAR(SYSDATE) call to represent the substituted
** character variable.
*/
Text_IO.Putf(out_file,'Today is %s\n',
  TO_CHAR(SYSDATE));


Text_IO.Put_Line

  Beispiele	   Verwandte Themen 	   Alle vordefinierten Pakete

Beschreibung  Verkettet die Zeichendaten, die von item (Objekt) geliefert werden, mit der aktuellen Zeile einer geöffneten Datei oder gibt sie an den Interpreter aus. Am Ende der Zeichenfolge wird automatisch ein Zeilenvorschubzeichen hinzugefügt.

Syntax

PROCEDURE Text_IO.Put_Line
   (file file_type,
    item VARCHAR2);

Parameter

file	Variable, die eine geöffnete Datei angibt.
item	Vriable, die die anzuzeigenden Zeichendaten angibt.


Beispiel für Text_IO.Put_Line

  Verwandte Themen	   Alle Beispiele

 /*
** Print two complete lines to the output file.
*/
Text_IO.Put_Line(out_file, TO_CHAR(SYSDATE));
Text_IO.Put_Line('Starting test procedures...');


Über vordefinierte Oracle Developer-Pakete

  Verwandte Themen 	  Alle vordefinierten Pakete

Oracle Developer wird mit verschiedenen client-seitigen vordefinierten Paketen geliefert, die viele PL/SQL-Konstrukte enthalten, die Sie beim Generieren von Anwendungen oder beim Debuggen des Anwendungscodes referenzieren können. Diese vordefinierten Pakete sind nicht als Erweiterungen des Pakets STANDARD installiert. Wenn Sie also ein Konstrukt in einem dieser Pakete referenzieren, müssen Sie den Paketnamen voranstellen (z.B. TEXT_IO.Put_Line).

Die vordefinierten Pakete sind:

DDE	Unterstützt den Dynamischen Datenaustausch (Dynamic Data Exchange) innerhalb von Oracle Developer-Komponenten.
DEBUG	Enthält Prozeduren, Funktionen und Exceptions für das Debuggen von PL/SQL-Programmblöcken.
EXEC_SQL	Enthält Prozeduren und Funktionen zur Ausführung von dynamischem SQL-Code innerhalb von PL/SQL-Code, der für Oracle Developer-Anwendungen geschrieben wurde.
LIST	Enthält Prozeduren, Funktionen und Exceptions, mit denen Sie Listen mit Zeichenfolgen (VARCHAR2) erstellen und verwalten können. Auf diese Weise können Sie Arrays in PL/SQL Version 1 erstellen.
OLE2	Enthält eine PL/SQL-API, mit der Sie Attribute von OLE2-Automationsobjekten erstellen, bearbeiten und aufrufen können.
ORA_FIFI	Enthält eine öffentliche Schnittstelle für den Aufruf fremder C-Funktionen aus PL/SQL.
ORA_NLS	Ermöglicht das Extrahieren von Informationen auf höchster Ebene über die aktuelle Sprachumgebung.
ORA_PROF	Enthält Prozeduren, Funktionen und Exceptions, mit denen Sie Ihre PL/SQL-Programmblöcke optimieren können (d.h. prüfen können, wieviel Zeit die Ausführung eines bestimmten Codeteils in Anspruch nimmt).
TEXT_IO	Enthält Konstrukte, mit denen Sie Informationen aus und in Dateien lesen bzw. schreiben können.
TOOL_ENV	Ermöglicht die Zusammenarbeit mit Oracle-Umgebungsvariablen.
TOOL_ERR	Ermöglicht den Aufruf und die Bearbeitung des Fehlerstapels, der von anderen integrierten Paketen generiert wurde, wie z.B. DEBUG.
TOOL_RES	Ermöglicht das Extrahieren von Zeichenfolgen-Ressourcen aus einer Resource-Datei mit dem Ziel, den PL/SQL-Code portierbarer zu machen, indem alle Textdaten in der Resource-Datei isoliert werden.

Die folgenden Pakete werden nur von Oracle Developer intern benutzt. Es gibt keine Unterprogramme für die externe Benutzung mit diesen Paketen.

ORA_DE	Enthält Konstrukte, die von Oracle Developer für private PL/SQL-Dienste verwendet werden.
STPROC	Wird intern von Oracle Developer benutzt, um in der Datenbank gespeicherte Unterprogramme aufzurufen. Aufrufe dieses Pakets werden automatisch generiert.


Über das DDE-Paket

  Verwandte Themen 	  Alle vordefinierten Pakete

Das DDE-Paket unterstützt den Dynamischen Datenaustausch (DDE) innerhalb der Oracle Developer-Komponenten.

Der Dynamische Datenaustausch (DDE) ist ein Mechanismus, mit dem Anwendungen in Windows kommunizieren und Daten austauschen können. Die DDE-Client-Unterstützung wird als prozedurale Erweiterung zu Oracle Developer hinzugefügt. Das PL/SQL-Paket für die DDE-Unterstützung ermöglicht Anwendungsentwicklern mit einer Application Programming Interface (API) den Zugriff auf die DDE-Funktionalität innerhalb von PL/SQL-Prozeduren und -Triggern.

Mit den DDE-Funktionen können Oracle-Anwendungen mit anderen DDE-konformen Windows-Anwendungen (Servern) auf drei verschiedene Arten kommunizieren.

•	Importieren von Daten

•	Exportieren von Daten

•	Ausführung von Befehlen für den DDE-Server

In dieser Version umfaßt DDE folgende Funktionen nicht:

•	Verknüpfen von Daten (advise-Transaktion)

Oracle-Anwendungen können keinen Aktualisierungshinweis automatisch empfangen, wenn ein Datenobjekt geändert wurde.

•	Server-Unterstützung

Oracle-Anwendungen können nicht auf Befehle oder Datenanforderungen von einem DDE-Client reagieren. Oracle-Anwendungen müssen den DDE-Dialog auslösen (auch wenn Daten in beiden Richtungen übertragen werden können).

Unterstützungs-Funktionen	Mit diesen Funktionen werden andere DDE-Serveranwendungen hoch- und heruntergefahren.

Anmelden-/Abmelden-Funktionen	Mit diesen Funktionen wird die Anmeldung bzw. Abmeldung von DDE-Serveranwendungen durchgeführt.

Transaktions-Funktionen	Mit diesen Funktionen werden Daten zwischen DDE-Serveranwendungen ausgetauscht.

Funktionen zur Umsetzung des Datentyps	Mit diesen Funktionen werden Konstanten mit dem Datentyp DDE in Zeichenfolgen und umgekehrt umgesetzt. Außerdem können Benutzer mit DDE.Getformatnum ein neues Datenformat registrieren, das von Windows nicht vordefiniert ist. Beachten Sie, daß diese Funktionen die Daten nicht selbst umsetzen (alle DDE-Daten werden in PL/SQL mit dem Datentyp CHAR dargestellt), sondern nur Datentypkonstanten.

Hinweis:  In früheren Versionen von Oracle Developer mußte eine Stub-Bibliothek zugeordnet werden, damit Aufrufe von windows-spezifischen DDE-Funktionen auf Nicht-Windows-Plattformen kompiliert und ausgeführt werden konnten. Dies ist nicht mehr erforderlich. Wenn Sie jedoch versuchen, eine windows-spezifische vordefinierte Funktion auf einer Nicht-Windows-Plattform auszuführen, werden die folgenden Meldungen generiert:

FRM-40735: <Name>-Trigger trifft auf unbehandelte Exception.
ORA-06509, 00000 PL/SQL: ICD-Vektor fehlt in diesem Paket.


Vordefinierte Microsoft Windows-Datenformate

  Verwandte Themen

In dem Abschnitt Exceptions finden Sie Exceptions zu den vordefinierten Datenformaten.

DDE.Cf_Bitmap	Bei den Daten handelt es sich um ein Bitmap.
DDE.Cf_Dib	Bei den Daten handelt es sich um ein Speicherobjekt, das eine BITMAPINFO-Struktur enthält, gefolgt von den Bitmap-Daten.
DDE.Cf_Dif	Die Daten haben das Data Interchange Format (DIF).
DDE.Cf_Dspbitmap	Bei den Daten handelt es sich um eine Bitmap-Darstellung eines privaten Formats. Die Daten werden im Bitmap-Format anstelle der privat formatierten Daten angezeigt.
DDE.Cf_Dspmetafile-Pict	Bei den Daten handelt es sich um eine Metadatei-Darstellung eines privaten Datenformats. Diese Daten werden im Metadatei-Bildformat anstelle der privat formatierten Daten angezeigt.
DDE.CF_Dsptext	Bei den Daten handelt es sich um eine Textdarstellung eines privaten Datenformats. Diese Daten werden im Textformat anstelle der privat formatierten Daten angezeigt.
DDE.Cf_Metafilepict	Bei den Daten handelt es sich um eine Metadatei.
DDE.Cf_Oemtext	Bei den Daten handelt es sich um ein Array aus Textzeichen im OEM-Zeichensatz. Jede Zeile endet mit einer Zeilenschaltungs-/Zeilenvorschub- (CR-LF-) Kombination. Ein Nullzeichen gibt das Ende der Daten an.
DDE.Cf_Owner-Display	Die Daten werden in einem privaten Format dargestellt, das der Eigentümer der Zwischenablage anzeigen muß.
DDE.Cf_Palette	Bei den Daten handelt es sich um eine Farbpalette.
DDE.Cf_Pendata	Die Daten sind für Pin-Erweiterungen des Windows-Betriebssystems gedacht.
DDE.Cf_Riff	Die Daten sind im Resource Interchange File Format (RIFF).
DDE.Cf_Sylk	Die Daten sind im Microsoft Symbolic Link (SYLK)-Format.
DDE.Cf_Text	Bei den Daten handelt es sich um einen Array aus Textzeichen. Jede Zeile endet mit einer Zeilenschaltungs-/Zeilenvorschub- (CR-LF-) Kombination. Ein Nullzeichen signalisiert das Ende der Daten.
DDE.Cf_Tiff	Die Daten haben das Tagged Image File Format (TIFF).
DDE.Cf_Wave	Die Daten beschreiben einen Klang. Hier handelt es sich um eine Teilmenge des CF_RIFF-Datenformats. Sie kann nur für RIFF WAVE-Dateien benutzt werden.


Vordefinierte DDE-Exceptions

  Verwandte Themen

DDE.DDE_App_Failure	Ein in einem Aufruf von DDE.App_Begin angegebenes Anwendungsprogramm konnte nicht hochgefahren werden.
DDE.DDE_App_Not_ Found	Eine in einem Aufruf von DDE.App_End oder DDE.App_Focus angegebene Anwendungs-ID entspricht keiner Anwendung, die gerade ausgeführt wird.
DDE.DDE_Fmt_Not_ Found	Eine in einem Aufruf von DDE.Getformatstr angegebene Formatzahl ist nicht bekannt.
DDE.DDE_Fmt_Not_Reg	Eine in einem Aufruf von DDE.Getformatnum angegebene Formatfolge entspricht keinem vordefinierten Format und konnte nicht als benutzerdefiniertes Format registriert werden.
DDE.DDE_Init_Failed	Die Anwendung konnte DDE Communications nicht initialisieren, so daß der Aufruf einer DDE-Ebene nicht erfolgreich war.
DDE.DDE_Param_Err	Ein ungültiger Parameter, wie z.B. ein NULL-Wert wurde an eine Routine eines DDE-Pakets übergeben.
DDE.Dmlerr_Busy	Eine Transaktion konnte nicht erfolgreich ausgeführt werden, weil die Serveranwendung belegt war.
DDE.Dmlerr_Dataacktimeout	Bei einer Anforderung für eine synchrone Datentransaktion ist es zu einer Zeitsperre gekommen.
DDE.Dmlerr_Execack_ Timeout	Bei einer Anforderung für eine synchrone execute-Transaktion ist es zu einer Zeitsperre gekommen.
DDE.Dmlerr_Invalidparameter	Ein Parameter konnte nicht validiert werden. Hier einige der möglichen Gründe.
	Die Anwendung hat ein Daten-Handle benutzt, das mit einem anderen Objektnamen-Handle oder Zwischenablage-Datenformat initialisiert wurde, als von der Transaktion angefordert.
	Die Anwendung hat einen ungültigen Dialog-Bezeichner benutzt.
	Mehr als eine Instanz der Anwendung hat dasselbe Objekt benutzt.
DDE.Dmlerr_Memory_Error	Eine Speicherplatzzuweisung konnte nicht erfolgreich ausgeführt werden.
DDE.Dmlerr_No_Conv_Established	Der Versuch eines Client, einen Dialog herzustellen, war nicht erfolgreich. Möglicherweise weist der Service- oder Topic-Name in einem DDE.Initiate-Aufruf einen Fehler auf.
DDE.Dmlerr_Notprocessed	Eine Transaktion konnte nicht erfolgreich ausgeführt werden. Der Objektname in einer DDE.Poke- oder DDE.Request-Transaktion ist möglicherweise fehlerhaft.
DDE.Dmlerr_Not_Supported	Das DDE-Paket wurde aufgerufen, DDE wird jedoch auf der aktuellen Software-Plattform nicht unterstützt.
DDE.Dmlerr_Pokeacktimeout	Bei einer Anforderung für eine synchrone DDE.Poke-Transaktion ist es zu einer Zeitsperre gekommen.
DDE.Dmlerr_Postmsg_Failed	Ein interner Aufruf der PostMessage-Funktion war nicht erfolgreich.
DDE.Dmlerr_Server_ Died	Der Server wurde heruntergefahren, bevor eine Transaktion abgeschlossen war.
DDE.Dmlerr_Sys_Error	In der DDE-Schicht ist ein interner Fehler aufgetreten.


Über das DEBUG-Paket

  Verwandte Themen 	  Alle vordefinierten Pakete

Das DEBUG-Paket enthält Prozeduren, Funktionen und Exceptions zur Benutzung beim Debuggen von PL/SQL-Programmblöcken. Verwenden Sie diese vordefinierten Unterprogramme, um Debug-Trigger zu erzeugen und Programmstops mit Triggern zu setzen.


Über das LIST-Paket

  Verwandte Themen 	  Alle vordefinierten Pakete

Das LIST-Paket enthält Prozeduren, Funktionen und Exceptions, mit denen Sie Listen mit Zeichenfolgen (VARCHAR2) erstellen und verwalten können. Mit diesen Diensten können Sie Arrays in PL/SQL Version 1 erstellen.


Über das OLE2-Paket

  Verwandte Themen 	  Alle vordefinierten Pakete

Das OLE2-Paket enthält eine PL/SQL-API, mit der OLE2-Automationsobjekte erstellt, bearbeitet und aufgerufen werden können.

OLE2-Automationsobjekte umfassen eine Reihe von Attributen und Methoden, die aus einem OLE2-Automations-Client bearbeitet oder aufgerufen werden können. Mit dem OLE2-Paket können Benutzer direkt aus PL/SQL auf OLE2-Automations-Server zugreifen.

Informationen über Objekttypen, Methoden und Syntax finden Sie in der OLE2-Programmiererdokumentation für jeden OLE2-Automations-Server.


Über das Paket ORA_FFI

  Verwandte Themen 	  Alle vordefinierten Pakete

Das Paket ORA_FFI enthält eine Fremdfunktions-Schnittstelle für den Aufruf von C-Funktionen in einer dynamischen Bibliothek.

Beachten Sie, daß die Float-Argumente in Doubles konvertiert werden müsen. Wenn Sie ANSI-Deklarationen verwenden müssen, benutzen Sie nur Doubles im Code.


Über das Paket ORA_NLS

  Verwandte Themen 	  Alle vordefinierten Pakete

Mit dem Paket ORA_NLS können Sie Informationen auf höchster Ebene über die aktuelle Sprachumgebung extrahieren. Anhand dieser Informationen können Attribute der Sprache überprüft werden, so daß Sie Ihre Anwendung individuell so gestalten können, daß lokale Datums- und Zahlenformate benutzt werden. Informationen über die Sortierfolge bei dem Zeichensatz und den Zeichensatz im allgemeinen können ebenfalls abgerufen werden.

Außerdem können Sie den Namen der aktuellen Sprache und des aktuellen Zeichensatzes abrufen, so daß Sie Anwendungen erstellen können, die Sonderfälle testen und nutzen.


ORA_NLS-Zeichenkonstanten

  Verwandte Themen

Benutzen Sie die folgenden Konstanten, um Zeicheninformationen über die aktuelle Sprache abzurufen. Alle Konstanten haben den Typ PLS_INTEGER, wobei jeder ein ganzzahliger Wert zugewiesen wird.

Name	Beschreibung	Ganzzahl	Wert
day1	Voller Name des Tages 1	1	Sonntag
day2	Voller Name des Tages 2	2	Montag
day3	Voller Name des Tages 3	3	Dienstag
day4	Voller Name des Tages 4	4	Mittwoch
day5	Voller Name des Tages 5	5	Donnerstag
day6	Voller Name des Tages 6	6	Freitag
day7	Voller Name des Tages 7	7	Samstag
day1_abbr	Abgek. Name des Tages 1	8	Son
day2_abbr	Abgek. Name des Tages 2	9	Mon
day3_abbr	Abgek. Name des Tages 3	10	Die
day4_abbr	Abgek. Name des Tages 4	11	Mit
day5_abbr	Abgek. Name des Tages 5	12	Don
day6_abbr	Abgek. Name des Tages 6	13	Fre
day7_abbr	Abgek. Name des Tages 7	14	Sam
mon1	Voller Name des Monats 1	15	Januar
mon2	Voller Name des Monats 2	16	Februar
mon3	Voller Name des Monats 3	17	Mär
mon4	Voller Name des Monats 4	18	April
mon5	Voller Name des Monats 5	19	Mai
mon6	Voller Name des Monats 6	20	Juni
mon7	Voller Name des Monats 7	21	Juli
mon8	Voller Name des Monats 8	22	August
mon9	Voller Name des Monats 9	23	September
mon10	Voller Name des Monats 10	24	Oktober
mon11	Voller Name des Monats 11	25	November
mon12	Voller Name des Monats 12	26	Dezember
mon1_abbr	Abgek. Name des Monats 1	27	Jan
mon2_abbr	Abgek. Name des Monats 2	28	Feb
mon3_abbr	Abgek. Name des Monats 3	29	März
mon4_abbr	Abgek. Name des Monats 4	30	Apr
mon5_abbr	Abgek. Name des Monats 5	31	Mai
mon6_abbr	Abgek. Name des Monats 6	32	Jun
mon7_abbr	Abgek. Name des Monats 7	33	Jul
mon8_abbr	Abgek. Name des Monats 8	34	Aug
mon9_abbr	Abgek. Name des Monats 9	35	Sep
mon10_abbr	Abgek. Name des Monats 10	36	Okt
mon11_abbr	Abgek. Name des Monats 11	37	Nov
mon12_abbr	Abgek. Name des Monats 12	38	Dez
yes_str	Bejahende Antwort für Abfragen	39	Ja
no_str	Verneinende Antwort für Abfragen	40	Nein
am_str	Lokales Äquivalent für AM	41	am
pm_str	Lokales Äquivalent für PM	42	pm
ad_str	Lokales Äquivalent für AD	43	v.Chr.
bc_str	Lokales Äquivalent für BC	44	n.Chr.
decimal	Dezimalzeichen	45	.
groupsep	Gruppentrennzeichen	46	,
int_currency	Internat. Währungssymbol	47	USD
local_currency	Lokales Währungssymbol	48	$
local_date_fmt	Lokales Datumsformat	49	%m/%d/%y
local_time_fmt	Lokales Zeitformat	50	%H:%M:%S
default_date_fmt	Oracle Standard-Datumsformat	51	TT-MON-JJ
default_time_fmt	Oracle Standard-Zeitformat	52	HH.MI.SS AM
language	Sprachname	53	AMERICAN
language_abbr	ISO-Abkürzung für Sprache	54	US
character_set	Standard-Zeichensatzname	55	US7ASCII
territory	Standard-Gebietsname	56	AMERICA
current_decimal	Aktuelles Dezimalzeichen	57	.
current_groupsep	Aktuelles Gruppentrennzeichen	58	,
current_currency	Aktuelle lokale Währung	59	$
current_date_fmt	Aktuelles Oracle-Datumsformat	60	TT-MON-JJ
current_language	Aktuelle Sprache	70
current_territory	Aktuelles Gebiet	61	US
current_character_set	Aktueller Zeichensatz	62	US7ASCII


Numerische ORA_NLS-Konstanten

  Verwandte Themen

Mit den folgenden Konstanten rufen Sie numerische Informationen über die aktuelle Sprache ab. Alle Konstanten haben den Typ PLS_INTEGER, wobei jeder ein ganzzahliger Wert zugewiesen ist.

Name	Beschreibung	Ganzzahl
decimal_places	Aktuelle Dezimalstellen	63
sign_placement	Vorzeichenposition: 0=vor, 1=hinter	64
initcap_month	Anfangsbuchstaben von Monatsnamen groß: 0=NEIN,1=JA	65
initcap_day	Anfangsbuchstaben von Tagesnamen groß: 0=NEIN,1=JA	66
week_start	Erster Tag der Woche: 0=Sonntag	67
week_num_calc	Wochenberechnung: 1=ISO, 0=nicht-ISO	68
iso_alphabet	Aktuelle ISO-Alphabetnummer	69


Über das Paket ORA_PROF

  Verwandte Themen 	  Alle vordefinierten Pakete

Das Paket ORA_PROF enthält Prozeduren, Funktionen und Exceptions, die Sie beim Optimieren der PL/SQL-Programmblöcke verwenden können. Mit den Diensten in diesem Paket können Sie feststellen, wie lange die Ausführung der einzelnen Codesegmente dauert.


Über das Paket TEXT_IO

  Verwandte Themen 	  Alle vordefinierten Pakete

Das Paket TEXT_IO enthält Konstrukte, mit denen Informationen in und aus Dateien geschrieben bzw. gelesen werden können. In Text_IO gibt es eine Reihe von Prozeduren und Funktionen, die in folgende Kategorien unterteilt werden können:

Dateivorgänge	Mit dem FILE_TYPE-Datensatz, den FOPEN- und IS_OPEN-Funktionen und der FCLOSE-Prozedur können Sie FILE_TYPE-Variablen definieren, Dateien öffnen, auf geöffnete Dateien prüfen bzw. geöffnete Dateien schließen.
Ausgabe- (Schreib-) Vorgänge	Mit den Prozeduren PUT, PUTF, PUT_LINE und NEW_LINE können Sie Informationen in eine geöffnete Datei schreiben oder an den Interpreter ausgeben.
Eingabe- (Lese-) Vorgänge	Mit der Prozedur GET_LINE können Sie eine Zeile aus einer geöffneten Datei lesen.


Beispiel für die Verwendung TEXT_IO-Konstrukten

  Verwandte Themen

Als nächstes sehen Sie ein Beispiel für eine Prozedur, die den Inhalt einer Datei wiedergibt. Beachten Sie, daß die Prozedur verschiedene Aufrufe von TEXT_IO-Konstrukten enthält:

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=>'Text Files (*.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('Closing the file...');
    Text_IO.Fclose(in_file);
END;


Über das Paket TOOLl_ENV
Über das Paket TOOL_ENV

  Verwandte Themen 	  Alle vordefinierten Pakete

Mit dem Paket TOOL_ENV können Sie mit Oracle-Umgebungsvariablen arbeiten, indem Sie deren Werte zur Benutzung in Unterprogrammen abrufen.


Über das Paket TOOL_ERR

  Verwandte Themen 	  Alle vordefinierten Pakete

Neben der Benutzung von Exceptions zur Signalisierung von Fehlern enthalten einige vordefinierte Pakete (z.B. das DEBUG-Paket) zusätzliche Fehlerinformationen. Diese Informationen werden in Form eines "Fehlerstapels" verwaltet.

Der Fehlerstapel enthält detaillierte Fehlercodes und zugehörige Fehlermeldungen. Fehler in dem Stapel werden von null (dem ältesten Fehler) bis n-1 (dem neuesten Fehler) indiziert, wobei n die Anzahl von Fehlern darstellt, die gerade in dem Stapel vorhanden sind. Mit den Diensten im Paket TOOL_ERR können Sie den Fehlerstapel aufrufen und bearbeiten.


Beispiel für die Verwendung von TOOL_ERR-Konstrukten

  Verwandte Themen

In der folgenden Prozedur wird dargestellt, wie Sie Konstrukte in dem Paket TOOL_ERR zur Bearbeitung von Fehlern verwenden können, die von der vordefinierten Prozedur Debug.Interpret generiert werden:

PROCEDURE error_handler IS
/* Call a built-in that interprets a command */
BEGIN
  Debug.Interpret('.ATTACH LIB LIB1');
EXCEPTION
/*
** Check for a specific error code, print the
** message, then discard the error from the stack
** If the error does not match, then raise it.
*/
  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;

Wenn der Code zur Ausnahmebehandlung die TOOL_ERR-Konstrukte nicht genutzt hat, erhalten Sie eine Warnmeldung mit folgendem Wortlaut PDE-PLI018: Bibliothek LIB1 nicht gefunden. Mit den TOOL_ERR-Konstrukten wird der Fehler abgefangen und die Meldung an den Interpreter ausgegeben.


Über das Paket TOOL_RES

  Verwandte Themen 	  Alle vordefinierten Pakete

Das Paket TOOL_RES bietet Ihnen die Möglichkeit, Zeichenfolgenressourcen aus einer Resource-Datei zu extrahieren. Dadurch soll ein einfaches Portieren der PL/SQL-Codes von einer Sprache zu einer anderen ermöglicht werden, indem alle Textdaten in der Resource-Datei isoliert werden.


Resource-Dateien generieren

  Verwandte Themen

Neben dem Extrahieren von Textdaten aus bestehenden Resource-Dateien können Sie die folgenden Dienstprogramme verwenden, um Resource-Dateien zu erstellen, die Textdaten enthalten.

RESPA60	Ein Dienstprogramm, das eine Resource-Datei (.RES) aus einer Textdatei (.PRN) generiert. Die generierte Resource-Datei kann mit dem Paket TOOL_RES verwendet werden.
RESPR60	Ein Dienstprogramm, das eine Resource-Datei (.RES) in eine Textdatei (.PRN) konvertiert.
Diese Dienstprogramme werden mit Oracle*Terminal geliefert und automatisch mit diesem Produkt installiert. Um die unterstützte Befehlszeilensyntax dieser Dienstprogramme auf Ihrer Plattform anzuzeigen, führen Sie die Dienstprogramme ohne Angabe von Argumenten aus.

In Microsoft Windows können Sie diese ausführbaren Dateien aus dem Explorer oder Datei-Manager aufrufen, um die Befehlszeilensyntax anzuzeigen. Um die ausführbaren Dateien mit Argumenten auszuführen, verwenden Sie Ausführen.

Syntax der Resource-Datei	Benutzen Sie die folgende Syntax, wenn Sie Zeichenfolgen für die Resource-Datei erstellen:

Resource	resource_name"
Type	string"
Content
 table
 {
  string string 1 character_count
  "content of string"
 }

wobei:

resource_name	ein eindeutiger Name ist, den Sie mit Tool_Res.Rfread referenzieren können.
character_count	die Anzahl von Zeichen in der Zeichenfolge ist.
content of string	die tatsächliche Zeichenfolge ist.
Beispiel	Die folgende Textdatei, HELLO.PRN:

Resource "hello_world"
Type "string"
Content
 table
 {
  string string 1 12
  "Hello World!"
 }

Resource "goodbye_world"
Type "string"
Content
 table
 {
  string string 1 14
  "Goodbye World!"
 }

wird in der Resource-Datei HELLO.RES mit dem Dienstprogramm RESPA60 generiert und von dem folgenden Programmblock referenziert:

PROCEDURE get_res IS
  resfileh Tool_Res.Rfhandle;
  hellor   VARCHAR2(16);
  goodbyer VARCHAR2(16);
BEGIN
/*Open the resource file we generated */
  resfileh:=Tool_Res.Rfopen('hello.res');

/*Get the resource file strings*/
  hellor:=Tool_Res.Rfread(resfileh, 'hello_world');
  goodbyer:=Tool_Res.Rfread(resfileh, 'goodbye_world');

/*Close the resource file*/
  Tool_Res.Rfclose(resfileh);

/*Print the resource file strings*/
  Text_IO.Put_Line(hellor);
  Text_IO.Put_Line(goodbyer);
END;


Über das Paket EXEC_SQL

  Verwandte Themen 	  Alle vordefinierten Pakete

Mit dem Paket EXEC_SQL können Sie auf mehrere Oracle-Datenbankserver bei verschiedenen Verbindungen gleichzeitig zugreifen. Außerdem können Verbindungen zu ODBC-Datenquellen über den Open Client Adapter (OCA) hergestellt werden, der mit Oracle Developer geliefert wird. Um auf fremde Datenquellen zuzugreifen, müssen Sie OCA und einen entsprechenden ODBC-Treiber installieren.

Das Paket EXEC_SQL enthält Prozeduren und Funktionen, mit denen Sie dynamischen SQL-Code innerhalb von PL/SQL-Prozeduren ausführen können. Wie bei dem Paket DBMS_SQL sind die SQL-Anweisungen in Zeichenfolgen gespeichert, die nur zur Laufzeit an das Quellprogramm übergeben bzw. vom Quellprogramm generiert werden. Sie können jede DML- oder DDL-Anweisung mit dem Paket EXEC_SQL ausgeben.

Das Paket EXEC_SQL unterscheidet sich wie folgt von dem Paket DBMS_SQL:

•	Das Paket verwendet das Binden nach Wert und nicht das Binden nach Adresse.

•	Sie müssen EXEC_SQL.Variable_Value verwenden, um den Wert eines OUT-Bindeparameters abzurufen.

•	Sie müssen EXEC_SQL.Column_Value nach dem Abrufen von Zeilen verwenden, um die Werte in einer Ergebnismenge abzurufen.

•	Das Paket unterstützt Daten vom Typ CHAR, RAW, LONG oder ROWID nicht.

•	Das Paket enthält keine Prozedur oder Funktion CANCEL_CURSOR.

•	Das Paket unterstützt die Array-Oberfläche nicht.

•	Indikatorvariablen sind nicht erforderlich, da Nullwerte voll als Werte von PL/SQL-Variablen unterstützt werden.

•	Das Paket unterstützt keine PL/SQL-Tabellen oder Datensatztypen.

Weitere Informationen über das Paket DBMS_SQL finden Sie im Oracle8 Application Developer's Guide.


Verbindungs- und Cursor-Handles

  Verwandte Themen

In einer Oracle Developer-Anwendung sind mehrere Verbindungen zu einer oder mehreren Datenbanken gleichzeitig möglich. Es gibt jedoch immer eine primäre Datenbankverbindung, die als primäre Oracle Developer-Verbindung bezeichnet wird.

Mit Handles werden die Oracle- oder ODBC-Verbindungen in Ihrer Oracle Developer-Anwendung referenziert. Wenn Sie Verbindungen zu der primären Datenbank oder anderen Datenbanken öffnen, werden Verbindungs-Handles vom Typ EXEC_SQL.ConnType erstellt und zur Referenzierung der Verbindungen benutzt. Jedes Verbindungs-Handle referenziert eine Datenbankverbindung.

Wenn Sie einen Cursor auf einem Verbindungs-Handle öffnen, werden Cursor-Handles vom Typ EXEC_SQL.CursType erstellt und zur Referenzierung des Cursors auf der jeweiligen Verbindung verwendet. Jedes Verbindungs-Handle kann viele Cursor-Handles umfassen.

Auf die Daten kann zugegriffen werden, nachdem eine Verbindung und ein Cursor geöffnet wurden. Wenn mehrere Verbindungen gleichzeitig geöffnet sind, wird empfohlen, daß Sie die spezifischen Handles explizit als Argumente in den EXEC_SQL-Routinen aufnehmen.

Wenn Sie nur auf Daten aus der primären Oracle Developer-Verbindung zugreifen, müssen Sie die Verbindung in den EXEC_SQL-Routinen nicht angeben. Wenn für die EXEC_SQL-Routine kein Handle angegeben wird, wird automatisch EXEC_SQL.Default_Connection aufgerufen, um die primäre Oracle Developer-Verbindung zu ermitteln.


Ergebnismengen aus Abfragen oder fremden gespeicherten Prozeduren abrufen

  Verwandte Themen

Das Paket EXEC_SQL wird besonders dann benutzt, wenn Ergebnismengen aus verschiedenen Oracle- oder ODBC-Datenquellen in eine Form oder einen Bericht abgerufen werden müssen.

So verarbeiten Sie eine Anweisung, die eine Ergebnismenge zurückgibt:

1	Geben Sie für jede Spalte mit EXEC_SQL.Define_Column die Variable für die Aufnahme des Wertes an.

2	Führen Sie die Anweisung aus, indem Sie EXEC_SQL.Execute aufrufen.

3	Rufen Sie eine Zeile in der Ergebnismenge mit EXEC_SQL.Fetch_Rows ab.

4	Ermitteln Sie mit EXEC_SQL.Column_Value den Wert jeder Spalte, die mit EXEC_SQL.Fetch_Rows abgerufen wurde.

5	Wiederholen Sie die Schritte 3 und 4, bis EXEC_SQL.Fetch_Rows 0 zurückgibt.


Vordefinierte EXEC_SQL-Exceptions

  Verwandte Themen

EXEC_SQL.Invalid_Connection	Ein ungültiges Verbindungs-Handle wird übergeben.
EXEC_SQL.Package_Error	Beliebiger allgemeiner Fehler. Verwenden Sie EXEC_SQL. Last_Error_Code und EXEC_SQL.Last_Error_Mesg, um den Fehler abzurufen.
EXEC_SQL.Invalid_Column_Number	Die Prozedur EXEC_SQL.Describe_Column hat eine Spaltennummer angetroffen, die in der Ergebnismenge nicht vorhanden ist.
EXEC_SQL.Value_Error	Die Prozedur EXEC_SQL.Column_Value hat einen Wert angetroffen, der sich von dem Originalwert unterscheidet, der mit EXEC_SQL.Define_Column abgerufen wurde.


Paket EXEC_SQL verwenden

  Verwandte Themen

Beliebige SQL mit beliebigen Verbindungen ausführen

Daten zwischen zwei Datenbanken kopieren

Fremde gespeicherte Datenbankprozedur ausführen und deren Ergebnismenge abrufen


Beliebige SQL mit beliebiger Verbindung ausführen

  Verwandte Themen

Die folgende Prozedur übergibt eine SQL-Anweisung und eine optionale DB-Adresse der Form 'user[/password][@data source]'. Wenn eine DB-Adresse übergeben wird, führt die Prozedur die SQL-Anweisung mit der Datenquelle aus. Sonst wird sie mit der primären Oracle Developer-Verbindung implementiert.

PROCEDURE exec (sql_string IN VARCHAR2,   connection_string IN VARCHAR2 DEFAULT NULL) IS   connection_id EXEC_SQL.ConnType;   cursor_number EXEC_SQL.CursType;   ret           PLS_INTEGER; BEGIN IF connection_string IS NULL THEN   connection_id := EXEC_SQL.DEFAULT_CONNECTION; ELSE   connection_id :=     EXEC_SQL.OPEN_CONNECTION(connection_string); END IF; cursor_number :=    EXEC_SQL.OPEN_CURSOR(connection_id); EXEC_SQL.PARSE(connection_id, cursor_number, sql_string); ret := EXEC_SQL.EXECUTE(connection_id, cursor_number); EXEC_SQL.CLOSE_CURSOR(connection_id, cursor_number); EXEC_SQL.CLOSE_CONNECTION(connection_id); 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));     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;	-- Open a new connection.  If the connection string is empty, assume the user wants to use the primary Oracle Developer connection. -- Open a cursor on the connection for executing the SQL statement. -- Parse the SQL statement on the given connection. -- And execute it.  If the connection is Oracle, any DDL is done at parse time, but if the connection is a non-Oracle data source, this is not guaranteed. -- Close the cursor. -- And we are done with the connection. The connection_id we have may come from calling EXEC_SQL.OPEN_CONNECTION or EXEC_SQL.DEFAULT_CONNECTION. Regardless, we should call  EXEC_SQL.CLOSE_CONNECTION. If the connection_id was obtained by EXEC_SQL.OPEN_CONNECTION, EXEC_SQL.CLOSE_CONNECTION will terminate that connection. If the connection_id was obtained by EXEC_SQL.DEFAULT_CONNECTION, EXEC_SQL.CLOSE_CONNECTION will NOT terminate that connection, but it frees up EXEC_SQL package specific resources. -- This is the general error raised by the EXEC_SQL package, and denotes an unexpected error in one of the calls. It prints the error number and error message to standard out.


Daten zwischen zwei Datenbanken kopieren

  Verwandte Themen

Die folgende Prozedur erfordert nicht speziell die Benutzung von dynamischem SQL-Code, stellt jedoch die Konzepte in dem Paket EXEC_SQL dar.

Die Prozedur kopiert die Zeilen aus der Quelltabelle (in der Quellverbindung) in die Zieltabelle (in der Zielverbindung). Es wird davon ausgegangen, daß die Quell- und Zieltabellen folgende Spalten aufweisen:

ID of type NUMBER
NAME of type VARCHAR2(30)
BIRTHDATE of type DATE

PROCEDURE copy (source_table IN VARCHAR2,   destination_table IN VARCHAR2,   source_connection IN VARCHAR2 DEFAULT NULL,   destination_connection IN VARCHAR2 DEFAULT NULL) IS   id                 NUMBER;   name               VARCHAR2(30);   birthdate          DATE;   source_connid      EXEC_SQL.ConnType;   destination_connid EXEC_SQL.ConnType;   source_cursor      EXEC_SQL.CursType;   destination_cursor EXEC_SQL.CursType;   ignore             PLS_INTEGER BEGIN   IF source_connection IS NULL THEN     source_connid := EXEC_SQL.DEFAULT_CONNECTION;   ELSE     source_connid :=        EXEC_SQL.OPEN_CONNECTION(source_connection);   END IF;   IF destination_connection IS NULL THEN     destination_connid := EXEC_SQL.CURR_CONNECTION;   ELSE     destination_connid :=        EXEC_SQL.OPEN_CONNECTION(destination_connection);   END IF;   source_cursor := EXEC_SQL.OPEN_CURSOR(source_connid);   EXEC_SQL.PARSE(source_connid, source_cursor,     'SELECT id, name, birthdate FROM ' || source_table);   EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor, 1,      id);   EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor, 2,      name, 30);   EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor, 3,      birthdate);   ignore := EXEC_SQL.EXECUTE(source_connid, source_cursor);    destination_cursor :=      EXEC_SQL.OPEN_CURSOR(destination_connid);   EXEC_SQL.PARSE(destination_connid, destination_cursor,      'INSERT INTO ' || destination_table || '      (id, name, birthdate) VALUES (:id, :name, :birthdate)');   LOOP     IF EXEC_SQL.FETCH_ROWS(source_connid, source_cursor) > 0     THEN       EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,          1, id);       EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,          2, name);       EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,          3, birthdate);       EXEC_SQL.BIND_VARIABLE(destination_connid,         destination_cursor, ':id', id);       EXEC_SQL.BIND_VARIABLE(destination_connid,         destination_cursor, ':name', name);       EXEC_SQL.BIND_VARIABLE(destination_connid,         destination_cursor, ':birthdate', birthdate);       ignore := EXEC_SQL.EXECUTE(destination_connid,         destination_cursor);     ELSE       EXIT;     END IF;   END LOOP;   EXEC_SQL.PARSE(destination_connid, destination_cursor,      'commit');   ignore := EXEC_SQL.EXECUTE(destination_connid,     destination_cursor);   EXEC_SQL.CLOSE_CURSOR(destination_connid,     destination_cursor);   EXEC_SQL.CLOSE_CURSOR(source_connid, source_cursor);   EXEC_SQL.CLOSE_CONNECTION(destination_connid);   EXEC_SQL.CLOSE_CONNECTION(source_connid); EXCEPTION   WHEN EXEC_SQL.PACKAGE_ERROR THEN     IF EXEC_SQL.LAST_ERROR_CODE(source_connid) != 0 THEN       TEXT_IO.PUT_LINE('ERROR (source: ' ||          TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(source_connid))         || '): ' ||         EXEC_SQL.LAST_ERROR_MESG(source_connid));     END IF;     IF EXEC_SQL.LAST_ERROR_CODE(destination_connid) != 0 THEN       TEXT_IO.PUT_LINE('ERROR (destination: ' ||         TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(destination_connid))         || '): ' ||         EXEC_SQL.LAST_ERROR_MESG(destination_connid));     END IF;     IF EXEC_SQL.IS_CONNECTED(destination_connid) THEN       IF EXEC_SQL.IS_OPEN(destination_connid,         destination_cursor) THEN         EXEC_SQL.CLOSE_CURSOR(destination_connid,           destination_cursor);       END IF;       EXEC_SQL.CLOSE_CONNECTION(destination_connid);     END IF;      IF EXEC_SQL.IS_CONNECTED(source_connid) THEN       IF EXEC_SQL.IS_OPEN(source_connid, source_cursor) THEN         EXEC_SQL.CLOSE_CURSOR(source_connid, source_cursor);       END IF;       EXEC_SQL.CLOSE_CONNECTION(source_connid);     END IF;  END;	-- Open the connections. If the user does not specify a secondary connection, the primary  Oracle Developer connection is used. -- Prepare a cursor to select from the source table. -- Prepare a cursor to insert into the destination table. -- Fetch a row from the source table, and insert it into the destination table. -- Get column values for the row; these are stored as local variables.  -- Bind the values into the cursor that inserts into the destination table.  -- No more rows to copy. -- Commit the destination cursor. -- And close everything. -- This is the general error raised by the EXEC_SQL package. Get information (error number and message) about the error on the source connection or the destination connection. -- Close all connections and cursors.


Fremde gespeicherte Datenbankprozeduren ausführen und deren Ergebnismenge abrufen

  Verwandte Themen

Die folgende Prozedur führt eine gespeicherte Prozedur von Microsoft SQL Server aus, die eine Ergebnismenge zurückgibt, und ruft die Ergebnismenge dann ab. Die gespeicherte Prozedur ist:

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

Die Prozedur führt die gespeicherte Prozedur mit der primären Oracle Developer-Verbindung aus (wobei davon ausgegangen wird, daß es sich um eine SQL Server-Verbindung handelt) und druckt alle zurückgegebenen Zeilen aus. Außerdem wird davon ausgegangen, daß die primäre Oracle Developer-Verbindung schon geöffnet ist, bevor die Prozedur example3 (Beispiel 3) ausgeführt wird. Sonst kommt es zu einem Fehler.

CREATE PROCEDURE example3 (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 example_proc ( :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('ERROR (' ||         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('ERROR: Not currently connected         to a database'); END example3;	-- When no connection handle is passed, EXEC_SQL uses the primary Oracle Developer  connection. -- To call stored procedures against ODBC datasources, use ODBC syntax, but parameters should be specified as Oracle parameters. -- The exception INVALID_CONNECTION is raised when there is no default connection.


Alphabetische Liste der vordefinierten Unterprogramme

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


Mit diesem Buchstaben beginnen keine vordefinierten Unterprogramme


Mit diesem Buchstaben beginnen keine vordefinierten OLE2-Unterprogramme


Hilfethema nicht gefunden. Prüfen Sie, ob die Online-Hilfe verwandte Themen enthält.


Glossar

A

    Abfrage
    Abfragefilterfunktion
    Abgleichen
    Abhängige Daten
    Abhängigkeitsansicht
    Abhängigkeitsbaum
    Abschnitt
    Abtrennbares Menü
    Achsendiagramm
    ActiveX
    Ada
    Adreßetikettenlayout
    Aggregatfunktion
    Aktion
    Aktives Fenster/Aktive Ansicht
    Aktiviert
    Aktualisieren
    Alias
    Anhang
    Anker
    Ankerpunkt
    Anmelden
    Anonymer Block
    Ansicht
    Anweisung
    Anwendung
    Anzeigeobjekt
    Applet
    Argument
    Argument für ausführbares Programm
    ASCII
    Attribut
    Attribut
    Attributklasse
    Attributmaske
    Attributspalte
    Attributwert
    Aufgelöstes Objekt
    Aufgliedern
    Aufrufschnittstelle
    Aufrufstapel
    Ausdruck
    Ausführen
    Ausführung
    Ausrichtung
    Ausschneiden
    Ausschnitt
    Auswahl
    Auswahlskript
    Äußere Umrandung

 B

    Bedingung
    Beenden
    Befehlszeile
    Benutzerdefinierte Aktion
    Benutzerdefinierter Makro
    Benutzerdefiniertes Maß
    Benutzerdefinierter Typ
    Benutzerregistrierung
    Beschriftung
    Bibliothek
    Bild
    Bildschirmteiler
    Bindereferenz
    Bindevariable
    Blatt
    Block
    Boilerplate
    Break-Trigger
    Builder

C

    Cache (Speicher)
    cartridge
    CGI
    CGM
    CHAR-Datentyp
    Client
    Client-/Server-Architektur
    CMDFILE
    Collection-Typ
    Cursor

D

    Darstellungstyp
    Data Dictionary
    DATE
    Dateiknoten
    Datenbank
    Datenbank-Trigger
    Datenlink
    Datenmodell
    Datenquelle
    Datensatz
    Datensatzgruppe
    Datenstruktur-Knoten
    Datentyp
    Datumsachse
    DB-Adresse
    Deaktiviert
    Debug-Aktion
    Debuggen
    Debugger
    Debug-Trigger
    Designer
    Designer (Oracle)
    Detail-Abfrage
    Diagrammelement
    Diagrammobjekt
    Diagrammvorlage
    Dialogfeld
    DIANA
    Dimension
    Dimensionshierarchie
    Dimensionswert
    Dokumentvorlage
    Druckersteuercode
    Duplizieren
    Dynamisch gespeicherte Auswahl

E

    EBCDIC
    Ebene
    Editor
    Einfügen
    Einfügen-Modus
    Eingabeobjekt
    Element
    Elementtyp
    Entfernte Datenbank
    Ersetzen-Modus
    Exception
    Exportdatei
    Exportieren
    Externe Abfrage
    Externe PL/SQL-Bibliothek

F

    Familie
    Farbpalette
    Feld
    Feldvorlage
    Fenster
    Filter
    Firewall
    Flattened Object
    Flex-Modus
    Fokus
    Formatmaske
    Format-Trigger
    Formel
    Formelspalte
    Formlayout
    Fremdschlüssel
    Füllbereich
    Funktion

G

    Gefangen-Modus
    Geltungsbereich
    Generieren
    Generieren
    Gespeicherte Auswahl
    Gespeicherter Programmblock
    Gespeichertes Unterprogramm
    Gleichrangiges Objekt
    Gleichzeitigkeit
    Globale Registrierung
    Globale Variable
    Grafische Anwendung
    Gruppe
    Gruppenbaum
    Gruppenfilter
    Gruppenwechselbericht
    Gruppenwechseldiagramm
    Gültige XML
    GUI

H

    Handle
    Hauptknoten
    Hauptteil
    Hierarchie
    Hintergrundelement
    Hintergrundprozeß
    HTML
    HTTP
    Hyperlink
    Hypertext

I

    ICD
    Implizites Objekt
    Importieren
    Index
    Innere Umrandung
    Integritätsregel
    Internet
    Interpreter-Skript
    Intranet
    IP (Internet Protocol)-Adresse

J

    JAR
    Java
    Join
    Justierung

K

    Kaskadierende Dokumentvorlage
    Kategorie
    Kategorienachse
    Kategorienachse
    Klassifizierung
    Klausel
    Knoten
    Kommentar
    Kompilieren
    Komponente
    Konstrukt
    Kontextbereich
    Kontrollgruppe
    Kontrollkästchen
    Kontrollspalte
    Kontrollsumme
    Koordinaten (x, y)
    Koordinatenebene
    Koordinatensystem
    Korrelierte Unterabfrage
    Kopieren
    Kreuzprodukt
    Kreuztabelle

L

    Laufzeit
    Laufzeit-Parametermaske
    Launcher
    Layouteinheit
    Layout
    Leinwandausschnitt
    Leinwand
    Lesekonsistenz
    Lexikalische Referenz
    Link
    Link-Datei
    Listenfeld
    Listenobjekt
    Logische Operatoren
    Logische Seite
    Lokale Datenbank
    Lokale Registrierung
    Lokale Variable

M

    Makro
    Master-/Detail-Layout
    Maß
    Matrixbericht
    Matrixlayout
    Matrixzelle
    Megabyte (MB)
    Mehrzeilenfeld
    Meldungsfeld
    Methode
    Modales Fenster
    Modul
    Muster

N

    NA-Wert
    Nach unten erweiterbar
    Nicht im Cache vorhandene Spalte
    Nicht-modales Fenster
    NOCACHE
    NULL-Wert
    Numerische Operatoren

O

    Objekte auf Berichtebene
    Objekt
    Objekt
    Objektgruppe
    Objekt-Handle
    Objektknoten
    Objektnavigator
    Objektspalte
    Objekttabelle
    Objekttyp
    ODBC
    OLE
    OLE-Container
    OLE-Server
    Optionsgruppe
    Optionsschaltfläche
    Oracle-Datentyp
    Oracle Designer
    ORACLE_HOME
    Organisationsknoten

P

    Paket
    Paketrumpf
    Paketspezifikation
    Palette
    Parameter
    Parameterliste
    Pcode
    PDF
    Physikalische Seite
    Platzhalter-Benutzername
    PL/SQL
    pld-Datei
    pll-Datei
    pls-Datei
    plx-Datei
    Popup-Liste
    Port
    Primärschlüssel
    Programmblock
    Programmstop
    Projekt
    Projektansicht
    Projekt-Assistent
    Projektdatei
    Projektknoten
    Projektnavigator
    Projektobjekt
    Projektregistrierung
    Protokoll
    Prozedur
    prt-Datei
    Puffer

Q

    Qualifizierende Dimension
    Quelle

R

    Rahmen
    Rand/Auffüllen/Textanzeige
    Rand
    Rand
    Rand
    Rasterlinien
    RC4
    RDBMS
    rdf-Datei
    Referenzlinie
    REF-Spalte
    Registrieren
    Registrierung
    Relationale Operatoren
    rep-Datei
    Reports Background Engine (RWRBE60)
    Reports Queue Manager (RWRQM60)
    Reports Server (RWMTS60S)
    Reports Web Cartridge
    Reports Web CGI (RWCGI60)
    rex-Datei
    RGB
    Richtig formatierte XML
    Routine
    RTF
    Runfile

S

    Schalter
    Schaltfläche
    Schaltfläche Auslassungszeichen
    Schaltflächenprozedur
    Schema
    Schleife
    Schlüsselwort
    Seite
    Seitenumbruch
    SELECT-Anweisung
    Selektor
    Serienbrief-Layout
    Sitzung
    Skript
    Socket
    Spalte
    Spaltenobjekt
    Speichern
    Spezifikation
    SQL
    SQL-Anweisung
    SQL-Datei
    SQL-Skript
    Stamm
    Standard
    Stapel
    Stapel
    Stapelkompilierung
    Statische gespeicherte Auswahl
    Stellvertreterzeichen
    Steuerungspunkt
    Summenspalte
    SYLK
    Symbol
    Symbolleiste
    Syntax
    Systemvariable

T

    Tabellarisch
    Tabelle
    Tabellentyp
    TCP
    Textobjekt
    Titel
    Titelleiste
    Titelseite
    Transaktion
    Trigger
    Typ

U

    Übergeordneter Knoten
    Übergeordnetes Objekt
    Übergeordnetes Objekt
    Überlauf
    Umgebung
    Umrandung
    Umschließendes Objekt
    Unabhängige Daten
    Untergeordnete Abfrage
    Untergeordnetes Objekt
    Untergeordnetes Objekt
    Unterprogramm
    Unterprojekt
    Unterprojektknoten
    URL
    Ursprung
    User Exit

V

    Variable
    Variierender Array-Typ
    VBX
    VBX-Steuerfeld
    Veränderung
    Verborgen
    Vererben
    Vergleichsoperatoren
    Verschachtelte Matrix
    Verschlüsselung
    Virtueller Ordner
    Virtuelles Dateisystem
    Visuelles Attribut
    Vordefinierte Aktion
    Vordefinierte Funktion
    Vordefinierte Prozeduren
    Vordefinierter Datentyp
    Vordefinierter Makro
    Vordefinierter Typ
    Vordergrundelement
    Voreinstellungen
    Vorgänger
    Vorgängergruppe
    Vorschau
    Vorschau

W

    Warnfenster
    Web
    Web-Browser
    Web-Cartridge
    Web-Link
    Web-Server
    Werkzeug
    Werkzeug Abgleichen
    Werkzeug Alle
    Werkzeug Attribut
    Werkzeug Bereich
    Werkzeug Ebene
    Werkzeug Exception
    Werkzeug Familie
    Werkzeug Gespeicherte Auswahl
    Werkzeug Liste
    Werkzeug Oben/Unten
    Werkzeug Selektor
    Werkzeug Sortieren
    Werkzeugpalette
    Wert der Basislinie
    Werteachse
    Werteachse
    Werteliste
    Wertkonstrukt
    Wiederholungsrahmen
    WRB
    WKS
    WWW

X

    XML

Y

Z

    Zeile
    Zeilenobjekt
    Zelle
    Ziehen
    Ziel
    Zielknoten
    Zoom
    Zugeordnete Bibliothek
    Zugriffsberechtigung
    Zustellen
    Zwischenablage


In Project Builder eine Befehlsfolge, die entweder von Project Builder oder vom Benutzer angegeben wird, der für Dateien eines bestimmten Typs zuständig ist. Eine Aktion ist nicht auf einen einzelnen Dateityp beschränkt. Wenn die Aktion "Kompilieren" z.B. sowohl für Forms als auch für C-Quelldateien definiert ist, werden bei Auswahl von "Projekt kompilieren" alle .fmb- und .c-Dateien mit den entsprechenden Tools kompiliert. Siehe auch vordefinierte Aktion, Benutzerdefinierte Aktion


Eine Programmiersprache auf hoher Ebene, die vom U.S. Department of Defense zur Benutzung in eingebetteten Computersystemen entwickelt wurde.


Ein Fenster oder eine Ansicht, die eine Benutzereingabe aufnehmen kann.


(Oracle Express) Die Konsolidierung von Daten für verschiedene Dimensionswerte zu einem einzigen Wert, wie z.B. die Gesamtanzahl von Einheiten, die in allen Städten verkauft wurden, oder zu kleineren Wertegruppen, wie z.B. die durchschnittlich in den Städten einer Region verkauften Einheiten. Daten werden häufig auf der niedrigsten Detailebene erfaßt und mit der Aggregatfunktion im Hinblick auf die Analyse auf höheren Ebenen verbunden.


Ein modales Fenster, das Sie über eine Bedingung unterrichtet, die aufgrund der als letztes von Ihnen ausgeführten Aktion aufgetreten ist. Sie müssen auf ein Warnfenster reagieren.


Mit Ausrichtung wird angegeben, wie die Daten in einem Feld positioniert sind. Die Daten können linksbündig, rechtsbündig, zentriert, im Flattersatz linksbündig, im Flattersatz rechtsbündig oder im Flattersatz zentriert innerhalb der definierten Breite eines Feldes ausgerichtet werden.


Ein sekundärer Name, der in einer SQL-Anweisung zur Bezugnahme auf eine Tabelle, eine Ansicht oder eine Spalte benutzt wird.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem Sie alle Werte in einer Dimension oder alle Werte in einer Dimension bei einer bestimmten Hierarchie auswählen können.


(Oracle Express) Ein Dimensionswert auf einer beliebigen Ebene über einem bestimmten Wert in einer Hierarchie. Der Vorgängerwert entspricht der aggregierten Gesamtsumme der Werte der untergeordneten Objekte. Im folgenden Beispiel wird der Dimensionswert "Europa" als Vorgänger von "Frankreich", "Lyon" und "Paris" in der Dimension GEOGRAPHY dargestellt.


Eine Gruppe, die direkt oder indirekt Eigentümer einer anderen Gruppe ist.


Ein Layoutobjekt, mit dem ein Punkt auf einem Objekt an einem Punkt auf einem anderen Objekt fixiert wird, wobei die Position des ersten Objekts in bezug auf das zweite Objekt verankert wird.


(Oracle Express) Ein spezifischer Dimensionswert, der benutzt wird, wenn Dimensionswerte basierend auf deren Familienzugehörigkeit ausgewählt werden oder durch eine Hierarchie navigiert wird.


Ein PL/SQL-Programmblock, der keinen Namen hat und das Vorhandensein der Schlüsselwörter BEGIN und END zur Einrahmung der ausführbaren Anweisungen nicht explizit fordert. Da anonyme Blöcke unbenannt sind, können andere Programmblöcke sie nicht referenzieren.


Ein Objekt, das im Gruppenbaum eines anderen Objekts über diesem anderen Objekt steht. Jedes Objekt ist ein übergeordnetes Objekt des entsprechenden untergeordneten Objekts.


 Ein Java-Ausdruck für kleine Programme, die dynamisch nach Bedarf in Web-Seiten oder Anwendungen importiert werden können.


Ein oder mehrere Programmodule, mit denen ein bestimmtes Ergebnis erzielt wird. Anwendungen können innerhalb von anderen Anwendungen verschachtelt sein. So könnte z.B. eine Anwendung zur Kontrolle des Lagerbestands einer Firma aus verschiedenen Form Builder-Anwendungen zur Eingabe von Daten und verschiedenen Graphics Builder-Anwendungen zur visuellen Darstellung der Daten bestehen.


1. Ein optionaler Ausdruck, der an einen Programmblock übergeben wird, damit der Programmblock diesen bearbeitet.
2. Klauseln, die Schlüsselwörter und die entsprechenden Werte enthalten.


Akronym für American National Standard Code for Information Interchange.


Eine schreibgeschützte Sammlung von PL/SQL-Unterprogrammen, die im allgemeinen mit einer Anwendung geliefert werden und die entsprechende PL/SQL-Quelle darstellen. Programmblöcke in einer zugeordneten Bibliothek werden implizit geladen, wenn sie zuerst beim Kompilieren oder zur Laufzeit von einem anderen Programmblock aufgerufen werden. Sie bleiben geladen, damit sie schnell wieder benutzt werden können, wodurch die Speicheranforderungen zur Laufzeit reduziert werden und die Leistung einer Anwendung verbessert wird. Siehe auch:  Bibliothek


1. Siehe Attribut.
2.  Ein Teil oder eine Komponente einer Oracle8-Objekttypdefinition. Jedes Attribut hat einen Namen und einen Oracle8-Datentyp. Wenn eine Objekttabelle basierend auf dem Objekttyp erstellt wird, entsprechen die Spalten in der Tabelle den Attributen in der Objekttypdefinition. Wenn ein Spaltenobjekt in einer relationalen Tabelle basierend auf dem Objekttyp erstellt wird, enthält das Spaltenobjekt das Äquivalent von Unterspalten, von denen eine jede einem Attribut in der Objekttypdefinition entspricht. Jedes Oracle8-Objektattribut wird in einer Tabelle als separates Datenobjekt behandelt, so als wäre es eine separate Spalte. Dies gilt sowohl für Objekttabellen als auch für Spaltenobjekte in relationalen Tabellen.
3. (Oracle Express) Eine beschreibende Eigenschaft, die von Dimensionswerten gemeinsam benutzt wird. Attribute stellen logische Gruppierungen dar, mit denen Benutzer Daten basierend auf ähnlichen Eigenschaften auswählen können. In einer Datenbank für Schuhe können Sie z.B. das Attribut Schuhfarbe verwenden, um alle Stiefel, Loafers und Slipper, die dieselbe Farbe haben, auszuwählen.


Die Spalten, aus denen ein Spaltenobjekt besteht (Oracle8).


In Graphics Builder das erste Element in einem Attribut-Deskriptor. Hier handelt es sich um eine 32-Bit-Maske, die das Toolkit über die Attribute unterrichtet, die von einem nachfolgenden Funktionsaufruf gesetzt oder abgerufen werden. Nur die Elemente, bei denen die entsprechenden Bits in der Attributmaske gesetzt sind, werden eingestellt oder abgerufen.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem Sie Dimensionswerte basierend auf Attributen und Attributwerten auswählen können. In einer Datenbank für Soft Drinks könnten Sie z.B. alle Produkte auswählen, deren Größe 1 Liter entspricht. In diesem Beispiel ist Größe ein Attribut und 1 Liter ein Attributwert.


(Oracle Express) Die Werte in der Datenbank, aus denen ein Attribut besteht. In einer Datenbank für Eiscreme könnten die folgenden Attribute zu einem Geschmacksattribut in einer Dimension Produkt gehören: Vanille, Schokolade und Erdbeere. Dimensionswerte auf verschiedenen Ebenen in der Dimension Produkt - z.B. Marke, Präsentation und Größe  -- könnten denselben Wert für Geschmack verwenden.


Eine Diagrammart, bei der die Daten entsprechend ihrer Position auf der Diagrammachse dargestellt werden Ein Achsendiagramm kann zwei oder drei Achsen enthalten, wobei jede eine Werteachse, Kategorienachse oder Datumsachse sein kann.


Der weiße Teil eines Musters. Mit der Füllfarbenpalette weisen Sie dem Hintergrundelement Farben zu.


Ein nicht interaktiver Prozeß, der in einer Betriebssystemumgebung abläuft und einen bestimmten Dienst bzw. eine bestimmte Aktion ausführt. Bestimmte Oracle-Produkte verwenden Hintergrundprozesse für verschiedene Aufgaben, wie z.B. die Ausführung und Koordinierung von Aufgaben für gleichzeitige Benutzer der Datenbank, die Verarbeitung und Zustellung von E-Mails und die Verwaltung von Druckdiensten.


Der Wert, der als Anfangspunkt für die Darstellung von Feldern auf der Werteachse eines Diagramms benutzt wird.


Die ausführbare Datei, die eine Anwendung im Stapelmodus ausführt, ohne ein Fenstersystem zu benutzen.


Bei der Stapelkompilierung werden mehrere PL/SQL-Programmblöcke auf einmal in eine maschinenausführbare Form umgesetzt.


Eine Bezugnahme auf einen Parameter, der einen einzelnen literalen Wert (z.B. eine Zeichenfolge, eine Zahl oder ein Datum) ersetzt, der an einer beliebigen Stelle in einem PL/SQL-Konstrukt oder einer SQL SELECT-Anweisung auftritt. Bei einer Bindereferenz muß vor dem Parameternamen ein Doppelpunkt (:) stehen.


Eine globale Variable, die Sie erstellen und außerhalb eines PL/SQL-Pakets verwenden können.


1. Der Hauptprogrammblock in PL/SQL, der mit den Schlüsselwörtern DECLARE, BEGIN, EXCEPTION und END definiert wird.

2. In Form Builder ein logischer Container, der zu einer Datenbanktabelle oder Ansicht gehört.


1. Enthält dieselben Informationen wie die Programmblockspezifikation und umfaßt außerdem die tatsächliche Implementierung des Unterprogramms (d.h. die Folge von Aktionen). In den meisten Fällen muß nur ein Hauptteil für ein Unterprogramm definiert werden.

2. In Report Builder ein Bereich, der den Großteil des Berichtlayouts enthält (Text, Grafiken, Daten und Berechnungen) und in diesem Fall als Rumpf bezeichnet wird. Der Berichtrumpf steht zwischen den Titel- und Schlußseiten des Berichts.


Text und/oder Grafiken, die bei jeder Ausführung des Berichts in einem Bericht angezeigt werden. Bei einigen Produkten wird dies als "konstanter" Text bzw. "konstante" Grafiken bezeichnet.


Eine benutzerdefinierte Einrahmung eines Layoutobjekts, mit der im allgemeinen der Inhalt des Objekts hervorgehoben wird. Ränder werden so gezeichnet, daß die eine Hälfte der Randbreite außerhalb der Objekteinrahmung und die Hälfte innerhalb der Einrahmung liegt.


Siehe Innere Umrandung, Äußere Umrandung


Ein Achsendiagramm, bei dem zwei Datenkategorien auf einer Achse dargestellt werden.


Eine Abfragespalte, die einer Kontrollgruppe zugewiesen ist.


Eine Gruppe, mit der Berichtdaten aufgeteilt oder kategorisiert werden. Alle Daten in Abfragespalten, die einer Kontrollgruppe zugewiesen sind, werden über den Daten in den Spalten angezeigt, die zu anderen Gruppen gehören. Jeder Datensatz, der für eine Kontrollgruppe abgerufen wird, wird nur einmal angezeigt, während mehrere zusammengehörige Datensätze in anderen Gruppen angezeigt werden können.


Ein Bericht, der Kategorien enthält, mit denen die Berichtdaten in Gruppen aufgeteilt werden.


Ein PL/SQL -Block, der immer dann ausgeführt wird, wenn ein Programmstop erreicht wird. Siehe auch:  Programmstop.


Eine Debug-Aktion, die Sie in eine beliebige ausführbare Quellzeile in einem PL/SQL-Unterprogramm setzen können. Ein Programmstop unterbricht die Ausführung des Programmblocks und übergibt die Kontrolle an den PL/SQL-Interpreter. Mit Programmstops können Sie ein Unterprogramm inkremental ausführen und nach Laufzeitfehlern suchen. Siehe auch: Break-Trigger


Bezieht sich auf eine Komponente, mit der eine bestimmte Art von Dokument erstellt wird. So wird Form Builder z.B. benutzt, um Forms zu erstellen, während mit Report Builder Berichte erstellt werden.


Ein Datentyp, der von dem Oracle-Server definiert und unterstützt wird.


Eine Reihe von Erweiterungen der PL/SQL-Sprache, die zur Benutzung mit der Software ausgelegt sind. Vordefinierte Prozeduren umfassen Datentypen, Prozeduren, Funktionen, Exceptions und Konstanten.


In Project Builder ein mit Project Builder gelieferter Makro. Siehe auch Makro..


Ein temporärer Speicherbereich für Daten während der Übertragung dieser Daten zwischen dem Computer und einem Peripheriegerät oder zwischen Teilen eines Computers. Ein Puffer verhindert einen Datenverlust aufgrund von Differenzen in der Geschwindigkeit bzw. zeitlichen Steuerung des Transfers und beschleunigt bestimmte Funktionen.


1. Ein Oberflächenelement, mit dem ein Aktionsobjekt ausgewählt, ein Dialogfeld angezeigt oder die aktuelle Bedingung bestätigt werden kann.

2. Ein Objekt in einer Anwendung, mit dem eine PL/SQL-Prozedur verknüpft ist. Die Prozedur wird im allgemeinen aufgrund eines vom Benutzer ausgelösten Mausereignisses ausgeführt.


Eine PL/SQL-Prozedur, die mit einem Anwendungsobjekt verknüpft ist, das ausgeführt wird, wenn zur Laufzeit ein bestimmtes Mausereignis für das Objekt eintritt (z.B. das Klicken auf eine Schaltfläche). Die Prozedur wird ausgeführt, indem eine Hierarchie für die abgerufenen Daten mit einer Kontrollgruppe erstellt wird.


Ein temporärer Speicherbereich für Daten der Datenbank, auf die gerade zugegriffen wird oder die von Benutzern geändert werden, bzw. für Daten, die Oracle-Server zur Unterstützung der Benutzer benötigt. Die Begriffe werden häufig austauschbar verwendet.


Eine Schnittstelle, mit der Sie ausführbare Routinen der Forms Developer- oder Reports DeveloperKomponente für andere Oracle-Produkte oder ein 3GL-Programm aufrufen können.


Eine Folge von Unterprogrammaufrufen von der ursprünglichen Eintrittsstelle nach unten bis zu dem gerade ausgeführten Unterprogramm. Jeder Unterprogrammaufruf wird durch einen Rahmen in dem nach unten erweiterbaren Aufrufstapel dargestellt, wobei neu eingegebene Unterprogramme am Ende des Stapels hinzugefügt werden.


Siehe Editor


In Form Builder das Hintergrundobjekt, auf dem Sie die Schnittstellenobjekte positionieren, mit denen die Benutzer in der Laufzeitanwendung arbeiten. Ein Leinwandausschnitt ist im allgemeinen einem Fenster zugeordnet.


Verwaltbare Objekte, die über eine Open API in Client, Anwendungs-Server oder Datenbank eingesteckt werden.


Siehe Dokumentvorlage


Eine Beschriftungskomponente, mit der zwischen Informationen auf der Grundlage einer nicht hierarchischen Darstellung bzw. Einteilung und nicht auf der Grundlage von Empfindlichkeitsebenen unterschieden werden kann. Bei der Klassifizierung werden Kategorien benutzt, um den Zugriff zu Informationen einzuschränken.


Siehe Kategorienachse


Eine Dateninstanz in einem Kalkulationsblatt (z.B. Microsoft Excel).


Akronym für Common Gateway Interface. Die dem Industriestandard entsprechende Technik zur Ausführung von Anwendungen auf einem Web-Server. Während standardmäßige HTML-Dokumente, die von einem Web-Server abgerufen werden, statisch sind (es wird jedesmal genau derselbe Text abgerufen), kann ein auf dem Web-Server ausgeführtes Programm über CGI mit einem anderen Computer kommunizieren, um "dynamische" HTML-Dokumente als Antwort auf vom Benutzer eingegebene Seiten zu generieren.


Akronym für Computer Graphics Metafile. Ein Dateiformat, das international anerkannt ist und für die Speicherung bzw. den Transport objektorientierter Grafiken von einem System oder Programm zu einem anderen benutzt wird.


Ein Oracle-Datentyp, der im Hinblick auf die ANSI/ISO-Kompatibilität enthalten ist. Eine CHAR-Spalte ist eine Spalte mit fester Länge. Sie kann ausdruckbare Zeichen enthalten, wie z.B. A, 3, & oder Leerzeichen und kann von 1 bis 255 Zeichen umfassen bzw. gleich null sein.


Ein Balken, eine Linie, ein Symbol oder ein anderes Grafikobjekt, das einen einzelnen Wert für ein Feld darstellt.


Ein Rechteck mit beliebiger Größe mit einem Rand, mit dem Graphics Builder-Diagramme in eine Form oder einen Bericht eingebettet werden können.


Eine Sammlung von Attributen und Eigenschaften, die das Format eines Diagramms definieren.


Ein Oberflächenelement, das als kleines Quadrat angezeigt wird, das ein Benutzer ein- oder ausschalten kann.


Ein Algorithmus zur Fehlerprüfung.


1. Ein Objekt, das Bestandteil einer Gruppe ist und unmittelbar unter dem Gruppenobjekt in dem entsprechenden Gruppenbaum steht. Die Objekte, die ein Gruppenobjekt bilden, sind untergeordnete Objekte dieser Gruppe. Jedes Objekt ist ein untergeordnetes Objekt des entsprechenden übergeordneten Objekts.

2. (Oracle Express) Ein Dimensionswert auf der Ebene unmittelbar unter einem bestimmten Wert in einer Hierarchie. Werte von untergeordneten Objekten sind in der Berechnung enthalten, die die aggregierte Gesamtsumme für ein übergeordnetes Objekt erzeugt. Ein Dimensionswert kann ein untergeordnetes Objekt von mehr als einem übergeordneten Objekt sein, wenn die Dimension mehr als eine Hierarchie hat. Im folgenden Beispiel werden die Dimensionswerte "Lyon" und "Paris" als untergeordnete Objekte von "Frankreich" in der Dimension GEOGRAPHY dargestellt.


Siehe Detail-Abfrage


Eine hierarchische Ebene, mit der die Empfindlichkeit der beschrifteten Informationen angegeben wird. Mit Klassifizierungen kann der Zugriff zu Informationen begrenzt werden.


Ein Teil einer SQL-Anweisung, der nicht die ganze Anweisung darstellt, z.B. eine "WHERE-Klausel".


Ein Benutzer, eine Softwareanwendung oder ein Computer, der die Dienste, Daten oder eine Verarbeitung von einer anderen Anwendung bzw. einem anderen Computer (dem "Server") anfordert. In einer Zwei-Task-Umgebung ist der Client der Benutzer-Prozeß. In einer Netzwerkumgebung ist der Client der lokale Benutzerprozeß, und der Server kann lokal oder entfernt sein.


Aufteilung der Verarbeitung zwischen zwei Zentraleinheiten, wobei eine als Server dient, der Dienste in einer Transaktion leistet, und die andere als Client in der Transaktion, der Dienste anfordert und empfängt. Alle Verantwortlichkeiten der gemeinsamen Datenverwaltung können von dem Computer verarbeitet werden, auf dem das Datenbankverwaltungssystem ausgeführt wird, während die Workstations, die die Datenbankanwendung ausführen, sich auf die Interpretation und Anzeige von Daten konzentrieren.


Ein Speicherpuffer. Ein Objekt bleibt in der Zwischenablage, bis Sie ein weiteres Objekt ausschneiden oder kopieren bzw. bis Sie die Anwendung beenden.


Ein benutzerdefinierter Datentyp, der eine Dateneinheit beschreibt, die aus einer unbestimmten Anzahl von Elementen besteht, die alle denselben Datentyp aufweisen. Variierende Array-Typen und Tabellentypen sind Collection-Typen.  (Oracle8)


Ein Argument, mit dem Sie eine Datei angeben können, die eine Gruppe von Befehlszeilenargumenten für ausführbare Prozeduren von Forms Developer enthält.


Enthält alle Farben, die für das Fenstersystem, die Zeichnungsoberfläche oder ein Fenster und die zugehörigen Ansichten verfügbar sind.


1. Ein vertikaler Bereich in einer Datenbanktabelle, der eine bestimmte Datendomäne darstellt. Eine Spalte hat einen Spaltennamen (z.B. ENAME) und einen bestimmten Datentyp (z.B. CHAR). In einer Tabelle mit Mitarbeiterdaten würden z.B. die Namen aller Mitarbeiter eine Spalte darstellen. Eine Datensatzgruppenspalte stellt eine Datenbankspalte dar.
2. In Report Builder ein Datenmodellobjekt, das automatisch für jeden Spaltenausdruck in der SELECT-Liste einer Abfrage bzw. manuell erstellt wird, um Summen bzw. Formeln zu berechnen oder als Platzhalter zu fungieren.


In einer relationen Oracle8-Tabelle oder Objekttabelle, eine Spalte, deren Definition auf einem Objekttyp basiert.  Die Spalte ist ein zusammengesetztes Objekt, das den Attributen des Objekttyps entspricht.


Eine Befehlszeile auf Betriebssystemebene. Die meisten Oracle-Produkte können aus einer Befehlszeile mit einer Reihe von Argumenten für ausführbare Programme aufgerufen werden.


Ein Sprachkonstrukt für die Aufnahme von erläuterndem Text in einem Programm, dessen Ausführung davon nicht betroffen wird.


Wenn die Änderung von Daten in der Datenbank festgeschrieben wird, spricht man vom Speichern. Bevor Änderungen gespeichert werden, sind sowohl die alten als auch die neuen Daten vorhanden, so daß Änderungen gespeichert oder die Daten im vorherigen Zustand wiederhergestellt werden können.


(Oracle Express)

>	Größer als

<	Kleiner als

=	Gleich

<=	Kleiner als oder gleich

>=	Größer als oder gleich

<>	Ungleich

Bei Zahlen werden die Operanden auf den niedrigsten gemeinsamen Typ erweitert (Ganzzahl ist vorrangig gegenüber Long, was wiederum vorrangig gegenüber einfacher Genauigkeit ist, was vorrangig gegenüber doppelter Genauigkeit ist). Bei Zeichenfolgen muß die Schreibweise bei dem Vergleich berücksichtigt werden. Der Vergleich basiert auf der Sortierfolge, die von der in der Windows-Systemsteuerung angegebenen Sprache benutzt wird. Das Ergebnis ist 0 bei FALSE und -1 bei TRUE.


Übersetzung eines Quellprogramms in ein binäres, ausführbares Format. PL/SQL-Programmblöcke müssen kompiliert werden, bevor sie ausgeführt werden können.


Ein bestimmtes Zielobjekt, das Bestandteil einer größeren Anwendung ist, z.B. eine Form in einem System zur Auftragseingabe oder eine Bibliothek, die von vielen anderen Elementen gemeinsam genutzt wird. Siehe auch Ziel.


Der gleichzeitige Zugriff auf dieselben Daten durch mehrere Benutzer, die verschiedene Datenbankanwendungen oder dieselbe Anwendung ausführen. Bei der Datenbanksoftware erfordert eine Gleichzeitigkeit eine zusätzliche Logik, um zu gewährleisten, daß alle Benutzer konsistente Daten erhalten und daß alle Änderungen in der richtigen Reihenfolge durchgeführt werden.


Ein Ausdruck, dessen Wert entweder wahr oder falsch ist wie z.B. X> 100. So können Sie z.B. eine Bedingung in einer Abfrage festlegen, wenn die Abfrage nur die Zeilen anzeigen soll, deren Auswertung in dem Ausdruck wahr ist.


Layouteditor-Modus, der verhindert, daß untergeordnete Objekte verschoben oder innerhalb bzw. außerhalb der übergeordneten Objekte skaliert werden.


Zur Anmeldung bei einer Datenbank wird eine DB-Adresse verwendet. Sie müssen sich anmelden, wenn Sie Abfragen erstellen oder ändern bzw. auf Anwendungen zugreifen möchten, die in einer Datenbank gespeichert sind.


Die Gruppe von Parametern, einschließlich einem Protokoll, die SQL*Net benutzt, um sich bei einer bestimmten Oracle-Instanz im Netzwerk anzumelden.


Eine Regel oder Einschränkung, die sich auf bestimmte Daten bezieht (wie z.B. eine NOT NULL-Einschränkung für eine Spalte), die auf Datenbankebene und nicht auf Objekt- oder Anwendungsebene durchgesetzt wird.


Eine PL/SQL-Codestruktur. Es gibt zwei Arten von Konstrukten: Nicht-Wert-Konstrukte, die keinen Wert zurückgeben, und Wert-Konstrukte, die einen Wert zurückgeben.


Ein Arbeitsbereich, in dem Oracle-Server die aktuelle SQL-Anweisung sowie die Spaltenüberschriften und eine Zeile des Ergebnisses speichert, wenn es sich bei der Anweisung um eine Abfrage handelt. Wird auch als Cursor bezeichnet.


Eine Achse, auf der Werte dargestellt werden, die mit einem Wert beginnen und fortgeführt werden, bis ein anderer Wert erreicht ist. Auf diese Weise sind diese Werte mathematisch miteinander verbunden. Abhängige Daten werden im allgemeinen auf dieser Achse dargestellt, die auch als Werteachse bezeichnet wird.


Die vier Eckpunkte des virtuellen Rechtecks, das die Idealform eines Objekts darstellt. Wenn Sie ein Objekt in dem Layout auswählen, werden die Steuerungspunkte angezeigt. Je nach ausgewähltem Objekt können Sie das Objekt ändern, indem Sie einen Steuerungspunkt ziehen.


Das zweidimensionale Raster, in dem gezeichnet wird.


Die Art von x-, y-Einheiten, mit denen Objekte in der Layouteditor-Ansicht positioniert und skaliert werden. Die verfügbaren Koordinatensysteme sind 1) Zeichen, das die ursprüngliche Größe der Zeicheneinheit der Plattform verwendet, und 2) reell, bei dem in Pixel-, Zentimeter-, Zoll- oder Punkt-Einheiten gemessen wird.


Die Positionspunkte für Objekte in dem Layout. Die x- und y-Koordinaten bestimmen die horizontale (x) und vertikale (y) Position von Objekten.


Speichern einer Replik eines ausgewählten Objektes in der Zwischenablage, damit das Objekt gegebenenfalls an einer anderen Stelle im Editor eingefügt werden kann.


Eine Unterabfrage, die auf denselben Tabellen basiert, wie die übergeordnete Abfrage (d.h. Spalten in den Tabellen referenziert, die in der übergeordneten Abfrage enthalten sind).


Gruppe, die zwei oder mehr andere Gruppen besitzt und ein mathematisches Kreuzprodukt erzeugt (d.h. eine Korrelation zwischen den Werten berechnet).


Siehe Matrixzelle


1. Ein kleines Symbol, mit dem die Position der Maus dargestellt wird. Die Cursorform variiert je nach ausgewähltem Tool.

2. Ein interner Zeiger auf Daten, die von einer Abfrage abgerufen werden. Der Cursor zeigt immer nur auf eine Datenzeile gleichzeitig. Sie können jedoch vordefinierte Unterprogramme verwenden, um den Cursor zu einer beliebigen Zeile in der Datengruppe zu setzen.


(Oracle Express) Eine von einem Benutzer erstellte Formel, mit der die Datenanalyse optimiert werden kann. Sie erstellen benutzerdefinierte Maße anhand von Basismaßen in der Datenbank. Wenn die Datenbank z.B. das vorhandene Maß Volume Share enthält, können Sie mit diesem Maß ein benutzerdefiniertes Maß mit der Bezeichnung Volume Share Year Ago erstellen. Mit diesem benutzerdefinierten Maß können Sie den absoluten Anteil eines Produkts im vergangenen Jahr ermitteln.


Löschen von einem oder mehreren Objekten und Speichern dieser Objekte in der Zwischenablage, damit sie gegebenenfalls an einer anderen Stelle im Editor eingefügt werden können.


Eine Ansicht wird verändert, wenn sie voll oder teilweise von einer anderen Ansicht verdeckt wird.


Eine Gruppe von Tabellen und Ansichten, die dem Datenbankadministrator gehören. Dies ist die zentrale Informationsquelle für Oracle-Server und andere relationale Datenbanken.


Ein Datenmodellobjekt, mit dem eine Master-/Detail-Beziehung (Beziehung zwischen übergeordnetem und untergeordnetem Objekt) zwischen einer Gruppe und einer Abfrage definiert wird.


Ein relationales Modell, mit dem definiert wird, welche Daten aus der Datenbank abgerufen werden sollen, welche Daten berechnet werden sollen und wie Daten in einem Bericht angeordnet werden sollen. Report Builder-Objekte, die das Datenmodell definieren, sind Abfragen, Gruppen, Spalten, Parameter und Links.


Eine Quelle für Daten, die von einer Abfrage zurückgegeben werden, einschließlich Datenbankobjekten, wie Tabellen, Ansichten, Synonymen, Snapshots und als Ansichten gespeicherte Abfragen.


In Project Builder ein Knoten im Projektnavigator, der das Projektobjekt angibt, das die Struktur eines offenen Projekts bestimmt. So gibt z.B. der Knoten Globale Registrierung die Globale Registrierung an, die eine Liste von lokalen Registrierungen und eine Liste von globalen Definitionen enthält.


Eine Gruppe von Dictionary-Tabellen und Benutzertabellen, die als eine Einheit benutzt werden.


Ein gespeicherter PL/SQL-Block, der implizit ausgeführt wird, wenn eine triggerauslösende Anweisung INSERT, UPDATE oder DELETE für die zugehörige Tabelle in der Datenbank ausgegeben wird. Siehe auch: Debug-Trigger.


Eine Standardform von Daten. Einige gebräuchliche Oracle-Datentypen sind CHAR, VARCHAR2, DATE, NUMBER, LONG, RAW und LONG RAW.


Ein Datentyp von Oracle-Server. Eine Datumsspalte kann ein Datum und eine Zeit zwischen dem 1. Januar 4712 v.Chr. und dem 31. Dezember 4712 n.Chr. enthalten.


Eine Achse, auf der Datumswerte dargestellt werden, die bei einem Datum beginnen und fortgeführt werden, bis ein anderes Datum erreicht ist.


Erkennen, Diagnostizieren und Beheben von Laufzeitfehlern in Programmen.


Ein vom Benutzer angegebenes Ereignis, das in ein PL/SQL-Unterprogramm gesetzt wird, im allgemeinen im Hinblick auf die Behebung von Laufzeitfehlern.


Eine bedingte Debug-Aktion, die Sie in jede Quellzeile in einem PL/SQL-Unterprogramm setzen können. Wenn die angegebene Bedingung erfüllt wird, wird die angegebene Aktion ausgelöst, bevor die Ausführung des Unterprogramms wiederaufgenommen wird. Siehe auch: Datenbank-Trigger.


Die Funktionalität von Procedure Builder innerhalb einer Software-Komponente, die für das Testen und Debuggen benutzt wird.


In Oracle8 sind Objekttypen und Objekte zusammengesetzte Objekte, die aus Bestandteilen oder Attributen bestehen. Forms Developer oder Reports Developer behandelt jeden Bestandteil bzw. jedes Attribut als unabhängiges, individuell auswählbares Datenobjekt. Dies führt zu einem aufgelösten Objekt (gelegentlich auch als Flattened Object bezeichnet).  Das Objekt ist keine homogene Entität innerhalb der Developer-Umgebung.


Eine Datengruppe, deren Wert von anderen Daten abhängt. So kann z.B. die Betriebsangehörigkeit eines Mitarbeiters den Wert 10 haben, der vom Wert des Mitarbeiternamens abhängt. Wird auch als Wertdaten bezeichnet.


Ein Wert, der vom System geliefert wird, wenn ein Benutzer keinen erforderlichen Befehlsparameter bzw. kein erforderliches Befehlsattribut angibt.


Vorbereitung und Bereitstellung einer fertigen Anwendung zur Verteilung und Benutzung.


In Project Builder der Mechanismus, mit dem Project Builder bestimmt, wie Dateien kompiliert werden, die in Projekten referenziert werden. Objekte am oberen linken Rand des Baums hängen von den Objekten am unteren linken Rand ab. Wenn z.B. eine Kopfzeilendatei entweder veraltet oder neuer ist als die ausführbare Datei, mit der sie generiert wurde, generiert Project Builder die ausführbare Datei mit einem Build-Befehl neu. Abhängigkeiten erstrecken sich auch auf Unterprojekte. Wenn z.B. ein Unterprojekt aus einer Funktionsbibliothek besteht, die neu generiert wurde, weiß Project Builder, daß das abhängige Projekt neu generiert werden muß, um die aktualisierten Bibliotheksfunktionen zu benutzen. Siehe auch Abhängigkeitsansicht


Zeigt in Project Builder die Dateien im Projektnavigator in der Reihenfolge an, in der sie voneinander abhängen, wobei Projektknoten am obersten Punkt in der Hierarchie stehen, gefolgt von Zielknoten, auf die wiederum generierbare Komponenten dieser Ziele folgen. So hängt eine ausführbare Form z.B. von einer .fmb-Datei ab, die auf die Form folgt, die wiederum von einer Bibliothek abhängt und von dieser gefolgt wird, die für eine USEREXIT-Prozedur benutzt wird usw. Siehe auch Projektansicht, Ziel


1. Ein Objekt, das in dem Gruppenbaum eines anderen Objekts an einer beliebigen Stelle unterhalb dieses anderen Objekts steht. Jedes Objekt ist ein untergeordnetes Objekt der entsprechenden übergeordneten Objekte.

2. (Oracle Express) Ein Dimensionswert auf einer beliebigen Ebene unter einem bestimmten Wert in einer Hierarchie. Werte von untergeordneten Objekten sind in der Berechnung enthalten, die die aggregierte Summe für ein Vorgängerobjekt erzeugt. Im folgenden Beispiel werden die Dimensionswerte "Frankreich", "Lyon" und "Paris" als untergeordnete Objekte von "Europa" in der Dimension GEOGRAPHY dargestellt


Die Oberfläche, auf der verschiedene Komponenten einer Forms Developer- oder Reports Developer-Anwendung entworfen werden.


Siehe Oracle Designer..


Eine Gruppe von Werkzeugen zur Modellierung, Entwicklung und Generierung von Anwendungen. Mit Oracle Designer können Sie Forms und Menüs aus Moduldefinitionen generieren, die im Oracle-Repository aufgezeichnet sind.


Bei der Definition eines Master-/Detail-Berichts ruft die Detailabfrage alle zusammengehörigen Datensätze für jeden Datensatz ab, der von der Master- oder übergeordneten Abfrage abgerufen wird.


Ein Teilbildschirm bzw. ein Fenster, in dem Sie aufgefordert werden, die zur Ausführung eines Vorgangs erforderlichen Informationen einzugeben.


Eine Zwischendarstellung eines Programmblocks, die vom Compiler generiert wird. DIANA umfaßt alle syntaktischen und semantischen Informationen für einen kompilierten Programmblock. Um eine Referenz auf einen Programmblock zu kompilieren, muß der Compiler Zugriff zu der referenzierten DIANA-Darstellung des Programmblocks haben. Wenn z.B. Programmblock A Programmblock B aufruft, muß die DIANA-Darstellung für B verfügbar sein, bevor A kompiliert werden kann.


(Oracle Express) Ein Typ eines Datenbankobjekts, bei dem es sich um eine Werteliste handelt, die Kategorien für Daten bereitstellt. Eine Dimension fungiert als Index zur Kennzeichnung von Werten einer Variablen. Angenommen, Umsatzdaten mit separaten Umsatzzahlen für jeden Monat sind vorhanden. In diesem Fall haben die Daten eine Dimension MONTH, d.h. die Daten sind nach Monat organisiert. Eine Dimension kann mit einem Schlüssel in einer relationalen Datenbank verglichen werden.

Jedes Datenobjekt innerhalb einer mehrdimensionalen Variablen kann eindeutig und vollständig ausgewählt werden, indem ein Element aus jeder der Dimensionen der Variablen angegeben wird. Wenn z.B. eine Variable Gehalt nach MONTH, PRODUCT und MARKET dimensioniert ist, wobei "Januar" für die Dimension MONTH, "Stereos" für die Dimension PRODUCT und  "Osten" für die Dimension MARKET angegeben wird, wird nur eine Zelle in der Variablen eindeutig angegeben. Somit bieten Dimensionen eine präzise und intuitive Möglichkeit Daten zu organisieren und auszuwählen, um Abrufen-, Aktualisieren- und Berechnenvorgänge durchzuführen.

Eine Dimension kann einfach sein, mit Werten, bei denen es sich um einfache Text- oder ganzzahlige Werte handelt. Sie kann jedoch auch eine Conjoint-Dimension sein, mit Werten, bei denen es sich um Kombinationen aus anderen Werten in anderen Dimensionen handelt. Ein zusammengesetztes Objekt ist keine Dimension, sondern ein conjoint-ähnliches Objekt, das Express im Hinblick auf die Verarbeitung von selten auftretenden Daten als Dimension behandelt.


 (Oracle Express) Ein Element in der Liste, aus der eine Dimension besteht. Eine Computerfirma könnte z.B. Dimensionswerte mit der Bezeichnung "LAPPC" und "DESKPC" in der Dimension PRODUCT haben. Werte in der Dimension GEOGRAPHY könnten "Boston" und "Paris" umfassen. Werte in der Dimension TIME könnten "MAY96" und "JAN97" umfassen.


Der Status eines Oberflächenelements, mit dem angegeben wird, daß ein Menüpunkt, eine Schaltfläche usw. im aktuellen Kontext nicht benutzt werden kann, d.h. daß das Objekt nicht auf eine Tastatur- oder Mauseingabe reagiert.


Eine Achse, auf der verschiedene Werte in festen Intervallen dargestellt werden. Diese Werte stehen mathematisch nicht in Beziehung zueinander. Unabhängige Daten werden im allgemeinen auf dieser Achse dargestellt.


Ein Graphics Builder-Dokument, das eine beliebige Kombination von Diagrammen, Bildern, Textobjekten und Formeln enthält.


In Form Builder ein Objekt, in dem Informationen gespeichert und angezeigt werden, die mit PL/SQL abgerufen oder programmgesteuert zugewiesen werden müssen.


Zum Aufrufstapel gehörig, in dem neu eingegebene Unterprogramme am Ende des Stapels hinzugefügt werden. Der früheste Rahmen, der dem ursprünglichen Eintrittspunkt in das Programm entspricht, befindet sich am oberen Rand des Stapels, während der letzte Rahmen, der mit dem am tiefsten verschachtelten Unterprogrammaufruf verknüpft ist, am unteren Ende des Stapels steht.


Beim Ziehen halten Sie eine Maustaste gedrückt, während Sie den Mauszeiger zu einer bestimmten Stelle in einem Fenster schieben.


(Oracle Express) Beim Aufgliedern wird in den Aggregationsebenen in einer Dimension, die eine Hierarchie hat, nach oben und unten navigiert. Wenn Sie Dimensionswerte auswählen oder Daten anzeigen, können Sie eine Dimensionshierarchie ein- oder ausblenden, indem Sie in ihr nach oben oder unten aufgliedern. Beim Aufgliedern nach unten wird die Ansicht eingeblendet, damit die untergeordneten Objekte aufgenommen werden, die mit übergeordneten Werten in der Dimensionshierarchie verknüpft sind. Beim Aufgliedern nach oben wird die Liste mit untergeordneten Werten ausgeblendet, die mit einem übergeordneten Wert in der Dimensionshierarchie verknüpft sind.

Sie können auf ein Plus-Symbol ( [image]) klicken, um die Hierarchie einzublenden oder auf ein Minus-Symbol ( [image]), um sie auszublenden.

Im Selektor können Sie auf das Symbol Aufgliedern ( [image]) klicken, um das Dialogfeld Aufgliedern anzuzeigen, so daß Sie eine Detail-Ebene für die ganze Dimension auswählen können.


Eine Option, mit der Sie Objekte direkt auf dem Layout kopieren können, ohne daß sich dies auf den Inhalt der Zwischenablage auswirkt.


(Oracle Express) Eine gespeicherte Auswahl kann bei jeder Auswertung verschiedene Dimensionswerte aufweisen. Die ausgewählten Dimensionswerte können sich von Benutzung zu Benutzung unterscheiden. Dagegen ist eine statische gespeicherte Auswahl eine Liste mit Dimensionswerten, die sich nicht ändert. Ein Skript für eine dynamisch gespeichertes Auswahl könnte "Select the last three Months" enthalten, während ein Skript für eine statisch gespeicherte Auswahl  "Select February 1996, March 1996, and April 1996" enthalten könnte.


Akronym für Extended Binary-Coded Decimal Interchange Code.


Die Umrandung eines Objekts.


Ein Anzeigefeld in der Werkzeugpalette des Layouteditors, in dem die aktuellen Einstellungen für Rand, Füllung, Textmuster und Farben dargestellt werden.


Ein Arbeitsbereich, in dem Sie bestimmte Aufgaben ausführen, wie z.B. einen Programmblock erstellen oder eine Anwendung entwerfen.


Ein wichtiges Objekt, zu dem Sie Informationen aufzeichnen müssen. Elemente werden von Attributen und Verknüpfungen mit anderen Elementen beschrieben.


Ein beliebiges Element im Dictionary wird als Element eines bestimmten Typs eingeordnet. Beispiele für Elementtypen sind Entität, Attribut, Programmodul, Tabelle, Diagramm, Text, Softbox. Vorkommen bzw. Instanzen dieser Elemente werden ebenfalls als Elemente bezeichnet.


(Oracle Express) Diese Schaltfläche zeigt ein Dialogfeld für die gerade ausgeführte Aufgabe an, im allgemeinen, damit Sie einen oder mehrere benötigte Werte auswählen können.


Status eines Oberflächenelements, der angibt, daß ein Menüpunkt, eine Schaltfläche usw. im aktuellen Kontext benutzt werden kann, d.h. auf eine Tastatur- und/oder Cursor-/Mauseingabe reagiert.


Ein Objekt, das ein anderes Objekt enthält. Ein Objekt ist nur dann von einem anderen Objekt umschlossen, wenn folgende Bedingungen alle wahr sind: Beide Objekte gehören zum selben Bereich (Hauptteil, Rand, Titel oder Anhang), das äußerste der beiden Objekte ist ein Rahmen oder Wiederholungsrahmen, das äußerste der beiden Objekte steht hinter dem anderen Objekt, das innerste der beiden Objekte liegt voll innerhalb der Umrandung des anderen Objekts.


Beim Verschlüsseln werden Daten so codiert, daß nur der beabsichtigte Empfänger sie decodieren (entschlüsseln) und lesen kann.


Der Computer-Arbeitsplatz des Benutzers, einschließlich der Tools, die normalerweise benutzt werden, und deren Konfiguration. Bei Project Builder bezieht sich dies auf die Teilmenge von Tools, mit denen verschiedene Aufgaben im Zusammenhang mit der Entwicklung von Forms Developer-Anwendungen ausgeführt werden.


Eine Warn- oder Fehlerbedingung, die von einem PL/SQL-Unterprogramm generiert wird.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem der Benutzer Dimensionswerte auswählen kann, die mit den Daten verknüpft sind, die den von Benutzer angegebenen Bedingungen entsprechen. So könnte der Benutzer z.B. alle Produkte auswählen, deren Umsätze in der Woche, die am 23.Dezember 1995 endet, im Bereich München höher als 10.000 DM waren.


Ein Argument, das Sie an die ausführbare Routine eines Produkts übergeben können, wie z.B. 'OPENFILE=my_disp' und 'PRINT=YES'. Diese Argumente werden im allgemeinen angegeben, wenn die ausführbare Routine über die Befehlszeile aufgerufen wird.


Siehe Ausführen


Speichern einer Kopie von Objekten, Modulen, ausgewählten Texten oder Bildern in einer Datei oder Datenbank. Bei Project Builder wird mit Exportieren der Prozeß bezeichnet, bei dem eine Datei, die Projekt-, Typ-, Aktions- und/oder Makro-Definitionen enthält, in ein portierbares Format zur Verteilung an andere Benutzer geschrieben wird, die möglicherweise auf heterogenen Plattformen arbeiten. Siehe auch Exportdatei, Importieren.


In Project Builder die gemeinsam benutzbare, portierbare Datei, die durch das Exportieren eines Projekts erstellt wird.


1. Ein PL/SQL-Konstrukt, in dem Variablen, Konstanten, Literale und Vorgänge mit den Werten kombiniert werden.

2. (Oracle Express) Ein oder mehrere Datenwerte, die in einem Programm in der Express-Sprache angegeben werden. Sie können z.B. Ausdrücke als Argumente für Programme und Funktionen angeben. Ein Ausdruck kann aus einem der folgenden Elemente bestehen:

•	Ein einfacher, literaler Wert (z.B. 10)

•	Eine Variable oder Formel, die einen oder mehrere Werte enthält

•	Eine Funktion, die einen oder mehrere Werte zurückgibt

•	Eine Berechnung, mit der Werte, wie z.B. Variablen, Formeln oder Funktionen mit arithmetischen oder Booleschen Operatoren kombiniert werden.


Siehe Bibliothek


Eine SQL SELECT-Anweisung im ANSI-Standard, auf die von anderen Oracle-Produkten Bezug genommen werden kann.


(Oracle Express) Eine Gruppe mit zusammengehörigen Dimensionswerten, die den Ebenen der Dimensionshierarchie entsprechen. Dimensionswerte innerhalb einer Familie können in einer Beziehung Vorgänger, übergeordnetes Objekt, untergeordnetes Objekt und Nachfolger zueinander stehen. In dem folgenden Beispiel werden die Familienbeziehungen für den Dimensionswert "Frankreich" in der Dimension GEOGRAPHY dargestellt.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem der Benutzer eine Familie mit Dimensionswerten für eine bestimmte Hierarchie auswählen kann. Eine Familie umfaßt ein übergeordnetes Objekt und alle untergeordneten Dimensionswerte. Der Benutzer kann z.B. alle Familienmitglieder unter der Ebene des Marktes Chicago in der Dimension Geography auswählen.


1. Ein Oberflächenelement, in dem Sie Daten eingeben, bearbeiten oder löschen. 2. In Graphics Builder oder Report Builder ein Layoutobjekt, mit dem definiert wird, wie die Daten für eine bestimmte Abfragespalte angezeigt werden.


In Graphics Builder eine Sammlung von Attributen und Eigenschaften, mit denen bestimmt wird, wie abhängige Daten (Werte) als Diagrammfelder dargestellt werden, wie z.B. Balken oder Linien.


In Project Builder ein Knoten im Projektnavigator, der eine Datei angibt, die im Dateisystem gespeichert ist. So entsprechen z.B. die globalen und lokalen Registrierungsknoten den globalen und lokalen Registrierungsdateien.


Der Bereich innerhalb eines Objekts, für den eine Füllfarbe bzw. ein Füllmuster angewandt werden soll.


Eine PL/SQL-Funktion oder eine anonyme Funktion, die die Daten einschränkt, die von einer Gruppe angezeigt werden.


Ein Computer, der den Zugriff auf Computer in einem lokalen Netzwerk von außen und den Zugriff auf externe Computer aus dem lokalen Netzwerk reguliert.


Siehe Aufgelöstes Objekt.


Layouteditor-Modus, in dem übergeordnete Objekte automatisch skaliert oder verkleinert werden, wenn untergeordnete Objekte verschoben oder skaliert werden, und bei dem die Positionen von anderen Layoutobjekten angepaßt werden, die sonst von der Positionsänderung oder Skalierung der Objekte betroffen wären.


Status einer Entität, die auf die Eingabe vom Benutzer oder dem Client reagieren kann. Wenn eine Entity den Tastaturfokus hat, kann sie Ereignisse empfangen, wenn der Benutzer eine Taste drückt. Wenn eine gezeichnete Ansicht den Zeichnenfokus hat, kann sie auf Client-Routinen reagieren, die sich auf das Zeichnen auswirken.


Der schwarze Teil eines Musters. Mit der Randfarbpalette können Sie Farbe für das Vordergrundelement anwenden.


Ein Wert oder eine Spalte in einer Tabelle, die sich auf einen Primärschlüssel in einer anderen Tabelle bezieht.


In Report Builder ein Standard-Layoutstil, bei dem Beschriftungen links neben den Feldern angezeigt werden und bei dem jeder Datensatz auf einer separaten logischen Seite gedruckt wird.


In Report Builder ein Standard-Layoutstil, der Boilerplate und Felder mischt, wobei Zeilen bei ganzen Wörtern umbrochen werden.


(Feldattribute) Eine Einstellung, die das Format eines Feldwertes definiert. So wird z.B. eine Formatmaske benutzt, um die Anzeige von Währungsbeträgen und Datumsangaben zu bestimmen.


Eine PL/SQL-Funktion, mit der Sie die Formatierungsattribute eines Objekts dynamisch ändern können.


(Oracle Express) Ein Typ eines Datenbankobjekts, das eine gespeicherte Berechnung, einen Ausdruck oder eine Prozedur darstellt, die einen Wert erzeugt. Mit einer Formel können komplexe oder häufig benutzte Beziehungen innerhalb der Daten definiert und gespeichert werden, ohne daß die Daten selbst erneut gespeichert werden müssen. Immer wenn Sie eine Formel benutzen, führt Express die Berechnung oder Prozedur aus, die zur Erzeugung des Wertes erforderlich ist.


Eine vom Benutzer erstellte Spalte, die ihre Daten aus einer PL/SQL-Funktion bzw. einem PL/SQL-Ausdruck, einem User Exit, einer SQL-Anweisung oder einer beliebigen Kombination dieser erhält.


In Graphics Builder der Teil einer Diagrammvorlage, der die Grundstruktur eines Diagramms definiert, jedoch nicht bestimmt, wie die Daten dargestellt werden.
2. In Report Builder ein Layoutobjekt, mit dem andere Layoutobjekte umschlossen werden und mit dem Formatierung, Wiederholung und Position von mehreren Objekten gleichzeitig gesteuert wird.


Ein PL/SQL-Unterprogramm, das eine bestimmte Folge von Aktionen ausführt und dann einen Wert zurückgibt. Es kann auf dem Client und dem Datenbank-Server gespeichert sein und ausgeführt werden.


Speichern einer Anwendung in einer Datei oder Datenbank in einem Binärformat, das von ausführbaren Laufzeit- und Stapel-Routinen ausgeführt werden kann.


Die ausführbare Routine von Form Builder, mit der eine Anwendung in einer Datei oder Datenbank im Binärformat gespeichert wird.


Eine Registrierung von Project Builder, bei der Informationen gespeichert werden, die für die ganze Forms Developer- oder Reports Developer-Installation gelten. Diese Informationen sind auf Typdefinitionen und die zugehörigen Aktionen und vordefinierte bzw. benutzerdefinierte Attribute beschränkt. Die Benutzung der Globalen Registrierung ist optional; ihre Funktionen können von einzelnen Benutzerregistrierungen ausgeführt werden. Siehe auch Registrierung, Benutzerregistrierung


Ein logischer Container, der anwendungsübergreifend vorhanden ist. Wenn eine Anwendung eine globale Variable benutzt, verwaltet die Anwendung die Variable, bis die Anwendung beendet wird oder bis ein anderes Objekt sie explizit entfernt.


Mit einer Zugriffsberechtigung wird einem Benutzer der Zugriff auf ein Modul erteilt. Nur der Modulersteller kann anderen Benutzern den Zugriff auf das Modul erteilen.


In Graphics Builder die Linien, die Zeilen und Spalten im Layouteditor trennen.


1. Ein Objekt, das aus mehreren anderen Objekten besteht.
2. In Report Builder ein Datenmodellobjekt, das automatisch so erstellt wird, daß alle von einer Abfrage ausgewählten Spalten enthalten sind, oder das vom Benutzer so erstellt wird, daß die Hierarchie der Daten in einem Bericht geändert wird; das Modellobjekt wird in erster Linie für das Erstellen von Programmstops in einem Bericht verwendet sowie für das Zurücksetzen von Berechnungen.
3. In Project Builder Sammlungen von zusammengehörigen Objekten, die über Untermenüs aus dem Launcher aufgerufen werden können. Mit Gruppen können Benutzer den Launcher so konfigurieren, daß er im wesentlichen wie das Start-Menü von Windows 95 aussieht mit beliebigen "Gruppen" als Einträgen, die Zugang zu anderen Objekten und/oder Gruppen ermöglichen. So könnte ein Benutzer z.B. eine Gruppe namens "Project Docs" mit einem Projektplan, einer Liste von auszuführenden Aufgaben, Komponentenspezifikationen usw. definieren; bei einigen Dateien kann es sich um .txt-Dateien und bei anderen um .doc-Dateien handeln.


Eine PL/SQL-Funktion, die die Daten einschränkt, die von einer Gruppe abgerufen werden.


Ein hierarchisches Modell, das einem "Stammbaum" entspricht und die Beziehung zwischen Gruppenobjekten und den Objekten beschreibt, aus denen die Gruppenobjekte bestehen.


Akronym für Graphical User Interface (grafische Benutzeroberfläche). Die Benutzung von Bildern und nicht nur Wörtern zur Darstellung der Ein- und Ausgabe eines Programms. Programme mit GUIs laufen unter Systemen in Fenster-Technik (wie z.B. X Windows, Microsoft Windows, Apple Macintosh usw.). Bei GUI-Programmen werden Symbole, Schaltflächen usw. in Fenstern auf dem Bildschirm angezeigt. Benutzer steuern die GUI-Programme im wesentlichen, indem sie einen (typischerweise durch eine Maus gesteuerten) Zeiger bewegen. Wird auch als Bitmap-Oberfläche bezeichnet.


Ein interner Zeiger auf ein Anwendungsobjekt. Um Bezug auf ein Objekt in einem PL/SQL-Programmblock zu nehmen, müssen Sie dessen Handle als Argument an das entsprechende Unterprogramm übergeben.


Ein optionaler Berichtbereich, der einführendes Material für den Bericht enthalten kann, einschließlich Text, Grafiken, Daten und Berechnungen. Der Berichttitel wird zuerst vor dem Hauptteil und dem Anhang angezeigt.


Ein Knoten im Objektnavigator, der einen Objekttyp angibt, der in einem Bericht enthalten oder mit einem Bericht verknüpft sein kann. Durch Auswahl eines übergeordneten Knotens wird kein Objekt in dem Bericht ausgewählt.


(Feldattribute) Ein Attribut, mit dem angegeben wird, ob Report Builder das angegebene Feld bei der entsprechenden Position im Layout unterdrückt. Wenn Verborgen angegeben ist, wird der Feldwert nur angezeigt, wenn in Textobjekten (mit &fieldname) Bezug auf den Feldwert genommen wird.


(Oracle Express) Eine Möglichkeit, Daten zu organisieren und zu strukturieren. Von einer Hierarchie wird gesprochen, wenn Werte innerhalb einer Dimension in Ebenen geordnet sind, wobei jede Ebene die aggregierte Gesamtsumme der Daten aus der Ebene darunter darstellt. Einige Dimensionen haben mehrere Hierarchien, die auf ihnen basieren.

Im folgenden Beispiel wird eine Hierarchie basierend auf der Dimension GEOGRAPHY dargestellt, in der Dimensionswerte in fünf Ebenen angeordnet sind. Daten auf der Ebene Customers werden in der Ebene Cities aggregiert, die wiederum in den Ebenen Countries/Areas, Continents/Regions und Global aggregiert wird.


Akronym für Hypertext Markup Language.  Eine kennzeichen-orientierte ASCII-Sprache, mit der Inhalt und Links zu anderen Dokumenten auf Web-Servern im Internet angegeben werden. Endbenutzer mit Web-Browsern können HTML-Dokumente anzeigen und Links verfolgen, um anderen Dokumente anzuzeigen.


Akronym für Hypertext Transfer Protocol. Das Protokoll, mit dem der WWW-Verkehr zwischen einem Computer mit WWW- Browser und dem WWW-Server bewältigt wird, auf den zugegriffen wird.


Eine Referenz (ein Link) von einem bestimmten Punkt in einem Dokument zu einem bestimmten Punkt in einem anderen Dokument oder einem bestimmten Punkt in demselben Dokument. Ein Web-Browser zeigt im allgemeinen einen Hyperlink unterschiedlich (in einer anderen Farbe, einer anderen Schriftart oder einem anderen Stil) an. Wenn Benutzer Hyperlinks aktivieren (indem sie mit der Maus auf sie klicken), zeigt der Browser das Ziel des Links an.


Eine Sammlung von Dokumenten, die Querverweise enthalten, mit denen die Leser mit Hilfe eines Web-Browsers schnell von einem Dokument zu einem anderen wechseln können.


Querverweise, mit denen Leser mit Hilfe eines Web-Browsers direkt von einem Dokument zu einem anderen gehen können.


Akronym für Interface C Definition - eine PL/SQL-Anwendungsprogrammierschnittstelle zu der in C implementierten Funktionalität.


Eine grafische Darstellung eines Fensters oder Werkzeugs.


Ein Bitmap-Objekt, das in eine Anwendung gespeichert und geladen werden kann. Der Client kann ein importiertes Bild nicht ändern.


In Project Builder ein Projektobjekt, im allgemeinen das Ergebnis einer automatischen Generierung, das Project Builder erkennt und für das es automatisch Einträge im Projektnavigator erstellt. So kann Project Builder z.B. .obj-Dateien erkennen, die während der Kompilierung von C-Quelldateien als Zwischenschritt generiert werden, und kann Einträge für diese im Projektnavigator erstellen. Auch wenn das Zurücksetzen der Attribute eines impliziten Objekts nur von begrenztem Nutzen ist (die nächste Kompilierung zerstört die Änderungen), können derartige Objekte nützlich sein, da sie über Aktionen wie Bearbeiten, Ansicht und Drucken überprüft werden können. Siehe auch Objekt, Aktion.


1. Einlesen eines Moduls aus dem Dateisystem oder der Datenbank und Integration des Moduls in einer Anwendung.
2. Lesen in einer Datei, die Projektinformationen enthält.


Datenelemente, deren Wert nicht von anderen Daten abhängig ist. So kann z.B. der Name eines Mitarbeiters den Wert Johann enthalten, der unabhängig von den Werten der Namen der anderen Mitarbeiter oder zugehöriger Daten ist. Wird auch als Kategoriedaten bezeichnet.


Eine optionale Struktur, die mit einer Tabelle verknüpft ist, mit der Oracle-Server Zeilen der Tabelle schnell sucht und (optional) garantiert, daß jede Zeile eindeutig ist.


In Project Builder die Übernahme von Informationen für Aktionen, Typen, Makros oder Attributdefinitionen aus einem übergeordneten Knoten im Abhängigkeitsbaum. Wenn in einem übergeordneten Knoten zugehörige Attribute vorhanden sind, können diese vererbt werden. So können z.B. Dateisystem-Objekte wie Forms und Dokumente Aktionsdefinitionen von Unterprojekten, Projekten, der Benutzerregistrierung oder der Globalen Registrierung erben. Projekte können Typdefinitionen von der lokalen oder Globalen Registrierung erben usw.


Das virtuelle Rechteck, das die Idealform eines Objekts darstellt und die vier Steuerungspunkte verbindet, unabhängig von der Randstärke oder anderen Attributeinstellungen.


Die Datei, mit der ein Ziel generiert wird: zum Beispiel ist eine .fmb-Datei das Eingabeelement für eine .fmx-Datei. Wird auch als Quelle bezeichnet.


Ein Modus, bei dem jedes eingegebene Zeichen bei der Cursorposition eingefügt wird, wobei die nachfolgenden Zeichen nach rechts verschoben werden. Das Gegenteil von Einfügen-Modus ist Ersetzen-Modus.


Ein weltweites TCP/IP-gestütztes Computernetzwerk.


Eine Datei, die eine Mischung aus PL/SQL-Quellcode, Procedure Builder-Befehlen und SQL-Anweisungen enthält.


Ein internes TCP/IP-Netzwerk. Der Zugriff auf dieses Netzwerk ist (über einen Firewall) auf Einzelpersonen innerhalb eines Unternehmens oder einer Organisation beschränkt. Ein Intranet bietet innerhalb einer Organisation ähnliche Dienste wie das Internet, ist jedoch nicht notwendigerweise an das Internet angeschlossen. Ein allgemeines Beispiel für ein Intranet ist die Einrichtung von einem oder mehreren Web-Servern in einem internen Netzwerk innerhalb eines Unternehmens zur Verteilung von Informationen oder Anwendungen innerhalb des Unternehmens.


Eine aus vier Bestandteilen zusammengesetzte Zahl mit maximal drei Ziffern in jedem Teil, die einen Computer im Internet eindeutig kennzeichnet.


In Project Builder ein Objekt im Dateisystem, das mit dem Projekt verknüpft ist, wie z.B. eine Form oder ein Dokument, auf das ein Knoten im Projektnavigator zeigt bzw. das durch einen Knoten im Projektnavigator dargestellt wird.


In Project Builder ein Eintrag im Projektnavigator-Fenster, der aus einem Symbol und einem beschreibenden Titel besteht. Knoten weisen auf tatsächliche Objekte im Dateisystem hin, wie z.B. Form Builder-Dateien und Dokumente. Siehe auch Knoten, Objekt.


Akronym für Java ARchive.  Eine Datei, mit der viele Dateien (Java-Klassendateien, Bilder usw.) zu einer Datei verbunden werden.


Eine Computersprache, die die Programmierung für das Internet in Form von plattformunabhängigien "Applets" unterstützt.


Kombinieren von Daten aus zwei (oder mehr) Tabellen in einer einzigen SELECT-Anweisung.


Siehe Ausrichtung


1. Teil einer Befehlszeilensyntax, der mit einem entsprechenden Argument angegeben werden muß. 2. Ein obligatorischer Teil eines PL/SQL-Konstrukts.


Text, der die Werte bzw. die Bedeutung der visuellen Objekte einer Anwendung kennzeichnet.


(Oracle Express) Eine Position in einer Dimensionshierarchie. Jede Ebene über das Basisebene stellt die aggregierte Gesamtsumme der Daten aus der Ebene darunter dar. So könnte die Dimension TIME z.B. aufsteigende Ebenen wie Month, Quarter und Year haben. Innerhalb einer Dimensionshierarchie hat ein Dimensionswert auf einer Ebene eine Familienbeziehung mit den Dimensionswerten auf den Ebenen über und unter dieser Ebene.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem der Benutzer Dimensionswerte basierend auf deren Ebene in einer bestimmten Hierarchie auswählen kann. Der Benutzer kann z.B. alle Dimensionswerte auf der Ebene Key Account in der Dimension Geography auswählen.


Der Bereich eines Editors, in dem Sie Objekte erstellen, ändern, positionieren oder löschen können.


Eine Maßeinheit, mit der gewährleistet wird, daß ein konsistentes Maßsystem bei den verschiedenen Anzeigegeräten verwendet wird. Wird zur Angabe einer Position auf dem Layout oder zur Angabe der Abmessungen eines Objekts benutzt.


Eine Referenz auf einen Parameter, mit dem eine Textfolge in einer SQL SELECT-Anweisung dargestellt wird. Für eine lexikalische Referenz muß vor dem Parameternamen ein Et-Zeichen (&) stehen.


Eine Sammlung aus einem oder mehreren PL/SQL-Programmblöcken, die gemeinsam in einer Datei im Client-Dateisystem oder in der Datenbank gespeichert sind. In einer Bibliothek gespeicherte Programmblöcke können von mehreren Anwendungen gleichzeitig referenziert werden. Im Gegensatz zu gespeicherten Programmblöcken, die in der Datenbank gespeichert sind und ausgeführt werden, werden Programmblöcke in Bibliotheken immer innerhalb der PL/SQL-Engine auf der Client-Seite geladen und ausgeführt. Um Programmblöcke zu referenzieren, die in einer Bibliothek gespeichert sind, müssen Sie die Bibliothek zuerst zuordnen. Siehe auch: Zugeordnete Bibliothek..


Ein Datenmodellobjekt, mit dem eine Master-/Detail-Beziehung (Beziehung zwischen übergeordnetem und untergeordnetem Objekt) zwischen einer Gruppe und einer Abfrage definiert wird.


Name einer Datei, mit der ein Boilerplate-Objekt verknüpft ist. Zur Laufzeit importiert Report Builder den Inhalt der Datei in Ihr Berichtlayout.


Eine Liste mit Objekten innerhalb eines Dialogfeldes. Im allgemeinen enthält das Listenfeld verschiedene Optionen zur Auswahl. Außerdem kann ein Bildlauf durch das Listenfeld vorgenommen werden.


In Form Builder ein Objekt, das eine Liste mit Auswahlen anzeigt.


Eine Werteliste entspricht einem Popup-Fenster, durch das ein Bildlauf vorgenommen werden kann und das eine ein- oder mehrspaltige Auswahlliste für den Benutzer anzeigt.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem Sie Dimensionswerte aus einer Liste der momentan ausgewählten Werte in der Dimension auswählen können.


1. Die Datenbank auf dem Computer, auf dem die Anwendung ausgeführt wird. 2. Die Datenbank, mit der eine Anwendung verbunden ist. Diese Datenbank analysiert und führt alle SQL-Anweisungen aus, die von der Anwendung generiert werden.


Siehe Benutzerregistrierung.


Eine PL/SQL-Variable, die nur im Geltungsbereich des aktuellen Programmblocks deklariert wird.


(Oracle Express)

Not	Unäres Not -- Operand kann vom Typ Ganzzahl oder Long sein. Der Vorgang wird bitweise (Einerkomplement) durchgeführt.

And	And - Operanden können vom Typ Ganzzahl oder Long sein. Der Vorgang wird bitweise durchgeführt.

Or	Inklusives Or  -- Operanden können vom Typ Ganzzahl oder Long sein. Der Vorgang wird bitweise durchgeführt.

Xor	Exklusives Or -- Operanden können vom Typ Ganzzahl oder Long sein. Der Vorgang wird bitweise durchgeführt.

Eqv	Äquivalenz -- Operanden können vom Typ Ganzzahl oder Long sein. Der Vorgang wird bitweise durchgeführt. (A Eqv B) ist identisch mit (Not (A Xor B)).

Imp	Implikation -- Operanden können vom Typ Ganzzahl oder Long sein. Der Vorgang wird bitweise durchgeführt. (A Imp B) ist identisch mit ((Not A) OR B).


Eine Seite des tatsächlichen Berichts (es können eine oder mehrere physikalische Seiten angezeigt werden).


In einem PL/SQL-Unterprogramm eine Bedingungsanweisung, die wiederholt wird, bis die Bedingung nicht mehr erfüllt wird.


In Project Builder eine typspezifische Variable, mit der Aktionen individuell gestaltet und erweitert werden können. Bei einem Makro kann es sich entweder um eine Konstante oder einen einfachen Ausdruck handeln (der wiederum andere Konstanten und/oder Ausdrücke enthalten kann). Durch die Benutzung von Makros wird die Ausgabe von Befehlsoptionen wesentlich flexibler gestaltet. Außerdem kann der Benutzer Befehlssätze einfacher ändern, indem er eine Attributdefinition ändert.


Ein Standardlayout, bei dem Datensätze in einer oder mehreren Spalten auf der Seite angezeigt werden. In einem einzelnen Wiederholungsrahmen werden Felder direkt untereinander angezeigt.


Ein optionaler Berichtbereich, der am oberen und unteren Ende jeder logischen Seite im Hauptteil angezeigt wird. Der Rand kann ein beliebiges Layoutobjekt enthalten, enthält jedoch typischerweise Boilerplates und Felder (für Seitennummern, Gesamtanzahl von Seiten, Gesamtsummen und laufendes Datum und Uhrzeit).


Ein Standardlayout, bei dem Detail-Datensätze unter den Master-Datensätzen stehen. Master-Datensätze werden im Form-Layoutstil angezeigt, während Detail-Datensätze im tabellarischen Layoutstil angezeigt werden.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem der Benutzer Dimensionswerte auswählen kann, indem Zeichen in den Namen von Dimensionswerten mit den vom Benutzer angegebenen Zeichen abgeglichen werden. Der Benutzer kann z.B. alle Dimensionswerte in der Dimension Produkt auf der Ebene Marke auswählen, die die Zeichen "neu" enthalten.


Eine Wiederholungsrichtung, bei der jeder Datensatz eines Wiederholungsrahmens als eine Zelle einer Matrix angezeigt wird.


Ein Standardlayout, das einem Raster entspricht, das die vier Datengruppen formatiert, die für einen Matrixbericht erforderlich sind. Eine Datengruppe wird als eine Zeile mit Beschriftungen angezeigt, eine andere als eine Spalte mit Beschriftungen, eine Datengruppe erstellt das Raster, und eine Datengruppe füllt die Zellen des Rasters auf.


Eine Kreuztabellierung von vier Datengruppen: Eine Datengruppe wird horizontal auf der Seite angezeigt, eine Datengruppe wird vertikal auf der Seite angezeigt, eine Datengruppe ist das Kreuzprodukt, das alle möglichen Positionen bestimmt, bei denen horizontale und vertikale Daten in Bezug zueinander stehen, und das eine Zelle an diese Stellen setzt. Schließlich wird noch eine Datengruppe als "Füller" der Zellen angezeigt.


(Oracle Express) Daten die überprüft und analysiert werden können, wie z.B Umsatzzahlen oder Kostendaten. Sie können die Daten in einem Maß auswählen. Maße können als Variablen oder Beziehungen gespeichert werden. Maße können auch mit Hilfe von Formeln berechnet werden.


Eine Speichereinheit, die 1.048.576 Byte (1024 x 1024) entspricht. Wird häufig auf eine Million Byte gerundet.


Ein modales Fenster, das Sie über eine Bedingung unterrichtet, die aufgrund Ihrer letzten Aktion aufgetreten ist. Sie müssen auf ein Meldungsfeld reagieren.


Ausführbarer Code, der über die Objekttypdefinition einem Oracle8-Objekt zugeordnet ist.


Ein Fenster, das eine Antwort vom Operator erfordert, bevor die Anwendung fortgesetzt werden kann.


Ein nicht eingeschränktes Fenster, das so viel Funktionalität aufweisen kann, wie das zur Laufzeit benutzte Fensterverwaltungsprogramm unterstützt.


1. Ein Objekt, das von mehreren Anwendungen benutzt werden kann. Externe Abfragen und PL/SQL-Bibliotheken sind Beispiele für Module. 2. In Form Builder eine wichtige Komponente einer Anwendung (d.h. ein Menümodul).


Ein Feld in einem Fenster oder Dialogfeld, das sich über mehrere Zeilen erstreckt, so daß Sie einen vertikalen Bildlauf durch die Informationen vornehmen können.


(Oracle Express) Ein besonderer Datenwert, mit dem angegeben wird, daß die Daten "nicht anwendbar" (NA) bzw. nicht verfügbar sind. NA entspricht dem Wert einer Zelle, der kein bestimmter Wert zugewiesen wurde oder für die keine Daten berechnet werden können.


Matrixbericht, bei dem die horizontale und/oder vertikale Dimension eine oder mehrere Master-/Detail-Beziehungen enthält. Es gibt keine Grenze für die zulässige Verschachtelungstiefe.


Ein Datentyp, mit dem angegeben wird, daß die Daten abgerufen werden, wenn die Seite formatiert wird, auf der die Daten stehen (und nicht abgerufen und gepuffert werden, bis die Formatierung abgeschlossen ist).


1. Eine bestimmte Position in der Objekthierarchie des Objektnavigators. Knoten können eingeblendet werden, um Informationen über ein Objekt zu geben, wie z.B. Querverweise auf andere Objekte. 2. In Project Builder ein Eintrag im Projektnavigator. Siehe auch Objekt, Objektkknoten, Organisationsknoten.


Eine Berichtspalte, die eine Datenbankspalte vom Typ NOCACHE referenziert.


Das Fehlen eines Wertes.


(Oracle Express)

^	Potenzierung

-,+	Unäres Minus und Plus

*, /	Numerische Multiplikation oder Division. Bei der Division entspricht das Ergebnis einer Zahl mit doppelter Genauigkeit.

\	Ganzzahlige Division. Die Operanden können Ganzzahlen oder Zahlen mit dem Datentyp Long sein.

Mod	Modulus oder Rest. Die Operanden können Ganzzahlen oder Zahlen mit dem Datentyp Long sein.

-, +	Numerische Addition und Subtraktion. Der Operator + kann auch für die Zeichenfolgenverkettung benutzt werden.


1. Ein Objekt, das in das Layout gesetzt werden kann. Beispiele für Objekte sind Rechteck, Linie, Ellipse, Bogen, Polygon, Polygonzug, abgerundetes Rechteck, Freihandzeichnung, Diagramm, Text, Symbol und Textfeld.2.  In Oracle8 eine Instanz eines Objekttyps. Bei einem Objekt kann es sich um eine Zeile in einer Objekttabelle  oder um den Teil einer Zeile handeln, der in einem Spaltenobjekt in einer relationalen Tabelle enthalten ist.


Siehe Spaltenobjekt.


Ein Container für eine Gruppe von Objekten, der die Möglichkeit bietet, zusammengehörige Objekte zu kopieren bzw. zu referenzieren.


Siehe Handle


Ein Fenster, das die hierarchische Liste der Objekte für die aktuelle Sitzung enthält. Die Liste wird gegliedert angezeigt. Mit ihr kann der Benutzer verschiedene Aufgaben ausführen, wie z.B. Objekte erstellen, bearbeiten, umbenennen und löschen.


In Oracle8 eine Tabelle, deren Definition auf einem Objekttyp basiert. Jedes Attribut in dem Objekttyp wird zu einer Spalte in der Objekttabelle. Jede Zeile in der Tabelle ist ein individuelles Oracle8-Objekt.


In Oracle8 eine Benutzerdefinition oder benutzerdefinierte Vorlage, auf der Objekte aufgebaut werden können. Ein Objekttyp ist ein zusammengesetztes Objekt, das aus Attributen besteht. Jedes Attribut hat einen Namen und einen Datentyp. Der Objekttyp als Ganzes hat einen Namen. Ein Objekttyp kann auch eine oder mehrere Methoden umfassen.


Akronym für Open Database Connectivity.  Ein Standard für den Zugriff auf verschiedene Datenbanksysteme. Eine Anwendung kann Anweisungen an ODBC weiterleiten, indem die ODBC-Möglichkeiten von SQL verwendet werden.  ODBC konvertiert diese dann in die Sprache, die die Datenbank versteht. Mit dem Oracle Open Client Adapter (OCA) kann eine Anwendung dann konsistent auf verschiedene Datenbankverwaltungssysteme zugreifen.  Auf diese Weise kann ein Anwendungsentwickler eine Anwendung entwickeln, kompilieren und verteilen, ohne sich nach einem bestimmten DBMS richten zu müssen.


Object Linking and Embedding (Verknüpfen und Einbetten von Objekten).


Eine Anwendung, die OLE-Objekte speichern und anzeigen kann.


Eine Anwendung, die OLE-Objekte erstellt.


Siehe Vordefinierter Datentyp.


Eine Umgebungsvariable, die das Hauptverzeichnis für Oracle-Produkte angibt.


Ein Eintrag im Projektnavigator, wie z.B. "Typen", "Projekte", "Form-Dateien" usw., mit dem der Navigator gegliedert werden kann und der den Dateityp der untergeordneten Objekte angibt. Der Eintrag kann auch einer Datenstruktur innerhalb bestimmter Typen von Dateisystemobjekten entsprechen.


In x- und y-Koordinaten dargestellt. Der Ursprung einer Ansicht gibt die Position der Ansicht auf der übergeordneten Leinwand an. Der Ursprung einer Leinwand gibt die Position der Zeichnung in einer gezeichneten Ansicht an.


Das kleinste virtuelle Rechteck, das ein Objekt vollständig umschließt.


Wenn der Inhalt eines Objekts nicht auf die aktuelle logische Seite paßt, spricht man von Überlauf. Bei einem Überlauf wird ein Teil des Inhalts auf die nächste logische Seite verschoben.


Eine PL/SQL-Funktionder Software, auf die an einer beliebigen Stelle innerhalb eines Programmblocks Bezug genommen werden kann.


Eine Methode für das Verpacken und Speichern zusammengehöriger Prozeduren, Funktionen, Variablen und anderer Paketkonstrukte als eine Einheit in der Datenbank oder auf dem Client. Während Pakete dem Datenbankadministrator oder Anwendungsentwickler Organisationsvorteile bieten, gewährleisten sie außerdem verbesserte Funktionalität und Datenbankleistung. Die Software stellt verschiedene vordefinierte Pakete bereit, die PL/SQL-Konstrukte enthalten, die von client-seitigen Programmblöcken referenziert werden können (z.B. Paket TEXT_IO). Außerdem werden verschiedene Pakete mit dem Oracle Datenbank-Server geliefert, mit denen gespeicherte Programmblöcke referenziert werden können (z.B. Paket DBMS_OUTPUT).


Umfaßt die aktuelle Implementierung des Pakets, das private Unterprogramme und Datentypen enthalten kann. Der Hauptteil ist optional, wenn das Paket nur aus Deklarationen besteht.


Deklariert die öffentliche Schnittstelle zu dem Paket, d.h. die Datentypen und Unterprogramme, die andere Programmblöcke referenzieren können.


(Oracle Express) 1. Ein Datensegment, das in einem Bericht enthalten ist. Auf zusätzlichen Seiten werden zusätzliche Datensegmente angezeigt.

In der folgenden Abbildung werden drei Seiten mit Daten dargestellt.

2. In Express kann eine Seite auch eine Speichereinheit in einer Express-Datenbank referenzieren.


(Oracle Express) Mit dem Seitenumbruch wird angegeben, wie für eine Abfrage ausgewählte Daten in Ihrem Kalkulationsblatt dargestellt werden. Das Seitenlayout hat drei Ränder - Horizontal, Vertikal und Seite. Mit den Rändern wird angegeben, wie ein mehrdimensionaler Datenkubus, der von der Abfrage definiert wird, in einem zweidimensionalen Kalkulationsblatt dargestellt wird. In Dimensionsbeschriftungen werden die Namen und Positionen der Dimensionen angegeben. Mit einer Beschriftung auf dem Horizontalen Rand wird angegeben, daß diese Dimesion als Spalte angezeigt wird. Mit einer Beschriftung auf dem Vertikalen Rand wird angegeben, daß diese Dimension als Zeile angezeigt wird. Mit einer Beschriftung auf dem Rand Seite wird angegeben, daß diese Dimension in einem Seitenfeld über den Ergebnissen angezeigt wird.


Eine Einstellung, mit der festgelegt wird, ob das aktuelle Objekt und die untergeordneten Objekte auf die nächste logische Seite verschoben werden. Sie können Seitenumbrüche vor oder hinter dem aktuellen Objekt in der Berichtausgabe festlegen.


Ein Oberflächenelement, das Werkzeuge, Farben und Muster in einem Editor anzeigt.


Ein bestimmter Teil eines Editors, in dem die Arbeit ausgeführt wird. Die Größe des Ausschnitts kann im allgemeinen geändert werden.


Die Anzahl physikalischer Seiten, die für das Ausdrucken einer logischen Seite erforderlich sind.


1. Ein PL/SQL-Konstrukt, mit dem Informationen an ein Unterprogramm übergeben werden. In dem Unterprogrammaufruf MYPROC (x) ist z.B x ein Parameter. 2. In Forms Developer werden Parameter für die Übergabe von Informationen zwischen Komponenten benutzt, wie z.B. Form Builder und Graphics Builder. 3. Eine Variable, die Sie zur Laufzeit ändern können.


Eine Gruppe mit Parameternamen und zugehörigen Werten zur Übergabe von Informationen zwischen Forms Developer-Komponenten.


1.Ein Objekt, das unmittelbar über einem anderen Objekt in dem entsprechenden Gruppenbaum steht. Ein Gruppenobjekt ist das übergeordnete Objekt von jedem der Objekte, aus denen das Gruppenobjekt besteht. Jedes Objekt ist das übergeordnete Objekt der entsprechenden untergeordneten Objekte.

2. (Oracle Express) Ein Dimensionswert auf der Ebene unmittelbar über einem bestimmten Wert in einer Hierarchie. Der übergeordnete Wert ist die aggregierte Summe der Werte der untergeordneten Objekte. Im folgenden Beispiel wird der Dimensionswert "Frankreich" als übergeordnetes Objekt von "Lyon" und "Paris" in der Dimension GEOGRAPHY dargestellt.


Beim Einfügen wird der Inhalt der Zwischenablage (ausgeschnittene oder kopierte Objekte) bei der aktuellen Cursorposition eingefügt.


Ein grafisches Attribut, das Sie für den Rand oder als Füllmuster für die meisten Objekte benutzen können.


Der Maschinencode oder die Instruktionsliste für einen kompilierten Programmblock.


Akronym für Portable Document Format.  Ein Dateiformat (von Adobe Acrobat) zur Darstellung von Dokumenten auf eine Weise, die unabhängig von der Original-Anwendungssoftware, der Hardware und dem Betriebssystem ist, mit denen die Dokumente erstellt wurden. Eine PDF-Datei kann Dokumente beschreiben, die eine beliebige Kombination von Text, Grafiken und Bildern in einem geräteunabhängigen und auflösungsunabhängigen Format enthalten.


Die Größe einer Seite, die von Ihrem Drucker ausgegeben wird.


Die Elementart, mit der ein Feld in einem Diagramm dargestellt wird, wie z.B. Balken, Linien oder Symbol.


Die Oracle-eigene Erweiterung der SQL-Sprache. Fügt prozedurale und andere Konstrukte zu SQL hinzu, mit denen Anwendungen geschrieben werden können.


Eine Datei, die ein Interpreter-Skriptdatei von Procedure Builder enthält.


Eine PL/SQL-Bibliotheksdatei, die Quellcode und kompilierten Code enthält. Die Datei kann zur Bearbeitung in Procedure Builder geöffnet werden.


Eine Textdatei, die den  PL/SQL-Quellcode eines einzigen Programmblocks enthält.


Eine PL/SQL-Laufzeitbibliothek, die nur ausführbaren Code enthält. Die Datei kann nicht zur Bearbeitung in Procedure Builder geöffnet werden.


Eine Liste, die angezeigt wird, wenn der Benutzer eine bestimmte Aktion ausführt.


Eine Zahl, mit der TCP übertragene Daten zu und von einem bestimmten Programm weiterleitet.


Eine in Project Builder enthaltene Aktion, die dem Benutzer automatisch über einen Menüpunkt und/oder eine Schaltfläche in der Symbolleiste zur Verfügung steht. Vordefinierte Aktionen umfassen Generieren, Zustellen sowie bestimmte Versionskontrolloptionen. Wenn eine vordefinierte Aktion für einen unterstützten Dateityp definiert wird, wird die Aktion für jedes ausgewählte Objekt dieses Typs aufgerufen, wenn der Benutzer die Aktion aus Project Builder aufruft. Siehe auch Aktion, Benutzerdefinierte Aktion.


Siehe Vordefinierten Datentyp


Eine Einstellung, die das Verhalten der Anwendungsschnittstelle beeinflußt.


(Oracle Express) In der Vorschau wird das Skript angezeigt, das generiert wird, wenn Sie die aktuellen Kriterien akzeptieren.  In dem Dialogfeld für jedes Selektor-Werkzeug können Sie die Auswahl anzeigen, indem Sie auf die Schaltfläche Vorschau klicken.


Die Schnittstelle, mit der Sie die Berichtausgabe online anzeigen und einen Bildlauf durch die Berichtausgabe vornehmen können.


Eine Spalte in einer Datenbanktabelle, deren Bestandteile aus eindeutigen Werten bestehen, mit denen eine Zeile in einer Tabelle identifiziert wird.


Siehe Vordefinierter Datentyp.


In einer Druckerdefinitionsdatei eine Escape-Folge, der Sie einen Druckercode zuweisen, der in einem Bericht referenziert werden kann.


Eine Datei, die eine Druckerdefinition im Textformat (z.B. ASCII oder EBCDIC) enthält.


Ein PL/SQL-Unterprogramm, das eine bestimmte Folge von Aktionen ausführt. Das Unterprogramm kann auf dem Client und dem Datenbank-Server gespeichert sein.


Eine PL/SQL-Codestruktur, die von dem PL/SQL-Compiler unabhängig erkannt und verarbeitet werden kann. Anonyme Blöcke, Unterprogrammspezifikationen und -rümpfe (Prozeduren und Funktionen) sowie Paketspezifikationen und -rümpfe sind Typen von Programmblöcken. Programmblöcke können auf dem Client und dem Datenbank-Server gespeichert sein und ausgeführt werden.  Siehe auch: Gespeicherter Programmblock.


Das Projekt ist die Basis-Datenstruktur, die von Project Builder erstellt wird. Projekte sind Sammlungen von Pointern auf alle Dateien, die Sie als Bestandteil der Anwendung betrachten, oder die Sie anderweitig konzeptionell gruppieren möchten. Sie können Editoren, Compiler und andere Werkzeuge definieren, mit denen Sie die in dem Projekt enthaltenen Datenobjekte bearbeiten möchten. Alle Projektinformationen sind in der Projektregistrierung gespeichert. Siehe auch: Projektobjekt, Projektdatei, Exportieren.


In Project Builder sind Projektdateien alle Dateien, die mit einer Anwendung verknüpft sind. Projektdateien können einen beliebigen Typ aufweisen, einschließlich Forms, Berichten, grafischen Anwendungen, 3GL-Modulen, Dokumentation und Testskripts. Siehe auch: Projekt, Projektobjekt.


In Project Builder werden alle Objekte als Projektobjekt bezeichnet, für die Attribute definiert werden können, einschließlich aller Entitäten, die unter dem Knoten Projekte, unter Typen, Aktionen und Makros gespeichert sind. Siehe auch: Projekt, Projektdatei..


Das Fenster mit einer hierarchischen Liste der Projektobjekte für die aktuelle Sitzung. Die Liste wird in Form einer Gliederung angezeigt. Mit ihr kann der Benutzer verschiedene Aufgaben ausführen, wie z.B. Objekte erstellen, bearbeiten, umbenennen und löschen. Auch wenn immer nur ein Schema gleichzeitig sichtbar ist, kann der Benutzer unter zwei verschiedenen Schemata wählen, nach denen die Objekte angeordnet werden sollen.


Der Knoten der obersten Ebene für ein Projekt. Er stellt die Projektdatei dar bzw. zeigt auf die Projektdatei. Siehe auch Projekt, Projektdatei.


In Project Builder die Datei, in der alle mit einem Projekt verknüpften Informationen gespeichert sind: Dateien, die zu dem Projekt gehören, Typen, Aktionen und Makros, die für das Projekt definiert sind, usw.


In der Projektansicht werden Objekte nach Typ und nach Projekt-/Unterprojekt-Beziehung geordnet dargestellt. Die Projekte werden alphabetisch nach Projektdatei und dann alphabetisch nach Kategorie geordnet. Siehe auch  Abhängigkeitsansicht, Projekt, Projektdatei, Ansicht.


Ein Dialogfeld, das den Benutzer bei der Ausführung der Schritte unterstützt, die beim Erstellen eines neuen Projekts oder Unterprojekts erforderlich sind.


Eine Eigenschaft eines Objekts, mit der das Verhalten oder Erscheinungsbild dieses Objekts bestimmt wird.


Ein benanntes Objekt, das eine Liste mit Attributen und deren Einstellungen enthält, mit denen das Erscheinungsbild und die Funktionalität von Objekten aufgrund dieser Klasse global gesteuert wird.


Eine Zeichenfolge, die Sie bei der Anmeldung bei einer Datenbank oder einem Server eingeben können und mit der Sie die Verbindung zu einer entfernten Datenbank bzw. einem entfernten Server herstellen können.


(Oracle Express) Wenn Sie Werte für eine der Dimensionen in einem Maß auswählen, werden die anderen Dimensionen, aus denen das Maß besteht, als qualifizierende Dimensionen bezeichnet.

Angenommen, das Maß Sales ist nach Product, Month und Geography dimensioniert. Wenn Sie die obersten zehn Städte basierend auf Sales auswählen, müssen Sie außerdem angeben, welches Produkt und welcher Monat betrachtet werden woll, wenn Sie die Sales-Werte vergleichen. In diesem Fall sind Product und Month die qualifizierenden Dimensionen.


Eine SQL SELECT-Anweisung, mit der die Daten angegeben werden, die Sie aus einer oder mehreren Tabellen bzw. Ansichten einer Datenbank abrufen möchten.


Eine PL/SQL-Funktion, die bei der Ausführung Daten filtert, die von einer Abfrage abgerufen wurden. Nur die Daten, die den Bedingungen in den Funktionen gerecht werden, werden grafisch dargestellt.


Eine Option, mit der die laufende Sitzung beendet wird und mit der der Benutzer zur Betriebssystemebene zurückkehrt.


Ein Steuerelement (wie z.B. ein Kontrollkästchen), das in Gruppen von zwei oder mehr Schaltflächen auftritt, von denen zu einem bestimmten Zeitpunkt immer nur eine "eingeschaltet" oder "ausgeschaltet" sein kann.


Eine Gruppe aus zwei oder mehr Optionsschaltflächen, von denen immer nur eine "eingeschaltet" oder "ausgeschaltet" sein kann.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem der Benutzer fortlaufende Zeiträume als Dimensionswerte auswählen kann. Diese Zeiträume können auf folgenden Werten basieren:

•	Einer bestimmten Anzahl der letzten Zeiträume

•	Eine Anfangszeitraum und einem letzten Zeitraum

•	Einem Anfangs- und einem Endzeitraum.

Der Benutzer kann z.B. Dimensionswerte für den Bereich ab der Woche wählen, die am 25. November 1996 endet, bis zu der Woche, die am 30. Dezember 1996 endet.


Eine von RSA Data Security, Inc entwickelte Kennung, die Schlüssel mit unterschiedlicher Länge akzeptieren kann und im wesentlichen ein Zufallszahlengenerator ist, wobei die Ausgabe des Generators einem XOR mit dem Datenstrom unterzogen wird, um die verschlüsselten Daten zu generieren. Aus diesem Grund darf derselbe RC4-Schlüssel niemals zur Verschlüsselung von zwei verschiedenen Datenströmen benutzt werden.


Akronym für Relational Database Management System. Eine Datenbank, die die Definition von Datenstrukturen, Speichern- und Abrufenvorgängen und Integritätsregeln ermöglicht. In einer derartigen Datenbank sind die Daten und die Beziehungen zwischen den Daten in Tabellen angelegt.


Eine Datei, die eine einzelne Berichtdefinition im Binärformat enthält. Mit .RDF-Dateien können Berichte sowohl ausgeführt als auch bearbeitet werden.


Eine Datei, die eine einzelne Berichtdefinition im Binärformat enthält. .rep-Dateien werden nur zur Ausführung von Berichten benutzt. Eine .rep-Datei kann nicht bearbeitet werden.


Die Möglichkeit, Daten in der ganzen Datenbank ab einem bestimmten Zeitpunkt abzufragen.


Eine Zeile, die von einer SQL SELECT-Anweisung abgerufen wird.


Ein internes Datenstrukturobjekt mit einem Spalten-/Zeilengerüst, das zu dem Formmodul gehört, in dem es definiert wird.


Ein Spaltentyp, der auf Daten in anderen Spaltenobjekten oder Objekttabellen (Oracle8) zeigt.


Eine Linie, die bei einem bestimmten Wert in einem Diagramm angezeigt wird.


(Oracle Express) Beim Abgleichen werden die neuesten Daten aus einer Express-Datenbank abgerufen, nachdem die Abfrageergebnisse in Ihrem Bericht angezeigt wurden. Wenn Sie eine gespeicherte Express-Abfrage öffnen, werden die Ergebnisse automatisch abgeglichen.


Beim Registrieren wird die Definition eines Typs oder eines neuen Projekts zu der globalen oder lokalen Registrierung hinzugefügt. Nach der Registrierung können für einen neuen Typ Aktionen definiert werden, während bei einem neuen Projekt die Typen der referenzierten Dateien identifiziert werden können, so daß für diese bestimmte Aktionen aufgerufen werden können. Siehe auch Registrierung.


Eine globale und/oder benutzerspezifische Konfigurationsdatei, mit der Projektdefinitionen und Umgebungsinformationen gespeichert werden. Siehe auch Globale Registrierung, Benutzerregistrierung.


Ein Symbol in Suchkriterien, mit dem ein Vergleich zwischen zwei Werten angegeben wird, wie z.B. das Gleichheitszeichen in "WHERE DEPTNO = 10." Zeilen, bei denen der Vergleich "wahr" ergibt, werden in dem Ergebnis zurückgegeben (abgerufen), während Zeilen, bei denen der Vergleich "falsch" ergibt, vom Ergebnis ausgeschlossen werden.


Eine Datenbank auf einem Computer, bei dem es sich nicht um die lokale Datenbank handelt. Im allgemeinen ein Computer im selben Netzwerk, jedoch auf einem anderen Knoten (d.h. eine Datenbank, die Sie über einen Datenbank-Link benutzen).


Ein Layoutobjekt, mit dem Datenzeilen angezeigt werden, die für eine Gruppe abgerufen werden.


Ein Modus, bei dem jedes eingegebene Zeichen das aktuelle Zeichen bei der Cursorposition ersetzt. Das Gegenteil von Einfügen-Modus.


Die Objekte, mit denen das Datenmodell und Layout eines Berichts definiert wird. Objekte auf Berichtebene werden einem einzelnen Bericht zugeordnet und können nicht von anderen Berichten oder anderen Oracle-Produkten gemeinsam benutzt werden. Objekte umfassen Berichte, Abfragen, externe Abfragen, externe PL/SQL-Bibliotheken, Gruppen, Spalten, Parameter, Links, Rahmen, Wiederholungsrahmen, Felder, Boilerplate und Anker.


Nur bei Windows NT und Windows 95 verfügbar. Wartet, bis Befehlszeilen einen Bericht ausführen, setzt diesen Bericht in die Warteschlange zur Ausführung im Hintergrund auf dem lokalen Server. Typischerweise werden Befehlszeilen von Form Builder oder Graphics Builder über RUN_PRODUCT oder von einem anderen Bericht über SRW.RUN_REPORT empfangen. Sie können auch RWISV60 benutzen, um einen Bericht an die Reports Background Engine zu übergeben.


Behält Zeitstempel- und Statusinformationen über Berichte bei, die von Reports Server verwaltet werden.


Bei Windows NT, Windows 95 und UNIX verfügbar. Ermöglicht die Ausführung von Berichten auf einem entfernten Server. Stellt Jobanforderungen in die Warteschlange und ermöglicht eine zeitliche Planung der Ausführung der Berichte durch den Benutzer. RWCLI60 wird verwendet, um einen Bericht an den Reports Server zu senden.


Stellt eine Schnittstelle zwischen dem Web-Server und Reports Runtime dar, so daß Berichte dynamisch aus dem Web-Browser ausgeführt werden können.


Stellt eine Schnittstelle zwischen einem Web Server und dem Reports Server dar.


Eine Datei, die eine Berichtdefinition im Textformat (z.B. ASCII oder EBCDIC) enthält. .REX-Dateien werden für das Portieren von Berichten von einer Plattform zu einer anderen benutzt. Beachten Sie, daß .REX-Dateien nicht mehr erforderlich sind. Sie sind aus Gründen der Abwärtskompatibilität verfügbar.


Bezieht sich auf die Intensität der Rot-, Grün- und Blaukomponenten einer Farbe.


Das Gruppenobjekt, zu dem alle anderen Objekte in einer Anwendung gehören.


Der Knoten auf oberster Ebene für ein Projekt, der die Benutzerumgebung darstellt. Kann der Benutzerregistrierung oder Globalen Registrierung entsprechen, je nachdem, mit welcher Registrierung die Standardwerte festgelegt wurden.


Eine Gruppe mit Feldwerten in einer Tabelle, z.B. die Felder, die einen Mitarbeiter in der Beispieltabelle EMP darstellen.


Ein Objekt in einer Oracle8-Objekttabelle. Jede Zeile in der Tabelle ist ein Objekt. In Forms Developer wird eine Objekttabelle in einzelne Spalte aufgelöst, so daß das Zeilenobjekt nicht mehr als einzelne Entität vorhanden ist (nur als die entsprechenden separaten Attribute).


Ausführung einer Laufzeitversion einer Anwendung oder eines Programmblocks.


Akronym für Rich Text Format. Ein nicht-plattformspezifisches Dateiformat, das auf Steuerwörtern basiert, mit denen unformatierter Text und Bilder in verschiedenen Anwendungen und Betriebssystemen dargestellt werden. RTF benutzt den ANS-I, PC-8-, Macintosh- oder IBM PC-Zeichensatz, um die Darstellung und Formatierung eines Dokuments sowohl auf dem Bildschirm als auch auf dem Ausdruck zu steuern.


Siehe rep-Datei


Die Schnittstelle, mit der die Benutzer eine Laufzeitanwendung anzeigen und mit dieser arbeiten.


Ein Bildschirm oder Fenster, das optional zur Laufzeit angezeigt wird und in dem der Benutzer Druckoptionen und Parameter vor Ausführung des Berichts ändern kann.


(Oracle Express) Eine Gruppe von Dimensionswerten, die entweder als Werteliste oder als Skript gespeichert werden. Sie können von Ihnen generierte Auswahlen speichern, oder der Datenbankadministrator kann gespeicherte Auswahlen erstellen und Ihnen diese zur Verfügung stellen.

Gespeicherte Auswahlen sind eine zeitsparende Funktion: immer wenn Sie eine Auswahl erneut benutzen müssen, rufen Sie einfach eine gespeicherte Auswahl auf, ohne diese neu erstellen zu müssen.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem Sie eine Auswahl von gespeicherten Dimensionswerten abrufen können.


Eine Sammlung zusammengehöriger Datenbankobjekte, die im allgemeinen nach einer Datenbank-Benutzer-ID gruppiert sind. Schemaobjekte umfassen Tabellen, Ansichten, Sequenzen, gespeicherte Programmblöcke, Synonyme, Indizes, Cluster und Datenbank-Links.


Die Ebene, auf der ein Objekt angewendet wird, bzw. der Bereich, in dem ein Objekt angewendet wird. Bei Project Builder: 1. Beschreibt den Dateibereich, der von den Befehlen Kompilieren und Alles kompilieren betroffen ist, die für kompilierbare Projektobjekte aufgerufen werden. 2. Beschreibt den Dateibereich, der von vererbbaren Definitionen betroffen ist.


 Siehe SQL-Skript, Interpreter-Skript


In Report Builder eines von mehreren Layouts in demselben Bericht, wobei ein jedes eine andere Zielperson, ein anderes Ausgabeformat, ein anderes Seitenlayout, eine andere Seitengröße oder Darstellung hat. Ein einziger Bericht kann z.B. eine Zusammenfassung für die Geschäftsleitung in einem Abschnitt und eine detaillierte Aufgliederung für einzelne Manager in einem anderen Abschnitt enthalten.


Eine SQL-Anweisung, mit der angegeben wird, welche Zeilen und Spalten aus einer oder mehreren Tabellen oder Ansichten abgerufen werden sollen.


(Oracle Express) Die Gruppe von Dimensionswerten, die momentan für eine Dimension ausgewählt sind, bzw. das Skript, das Bedingungen oder Kriterien zur Angabe dieser Werte enthält.


(Oracle Express) Wie in verschiedenen Dialogfeldern im Selektor dargestellt, entspricht das Auswahlskript einer Beschreibung der Auswahlen, die der Benutzer bei der Wahl von Dimensionswerten getroffen hat. Bei diesem Skript handelt es sich um eine Übersetzung des Skripts in der Express-Sprache in ein Skript in der normalen Sprache.


(Oracle Express) Eine Gruppe von Werkzeugen, mit denen Sie Dimensionswerte auswählen, die z.B. in einem Bericht, einer Tabelle, einer Grafik oder einem Listenfeld aufgenommen werden sollen. Mit dem Selektor können Sie z.B. die wichtigsten 10 Städte basierend auf Umsätzen oder die Städte auswählen, bei denen die Umsätze die Quote von 15% überschritten haben. Mit dem Selektor können Sie außerdem Dimensionswerte sortieren und gespeicherte Auswahlen erstellen und abrufen.


(Oracle Express) Ein Dialogfeld oder eine Gruppe von Dialogfeldern, mit denen Dimensionswerte auf eine bestimmte Weise ausgewählt oder sortiert werden können. Jedes Selektor-Werkzeug ist Bestandteil des Selektors. Mit den Selektor-Werkzeugen können Sie Dimensionswerte basierend auf deren Ebene in der Hierarchie, deren Attributen, den Zeichen in dem Wertnamen usw. auswählen. Mit den Selektor-Werkzeugen können Sie außerdem die Dimensionswerte sortieren.


Der Zeitraum zwischen dem Aufrufen und Beenden des ausführbaren Programms.


Eines von zwei oder mehr Objekten, die dasselbe übergeordnete Objekt in dem entsprechenden Gruppenbaum haben. Alle Objekte, die zu einem Gruppenobjekt gehören, sind gleichrangig.


Die Kombination einer IP-Adresse und einer Port-Nummer.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem Sie die Reihenfolge der Dimensionswerte in einer angezeigten Auswahl neu ordnen können. Sie können eine Auswahl in aufsteigender oder absteigender Reihenfolge wie folgt sortieren:

•	Nach Alphabet

•	Nach Reihenfolge in der Datenbank

•	Nach Datenwert

•	Nach Reihenfolge oder Ebene in der Hierarchie

•	Nach Zeitraum

Sie können eine Auswahl auch manuell sortieren, indem Sie die Dimensionswerte mit Drag-and-Drop verschieben.


In PL/SQL: Anweisungen in einem Unterprogramm oder Paket. Sie benötigen den Quellcode für einen Programmblock, bevor Sie diesen zu einer ausführbaren Form kompilieren können. In Project Builder: Die Eingabetypen, die für das Erstellen der Zieltypen erforderlich sind.


Definiert nur Namen, Parameter und Rückgabetyp (gilt nur bei Funktionen) des Unterprogramms.


Ein kleines Rechteck am unteren Ende der vertikalen Bildlaufleiste und links neben der horizontalen Bildlaufleiste in einem Editor. Wenn Sie die Maustaste ziehen und loslassen, wird ein neuer Ausschnitt erstellt und die Bildlaufleiste in separate Bildlaufleisten für jeden Ausschnitt geteilt.


Eine Standard-Schnittstelle für das Speichern und Abrufen von Informationen in einer relationalen Datenbank. SQL ist ein Akronym für Structured Query Language.


Eine Datei, die eine im Textformat (ASCII oder EBCDIC) gespeicherte Abfrage enthält.


Eine Datei, die SQL-Anweisungen enthält, die Sie ausführen können, um die Datenbankverwaltung schnell und einfach zu gestalten. Mit Oracle-Produkten werden verschiedene SQL-Skripts geliefert.


Eine SQL-Instruktion für Oracle. Eine SELECT-Anweisung ist eine Art von SQL-Anweisung.


Siehe Aufrufstapel


Ein PL/SQL-Konstrukt, das für konditionale, iterative und sequentielle Steuerungen und für die Fehlerbehandlung benutzt wird. Jede PL/SQL-Anweisung muß mit einem Semikolon (;) abgeschlossen werden.


(Oracle Express) Eine gespeicherte Auswahl, die bei jeder Auswertung dieselben Dimensionswerte enthält. In statisch gespeicherten Auswahlen werden die auszuwählenden Dimensionswerte aufgeführt und nicht die Auswahlkriterien. Ein statisches gespeichertes Auswahlskript könnte z.B. "Februar 1996, März 1996 und April 1996 auswählen" enthalten, während das Skript für eine dynamisch gespeicherte Auswahl "Letzte drei Monate auswählen" enthalten könnte.


Eine Prozedur, eine Funktion oder ein Paket, das in einem Oracle-Datenbankserver gespeichert ist und in diesem ausgeführt wird.


Eine Prozedur oder Funktion, die in einem Oracle-Datenbankserver gespeichert ist und in diesem ausgeführt wird.


HTML-Erweiterungen, die leistungsfähige Formatierungsmöglichkeiten in HTML-Dokumenten bereitstellen. Um ein  HTML-Dokument anzuzeigen, das Dokumentvorlagen verwendet, zeigen Sie dieses in einem Browser an, der Dokumentvorlagen unterstützt.


Eine PL/SQL-Prozedur oder -Funktion.


In Project Builder ein Projekt, das in einer anderen Projektdatei enthalten und nicht in einer eigenen Datei gespeichert ist. Siehe auch Projekt.


In Project Builder ein Knoten, der auf ein Unterprojekt verweist. Siehe auch Projekt, Projektknoten, Unterprojektknoten


Eine Spalte vom Typ Summe, in der Zwischensummen, Gesamtsummen, laufende Summen und andere Summen der Daten in einem Bericht berechnet werden, wobei eine der vordefinierten Summenfunktionen von Report Builder benutzt wird.


Das Dateiformat, das vom Microsoft Excel-Programm verwendet wird.


Das Ordnungssystem, nach dem Befehle, Bezeichner und Parameter zu gültigen Befehlsfolgen kombiniert werden.


Eine der Variablen, die in Reports Developer enthalten sind (z.B. &Logical Page, DESTYPE).


Eine benannte Sammlung zusammengehöriger Informationen, die in einem zweidimensionalen Raster in einer relationalen Datenbank oder einem Server gespeichert sind, wobei das Raster aus Zeilen und Spalten besteht.


Ein Collection-Typ, der eine Dateneinheit definiert, die aus einer ungeordneten Gruppe von Elementen besteht, die alle denselben Datentyp aufweisen. Bei der entsprechenden Dateneinheit handelt es sich um eine verschachtelte Tabelle mit einer einzigen Spalte, deren Spaltentyp ein vordefinierter Typ oder ein Objekttyp ist.  (Oracle8)


Ein Standardlayout, bei dem Beschriftungen am oberen Rand der Seite und Datenzeilen unter den Beschriftungen angezeigt werden.


In Project Builder ein Objekt in der Mitte des Abhängigkeitsbaums. So ist z.B. eine ausführbare Routine ein (Kompilier-) Ziel für eine Bibliothek, während eine Bibliothek ein Ziel für eine Gruppe von Objekten und ein Objekt ein Ziel für eine Quelldatei ist.


Ein Knoten, mit dem das Ziel angegeben wird. Siehe auch Ziel


Akronym für Transmission Control Protocol. Das zugrundeliegende Kommunikationsprotokoll für den Austausch von HTTP-Anforderungen zwischen Clients und Web-Servern.


Ein Untermenü, das der Benutzer mit einer Maus oder einem anderen Zeigegerät von der Quelle entfernen und zu einem anderen Teil des Bildschirms ziehen kann.


In Form Builder ein Objekt, mit dem ein Zeichenfolgenwert angezeigt wird.


Der horizontale Bereich am oberen Rand eines Fensters, in dem der Name der Anwendung oder des Oberflächenelements in diesem Fenster angezeigt wird.


Siehe Titel


Mit einem Schalter wird eine Einstellung ein- oder ausgeschaltet. So können Sie den Objektnavigator z.B. verbergen oder anzeigen.


Eine Schaltfläche in Form eines Symbols, mit der Objekte in einer Anwendung erstellt und bearbeitet werden.


Eine Sammlung von Schaltflächen in Symbolform, die Produktbefehle ausführen. Die Symbolleiste ist im allgemeinen horizontal am oberen Rand oder vertikal am seitlichen Rand eines Fensters ausgerichtet.


Eine Sammlung von Werkzeugen.


(Oracle Express) Ein Werkzeug im Dialogfeld Selektor, mit dem der Benutzer Dimensionswerte basierend auf den obersten x, untersten y oder obersten x und untersten y Datenwerten auswählen kann. Der Benutzer kann z.B. eine Dimensionsauswahl erzeugen, in der Produkte enthalten sind, deren Umsatzvolumen zu den obersten 10 Prozent der Produkte bei den gesamten Verkäufen in dem vierwöchigen Zeitraum gehört, der am 30. Dezember 1995 endet.


Ein optionaler Berichtbereich, der abschließendes Material für den Bericht enthalten kann, einschließlich Text, Grafiken, Daten und Berechnungen. Der Berichtanhang wird als letztes nach Titel und Hauptteil angezeigt.


Eine Folge von SQL-Anweisungen, die als eine einzige Einheit behandelt werden.


Eine PL/SQL-Prozedur, die bei einem bestimmten Ereignis ausgeführt oder "ausgelöst" wird.


Eine Beschreibung eines Dateityps, wie z.B. eine Form, ein Dokument usw., die Informationen wie Typname und Beschreibung enthält. Jede Beschreibung gilt für einen einzigen Dateityp. Außerdem gibt es vier Metatypen "updtext", der für alle Textdateien gilt, "updproj", der für alle Projektdateien gilt, "updlink", der für alle Projekt-Links gilt, und "all", der für jeden Dateityp gilt. Sie sind die Grundlage für die Definition von Aktionen und Makros.


Beim Aktualisieren werden die Werte von Tabellendaten geändert, insbesondere durch Änderung der Datenwerte mit dem SQL-Befehl UPDATE, jedoch auch durch Löschen von Werten mit dem SQL-Befehl DELETE oder durch Einfügen von Werten mit dem SQL-Befehl INSERT.


Akronym für Uniform Resource Locator. Die "Adresse", mit der ein WWW-Server und eine Home Page angegeben werden. Zum Beispiel:
http://www.acme.com/
Dieses Beispiel gibt an, daß die Host-Adresse www.acme.com ist. Ein URL ist in den meisten Fällen ein Dateiname (wahrscheinlich mit einem langen Pfad und im allgemeinen mit einer Erweiterung HTML oder .HTM (bei PC-DOS Dateinamen)).


Eine Möglichkeit zur Übergabe der Kontrolle (und möglicherweise auch von Argumenten) von Forms Developer zu einem anderen Oracle-Produkt oder 3GL und danach zur Rückgabe der Kontrolle (und möglicherweise der Argumente) an Forms Developer.


Eine Aktion, die von einem Benutzer von Project Builder definiert wird. Derartige Aktionen können für einen einzelnen Dateityp oder für alle Dateitypen gelten. Siehe auch  Aktion, Vordefinierte Aktion.


Siehe Objekttyp.


Ein Makro, der von einem Benutzer von Project Builder definiert wird. Mit derartigen Makros können sowohl vordefinierte Aktionen als auch benutzerdefinierte Aktionen geändert werden. Siehe auch Makro, Vordefinierter Makro, Aktion, Vordefinierte Aktion


Eine Projektdatei, in der Konfigurationsinformationen pro Benutzer gespeichert werden. Auf diese Weise können Benutzer ihre individuellen Entwicklungsumgebungen gestalten. Die Benutzerregistrierung übernimmt die Typinformationen von der Globalen Registrierung. In der Benutzerregistrierung können neue Typen definiert und Aspekte der Typdefinitionen außer Kraft gesetzt werden, die in der Globalen Registrierung gespeichert sind. Außerdem enthält die Benutzerregistrierung Umgebungs- und Voreinstellungsinformationen, wie z.B. die DB-Adresse eines bestimmten Benutzers, Benutzeroberflächeneinstellungen, wie z.B. "Symbolleiste anzeigen" und bestimmte allgemeine Projektinformationen wie "Autor". Siehe auch Registrierung, Globale Registrierung.


Siehe Werteachse axis


Eine PL/SQL-Codestruktur, die einen Wert zurückgibt. Wertkonstrukte umfassen Funktionen und Ausdrücke.


Ein benanntes Objekt, dem ein Wert zugewiesen werden kann und dessen zugewiesener Wert sich im Laufe der Zeit ändern kann.


Ein Collection-Typ, der eine Dateneinheit definiert, die aus einer geordneten Gruppe von Elementen besteht, die alle denselben Datentyp aufweisen. Bei der entsprechenden Dateneinheit handelt es sich um ein variierendes Array oder VARRAY. Die Anzahl von Elementen in einem VARRAY (Größe) ist variabel. Bei der Deklaration eines variierenden Array-Typs müssen Sie jedoch eine maximale Größe angeben.


Visual Basic-Dateinamenerweiterung. Wird als Dateinamenerweiterung für bestimmte dynamische Link-Bibliotheken verwendet, die mit Dateien verteilt werden, die vordefinierte VBX-Steuerelemente enthalten.


Ein mit der Microsoft Visual Basic-Sprache generiertes Widget, mit dem die Benutzeroberfläche erweitert, Benutzereingaben empfangen und Ausgaben angezeigt werden (z.B. Schieberegler, Raster und Bedienungsknöpfe).


Eine virtuelle Tabelle, deren Zeilen nicht wirklich in der Datenbank vorhanden sind, die jedoch auf einer Tabelle aufgebaut ist, die physikalisch in der Datenbank gespeichert ist.


Ein symbolischer Ordnername (im allgemeinen eine Abkürzung oder ein Synonym), mit dem das virtuelle Dateisystem Dateien zuordnet, die im Dateisystem des Hostrechners gespeichert sind.


Eine Zuordnung, die in URL verwendete Pfadnamen mit dem Dateisystem verknüpft, das vom Betriebssystem des Hostrechners verwaltet wird.


Schriftart-, Farb- und Musterattribute, die Sie für Objekte festlegen, die auf Ihrer Anwendungsoberfläche angezeigt werden.


Siehe WWW


Ein Programm, das Endbenutzer verwenden, um HTML-Dokumente und Programme zu lesen, die auf einem Computer (der von einem Web-Server bedient wird) gespeichert sind.


Ein Programm, das auf einem Web-Server über den Web Request Broker ausgeführt wird.


Ein Server-Prozeß (HTTP-Daemon), der auf einem Web-Site ausgeführt wird und Web-Seiten als Antwort auf HTTP-Anforderungen von entfernten Web-Browsern sendet.


Ein Zeichen, das für ein 'beliebiges Zeichen' oder eine 'fortlaufende Folge von Zeichen' innerhalb eines Wortes oder Begriffs steht.


1. Ein rechteckiger Bereich auf dem Desktop, der eine Anwendung enthält. Jedes Fenster hat einen Bereich, in dem Sie mit der Anwendung zusammenarbeiten können. Fenster können geöffnet, skaliert, verschoben, als Symbol oder als Vollbild angezeigt werden. 2. In Form Builder ein Objekttyp, den Sie mit einer Leinwandansicht verknüpfen können.


Ein Dateiformat, das von einigen Spreadsheet-Programmen benutzt wird, wie z.B. SQL*Calc oder von Lotus 1-2-3 Programmen.


Akronym für Oracle Web Request Broker. Stellt eine leistungsfähige verteilte Laufzeitumgebung zur Entwickling und Weiterleitung von Anwendungen für das Web dar. Mit der WRB-Laufzeitplattform können Anwendungsentwickler Anwendungen schreiben, die unabhängig von Web-Servern sind und mit einer Reihe von Web-Servern benutzt werden können.


Akronym für World Wide Web. Das Netzwerk mit Servern im Internet, von denen ein jeder eine oder mehrere Home Pages hat, die Informationen und Links zu anderen Dokumenten auf diesem und (im allgemeinen) anderen Servern bereitstellen.


Vergrößern eines Objekts, damit mehr Platz für das Bearbeiten des Feldinhalts vorhanden ist.


Die sekundäre Symbolleiste, die (standardmäßig) auf der linken Seite des Projektnavigators angedockt ist. Die sekundäre Symbolleiste verfügt über Funktionen zur Vereinfachung von Anordnung und Starten von Anwendungen.


 Die neueste Version von OLE-Steuerelementen (OCX).


XML-Ausgabe, die den allgemeinen XML-Prinzipien entspricht, wie richtiges Markieren, Verschachteln sowie die Aufnahme einer XML-Deklaration, z.B.. <?xml version="1.0" encoding="UTF-8"?>.


Mit einem Platzhalter-Benutzernamen können sich Benutzer bei der Datenbank mit ihrem persönlichen Benutzernamen und nicht mit dem Oracle-Datenbankbenutzernamen anmelden (z.B. $user_name@database), wenn Berichte aus einem Web-Browser ausgeführt werden.


Extensible Markup Language -- eine Metasprache, die SGML zur Definition und Strukturierung von Daten verwendet. Report Builder unterstützt die XML-Ausgabe im Hinblick auf Web-Veröffentlichungen sowie den elektronischen Datenaustausch mit Anwendungen von Fremdherstellern. Mit XML können Sie auch Berichtdefinitionen generieren, die zur Laufzeit mit anderen Berichtdefinitionen zusammengeführt oder separat ausgeführt werden können.


XML-Ausgabe, bei der Stuktur und Elementinhalt einer Dokumenttypdefinition (DTD) entspricht. Eine gültige XML weist auch das richtige Format auf.


Beispiele für vordefinierte Pakete von Developer

  Verwandte Themen	   Alle Beispiele

Beispiele für das DDE-Paket

Beispiele für das DEBUG-Paket

Beispiele für das LIST-Paket

Beispiele für das OLE2-Paket

Beispiele für das Paket EXEC_SQL

Beispiele für das Paket ORA_FFI

Beispiele für das Paket ORA_NLS

Beispiele für das Paket ORA_PROF

Beispiele für das Paket TEXT_IO

Beispiele für das Paket TOOL_ENV

Beispiele für das Paket TOOL_ERR

Beispiele für das Paket TOOL_RES


Beispiele für das DDE-Paket

  Verwandte Themen	  Alle Beispiele

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


Beispiele für das DEBUG-Paket

  Verwandte Themen	   Alle Beispiele

Debug.Break

Debug.Getx

Debug.Interpret

Debug.Setx

Debug.Suspend


Beispiele für das Paket EXEC_SQL

  Verwandte Themen	   Alle Beispiele

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


Beispiele für das LIST-Paket

  Verwandte Themen	   Alle Beispiele

List.Appenditem

List.Destroy

List.Deleteitem

List.Fail

List.Getitem

List.Insertitem

List.Listofchar

List.Make

List.Nitems

List.Prependitem


Beispiele für das OLE2-Paket

  Verwandte Themen	   Alle Beispiele

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


Beispiele für das Paket ORA_FFI

  Verwandte Themen	   Alle Beispiele

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 Beispiel 1A

Ora_Ffi Beispiel 1B

Ora_Ffi Beispiel 2


Beispiele für das Paket ORA_NLS

  Verwandte Themen	   Alle Beispiele

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


Beispiele für das Paket ORA_PROF

  Verwandte Themen	   Alle Beispiele

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


Beispiele für das Paket TEXT_IO

  Verwandte Themen	   Alle Beispiele

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


Beispiele für das Paket TOOL_ENV

  Verwandte Themen	   Alle Beispiele

Tool_Env.Getvar


Beispiele für das Paket TOOL_ERR

  Verwandte Themen	   Alle Beispiele

Tool_Err.Code

Tool_Err.Encode

Tool_Err.Message

Tool_Err.Nerrors

Tool_Err.Pop

Tool_Err.Tool_Error

Tool_Err.Toperror


Beispiele für das Paket TOOL_RES

  Verwandte Themen	   Alle Beispiele

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


Vordefinierte Pakete von Oracle Developer
Vordefinierte Pakete von Developer

  Verwandte Themen 	  Alle vordefinierten Pakete

DDE

DEBUG

EXEC_SQL

LIST

OLE2

ORA_FFI

ORA_NLS

ORA_PROF

TEXT_IO

TOOL_ENV

TOOL_ERR

TOOL_RES