Externe Daten validieren

Um eine externe Tabelle zu validieren, können Sie die Prozedur DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE verwenden.

Informationen zum Validieren einer partitionierten externen Tabelle finden Sie unter Externe partitionierte Daten validieren. Diese Prozedur enthält einen Parameter, mit dem Sie eine bestimmte zu validierende Partition angeben können.

Informationen zur Validierung einer hybriden partitionierten Tabelle finden Sie unter Hybrid partitionierte Daten validieren. Diese Prozedur enthält einen Parameter, mit dem Sie eine bestimmte zu validierende Partition angeben können.

Bevor eine externe Tabelle validiert werden kann, müssen Sie die externe Tabelle erstellen. Um eine externe Tabelle zu erstellen, verwenden Sie die Prozedur für den Tabellentyp DBMS_CLOUD.CREATE_EXTERNAL_TABLE. Beispiel:

BEGIN
  DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE (
    table_name => 'CHANNELS_EXT' );
END;
/

Mit dieser Prozedur werden die Quelldateien gescannt und mit den Formatoptionen validiert, die beim Erstellen der externen Tabelle angegeben werden.

Bei der Validierung werden standardmäßig alle Zeilen in den Quelldateien gescannt. Der Vorgang wird gestoppt, wenn eine Zeile abgelehnt wird. Wenn Sie nur eine Teilmenge der Zeilen validieren möchten, verwenden Sie den Parameter rowcount. Wenn der Parameter rowcount festgelegt ist, scannt der Validierungsvorgang Zeilen und stoppt, wenn eine Zeile abgelehnt wird oder wenn die angegebene Anzahl von Zeilen ohne Fehler validiert wurde.

Beispiel: Der folgende Validierungsvorgang scannt 100 Zeilen und stoppt, wenn eine Zeile abgelehnt wird oder wenn 100 Zeilen ohne Fehler validiert wurden:

BEGIN 
  DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE (
     table_name => 'CHANNELS_EXT',
     rowcount => 100 ); 
END; 
/

Wenn die Validierung nicht gestoppt werden soll, wenn eine Zeile abgelehnt wird, und Sie alle abgelehnten Zeilen anzeigen möchten, setzen Sie den Parameter stop_on_error auf FALSE. In diesem Fall scannt VALIDATE_EXTERNAL_TABLE alle Zeilen und meldet alle abgelehnten Zeilen.

Wenn Sie nur eine Teilmenge der Zeilen validieren möchten, verwenden Sie den Parameter rowcount. Wenn rowcount festgelegt und stop_on_error auf FALSE gesetzt ist, scannt der Validierungsvorgang Zeilen und stoppt, wenn die angegebene Anzahl von Zeilen abgelehnt wird oder wenn die angegebene Anzahl von Zeilen ohne Fehler validiert wurde. Beispiel: Im folgenden Beispiel werden 100 Zeilen gescannt. Der Vorgang wird gestoppt, wenn 100 Zeilen abgelehnt oder 100 Zeilen ohne Fehler validiert wurden:

BEGIN 
  DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE (
     table_name => 'CHANNELS_EXT',
     rowcount => 100 
     stop_on_error => FALSE );
END; 
/

Ausführliche Informationen zu DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE-Parametern finden Sie unter VALIDATE_EXTERNAL_TABLE-Prozedur.

Informationen zu den Ergebnissen von Validierungsvorgängen in den Tabellen dba_load_operations und user_load_operations finden Sie unter Logs für Datenvalidierung anzeigen.