Automatische Objektnamenszuordnung

Der Zieltabellenname stammt aus der TARGET-Klausel der MAP-Anweisung, und die Zielspaltennamen stammen aus den Quellspaltennamen in den Trailmetadaten.

Die Funktion "Automatische Schemaentwicklung" unterstützt derzeit die Zuordnung von Objektnamen nur, wenn die Zieldatenbank CHARSET entweder mit der Quelldatenbank CHARSET identisch ist oder wenn sie die Obermenge der Quelldatenbank CHARSET ist. In anderen Fällen wird eine entsprechende Fehlermeldung ausgegeben.

Wenn der Name der Tabelle oder Spalte von der Quelle zu lang ist (und diese Länge in der Zieldatenbank nicht unterstützt wird), oder wenn der Name der Tabelle oder Spalte nicht unterstützte Zeichen enthält (die in der Zieldatenbank nicht unterstützt werden), wird Replicat mit einer entsprechenden Fehlermeldung beendet.

Um fortzufahren, muss eine der folgenden Korrekturmaßnahmen ergriffen werden:

Die Groß-/Kleinschreibung der für die automatische Schemaentwicklung generierten Tabellen- oder Spaltennamen hängt von den Regeln für die Groß-/Kleinschreibung der Quell- und Zieldatenbanken ab und unterliegt den folgenden Regeln.

  1. In einer Quelldatenbank, bei der die Groß-/Kleinschreibung beachtet wird, werden alle Namen in Anführungszeichen gesetzt und verwendet.

  2. Für alle anderen Kombinationen von Quelle zu Ziel, einschließlich Groß-/Kleinschreibung beachten bis Groß-/Kleinschreibung beachten, Groß-/Kleinschreibung ignorieren bis Groß-/Kleinschreibung ignorieren und Groß-/Kleinschreibung beachten bis Groß-/Kleinschreibung beachten, werden die folgenden Regeln befolgt:

    1. Tabellennamen werden genau wie in der TARGET-Klausel der MAP-Anweisung in der Replicat-Parameterdatei angegeben verwendet.

    2. Spaltennamen werden aus der Traildatei ohne Anführungszeichen verwendet, es sei denn, sie werden in der COLMAP-Klausel der MAP-Anweisung in der Replicat-Parameterdatei explizit in Anführungszeichen gesetzt.

Wenn die Spaltennamen eines der folgenden Sonderzeichen oder Leerzeichen enthalten, werden die Namen in Anführungszeichen gesetzt und verwendet.

'".,{}()[]|+-_%~^#@/!><*&$:=?;\

Folgende Objektbenennungskonvention wird von Automatic Schema Evolution für die folgenden Anwendungsfälle verwendet:

  1. Anwendungsfall: Datenbank mit vertraulicher Groß-/Kleinschreibung

    Optionen Verhalten

    Wenn Sie in eine Zieldatenbank mit Beachtung der Groß-/Kleinschreibung replizieren, sollten Sie Folgendes berücksichtigen:

    • Der Quelltabellenname lautet hr.employee

    • Column id-Typ int (Primärschlüssel)

    • Namenstyp varchar

    Wenn der Zieltabellenname in der TARGET-Klausel der MAP-Anweisung einen Platzhalter enthält, werden derselbe Name und die Groß-/Kleinschreibung wie der Quellname für die Zieltabelle mit hinzugefügten Anführungszeichen verwendet.

    Beispiel:

    Die Anweisung MAP in der Replicat-Parameterdatei lautet wie folgt:

    MAP hr.*, TARGET region.*;

    Die Funktion zur automatischen Schemaentwicklung generiert die DDL in der Zieldatenbank, bei der die Groß-/Kleinschreibung beachtet wird:

    CREATE TABLE "region"."employee" ( "id" int not null, "name" VARCHAR(20), primary key ("id"));

    Hinweis:

    Der Objektname employee wird in CREATE TABLE DDL in Anführungszeichen gesetzt, da bei der Quell- und Zieldatenbank die Groß-/Kleinschreibung beachtet wird.

    Wenn Sie in eine Zieldatenbank mit Beachtung der Groß-/Kleinschreibung replizieren, sollten Sie Folgendes berücksichtigen:

    • Der Quelltabellenname lautet hr.employee

    • Column id-Typ int (Primärschlüssel)

    • Namenstyp varchar

    Wenn der Zieltabellenname in der TARGET-Klausel der MAP-Anweisung einen expliziten Namen enthält, werden derselbe Name und die Groß-/Kleinschreibung wie der Quellname für die Zieltabelle mit hinzugefügten Anführungszeichen verwendet.

    Beispiel:

    Die Anweisung MAP in der Replicat-Parameterdatei lautet wie folgt:

    MAP hr.employee, TARGET region.employee, COLMAP(USEDEFAULTS, "EMPNAME" = name); 

    Die automatische Schemaentwicklung generiert die DDL in der Zieldatenbank, bei der die Groß-/Kleinschreibung beachtet wird, wie folgt:

    CREATE TABLE "region"."employee" ( "id" int not null, "EMPNAME" VARCHAR(20), primary key ("id"));

    Hinweis:

    Der Objektname employee wird in der CREATE TABLE DDL nicht mit Anführungszeichen versehen, da der Objektname in der TARGET-Klausel der MAP-Anweisung nicht mit Anführungszeichen versehen ist.

    Wenn Sie in eine Zieldatenbank ohne Beachtung der Groß-/Kleinschreibung replizieren, sollten Sie Folgendes in Betracht ziehen:

    • Der Quelltabellenname lautet hr.employee

    • Column id-Typ int (Primärschlüssel)

    • Namenstyp varchar

    Wenn der Zieltabellenname in der TARGET-Klausel der MAP-Anweisung einen Platzhalter enthält, werden derselbe Name und die Groß-/Kleinschreibung wie der Quellname für die Zieltabelle verwendet.

    Beispiel:

    Die Map-Anweisung in der Replicat-Parameterdatei lautet wie folgt:

    MAP hr.*, TARGET region.*;

    Die automatische Schemaentwicklung generiert die DDL wie folgt bei einer Zieldatenbank, bei der die Groß-/Kleinschreibung nicht beachtet wird:

    CREATE TABLE region.employee (id int not null, name VARCHAR(20), primary key (id));

    Hinweis:

    Der Objektname employee wird in der CREATE TABLE DDL nicht mit Anführungszeichen versehen, da die Zielklausel einen Platzhalter ohne Anführungszeichen enthält.

    Wenn Sie in eine Zieldatenbank ohne Beachtung der Groß-/Kleinschreibung replizieren, sollten Sie Folgendes in Betracht ziehen:

    • Der Quelltabellenname lautet hr.employee

    • Column id-Typ int (Primärschlüssel)

    • Namenstyp varchar

    Wenn der Zieltabellenname in der TARGET-Klausel der MAP-Anweisung einen expliziten Namen enthält, werden derselbe Name und die Groß-/Kleinschreibung wie der Quellname für die Zieltabelle verwendet.

    Beispiel:

    Die Anweisung MAP in der Replicat-Parameterdatei lautet wie folgt:

    MAP hr.employee, TARGET region."employee", COLMAP(USEDEFAULTS, "EMPNAME" = name);

    Die Funktion zur automatischen Schemaentwicklung generiert die DDL in einer Zieldatenbank, bei der die Groß-/Kleinschreibung nicht beachtet wird:

    CREATE TABLE region."employee" ( id int not null, "EMPNAME" VARCHAR(20), primary key (id));

    Hinweis:

    Der Objektname employee wird in CREATE TABLE DDL in Anführungszeichen gesetzt, da der Objektname in der TARGET-Klausel der MAP-Anweisung in Anführungszeichen steht. EMPNAME wird in DDL angegeben, weil es als in COLMAP-Klausel angegeben ist
  2. Groß-/Kleinschreibung: Quelldatenbank ohne Groß-/Kleinschreibung

    Optionen Verhalten

    Wenn Sie in eine Zieldatenbank mit Beachtung der Groß-/Kleinschreibung replizieren, sollten Sie Folgendes in Betracht ziehen:

    • Der Quelltabellenname lautet hr.employee

    • Column id-Typ int (Primärschlüssel)

    • Namenstyp varchar

    Wenn der Zieltabellenname in der TARGET-Klausel der MAP-Anweisung einen Platzhalter enthält, werden derselbe Name und die Groß-/Kleinschreibung wie der Quellname für die Zieltabelle verwendet.

    Beispiel:

    Die Anweisung MAP in der Replicat-Parameterdatei lautet wie folgt:

    MAP hr.*, TARGET region.*;

    Die automatische Schemaentwicklung generiert die DDL in der Zieldatenbank, bei der die Groß-/Kleinschreibung beachtet wird, wie folgt:

    CREATE TABLE region.employee ( id int not null, name VARCHAR(20), primary key (id));

    Hinweis:

    Der Objektname employee wird in der CREATE TABLE DDL nicht mit Anführungszeichen versehen, da die Zielklausel einen Platzhalter ohne Anführungszeichen enthält.

    Wenn Sie in eine Zieldatenbank mit Beachtung der Groß-/Kleinschreibung replizieren, sollten Sie Folgendes in Betracht ziehen:

    • Der Quelltabellenname lautet hr.employee

    • Column id-Typ int (Primärschlüssel)

    • Namenstyp varchar

    Wenn der Zieltabellenname in der TARGET-Klausel der MAP-Anweisung einen expliziten Namen enthält, werden derselbe Name und die Groß-/Kleinschreibung wie der Quellname für die Zieltabelle verwendet.

    Beispiel:

    Die Anweisung MAP in der Replicat-Parameterdatei lautet wie folgt:

    MAP hr.employee, TARGET region.employee, COLMAP(USEDEFAULTS, "EMPNAME" = name);

    Die automatische Schemaentwicklung generiert die DDL in der Zieldatenbank, bei der die Groß-/Kleinschreibung beachtet wird, wie folgt:

    CREATE TABLE region.employee ( id int not null, "EMPNAME" VARCHAR(20), primary key (id));

    Hinweis:

    Der Objektname employee wird in der CREATE TABLE DDL nicht mit Anführungszeichen versehen, da der Objektname in der TARGET-Klausel der MAP-Anweisung nicht mit Anführungszeichen versehen ist.

    Wenn Sie in eine Zieldatenbank ohne Beachtung der Groß-/Kleinschreibung replizieren, sollten Sie Folgendes in Betracht ziehen:

    • Der Quelltabellenname lautet hr.employee

    • Column id-Typ int (Primärschlüssel)

    • Namenstyp varchar

    Wenn der Zieltabellenname in der TARGET-Klausel der MAP-Anweisung einen Platzhalter enthält, werden derselbe Name und die Groß-/Kleinschreibung wie der Quellname für die Zieltabelle verwendet.

    Beispiel:

    Die Anweisung MAP in der Replicat-Parameterdatei lautet wie folgt:

    MAP hr.*, TARGET region.*;

    Die Funktion "Automatische Schemaentwicklung" generiert die DDL in einer Zieldatenbank, bei der die Groß-/Kleinschreibung nicht beachtet wird:

    CREATE TABLE region.employee ( id int not null, name VARCHAR(20), primary key (id));

    Hinweis:

    Der Objektname employee wird in der CREATE TABLE DDL nicht mit Anführungszeichen versehen, da die Zielklausel einen Platzhalter ohne Anführungszeichen enthält.

    Wenn Sie in eine Zieldatenbank ohne Beachtung der Groß-/Kleinschreibung replizieren, sollten Sie Folgendes in Betracht ziehen:

    • Der Quelltabellenname lautet hr.employee

    • Column id-Typ int (Primärschlüssel)

    • Namenstyp varchar

    Wenn der Zieltabellenname in der TARGET-Klausel der MAP-Anweisung einen expliziten Namen enthält, werden derselbe Name und die Groß-/Kleinschreibung wie der Quellname für die Zieltabelle verwendet.

    Beispiel:

    Die Anweisung MAP in der Replicat-Parameterdatei lautet wie folgt:

    MAP hr.employee, TARGET region.employee, COLMAP(USEDEFAULTS, EMPNAME = name);

    Die Funktion "Automatische Schemaentwicklung" generiert die DDL in einer Zieldatenbank, bei der die Groß-/Kleinschreibung nicht beachtet wird:

    CREATE TABLE region.employee ( id int not null, EMPNAME VARCHAR(20), primary key (id));

    Hinweis:

    Der Objektname employee wird in der CREATE TABLE DDL nicht mit Anführungszeichen versehen, da der Objektname in der TARGET-Klausel der MAP-Anweisung nicht mit Anführungszeichen versehen ist.