SnowConvert AI – Zusammenfassung der allgemeinen Konvertierung

Der Abschnitt „Overall Conversion Summary“ des Bewertungsberichts für Oracle

Total Files

Stellt die Anzahl der Dateien dar, die in der Eingabeadresse entdeckt wurden und von SnowConvert erfolgreich migriert wurden.

Name des zugeordneten CSV-Feldes

  • TotalFiles

Beispiel

input_folder
   ├> sql_file.sql
   ├> notes.txt
   └> views.csv
Copy
output_folder
   └> sql_file.sql
Copy

Erwartete Gesamtzahl der Dateien: 1

Erläuterung: Beim vorherigen Beispiel kommt nur die SQL-Datei für die Migration infrage, da die anderen beiden Dateien eine Erweiterung haben, die SnowConvert AI nicht erkennen kann.

SQL Files

Bemerkung

Dieses Feld gilt nur für Teradata-Berichte.

Dies ist die Anzahl der im Eingabeordner gefundenen Dateien mit der Erweiterung .sql, .ddl oder .dml.

Name des zugeordneten CSV-Feldes

  • SqlFileCount

Beispiel

input_folder
    ├> ddl_file.ddl
    ├> dml_file.dml
    ├> sql_file.sql
    ├> other_file.ignore
    └> bteq_file.bteq
Copy
output_folder
    ├> ddl_file.ddl
    ├> dml_file.dml
    ├> sql_file.sql
    └> bteq_file_BTEQ.py
Copy

Erwartete SQL-Dateien: 3

Erläuterung: In diesem Fall werden die drei Dateien mit den Erweiterungen DDL, DML und SQL als erkannt SQL-Dateien erkannt. Andere Erweiterungen werden für SQL-Dateien nicht mitgezählt. Teradata-Skriptdateien werden für SQL-Dateien nicht mitgezählt. Diese werden zu den Skriptdateien gezählt.

Skriptdateien

Bemerkung

Dieses Feld gilt nur für Teradata-Berichte.

Dies ist die Anzahl der Dateien im Eingabeordner, die vom folgenden Typ sind:

  • BTEQ: .bteq, .btq

  • FastLoad: .fload, .fl

  • MultiLoad: .mload, .mld, ml

  • TPump: .tpump, .tp

  • TPT: .tpt

Name des zugeordneten CSV-Feldes

  • ScriptFileCount

Beispiel

input_folder
    ├> bteq_file.bteq
    ├> btq_file.btq
    ├> fload_file.fload
    ├> mload_file.mload
    ├> sql_file.sql
    ├> tpt_file.tpt
    └> tpump_file.tpump
Copy
output_folder
    ├> bteq_file_BTEQ.py
    ├> btq_file_BTEQ.py
    ├> fload_file_FastLoad.py
    ├> mload_file_MultiLoad.py
    ├> sql_file.sql
    ├> tpt_file_TPT.py
    └> tpump_file_TPump.py
Copy

Erwartete Skriptdateien: 6

Erläuterung: In diesem Fall werden die sechs Dateien mit Skript-Dateierweiterungen als Skriptdateien erkannt. Die beiden Erweiterungen für die zuvor erwähnten BTEQ-Dateien werden mitgezählt, die SQL-Datei wird aber nicht berücksichtigt, da es sich um eine SQL-Datei handelt.

Total Files Not Generated

Stellt die Anzahl der unter der Eingabeadresse gefundenen Dateien dar, die aufgrund eines Fehlers in SnowConvert AI nicht die migrierte Ausgabedatei generieren konnte.

Name des zugeordneten CSV-Feldes

  • TotalFilesNotGenerated

Beispiel

input_folder
   ├> input1.sql
   ├> input2.sql
   └> input3.sql
Copy
output_folder
   ├> input1.sql
   └> input2.sql
Copy

Erwartete Gesamtzahl nicht generierter Dateien: 1

Erläuterung:

Conversion Speed

Stellt die Anzahl der Zeilen dar, die während der Migration pro Sekunde verarbeitet werden.

Formel

total_lines_of_code / conversion_time
Copy

Name des zugeordneten CSV-Feldes

  • ConversionSpeed

Beispiel

CREATE TABLE table1(
     column1 INT,
     column2 INT
     column3 INT
);

CREATE VIEW view1 AS
SELECT orderkey
FROM orders;
Copy

Erwartete Konvertierungsgeschwindigkeit: 4 Zeilen/Sek.

Erläuterung: Nehmen wir an, dass die Ausführungszeit des Beispiels 2 Sekunden betrug, wenn man berücksichtigt, dass die Anzahl der Zeilen 8 beträgt. Nach der Formel 8/2 = 4 beträgt die Konvertierungsgeschwindigkeit also 4 Zeilen pro Sekunde.

Conversion Time

Stellt die Dauer der SnowConvert AI-Migration dar.

Name des zugeordneten CSV-Feldes

  • ElapsedTime

Total Conversion Errors

Die Gesamtzahl der Konvertierungsfehler, die während des Konvertierungsprozesses aufgetreten sind. Diese Art von Fehler kann im Zusammenhang mit der E/A von Dateien, der Arbeitsspeicherverwaltung oder einer ungewöhnlichen Situation stehen, die von SnowConvert AI nicht behandelt werden kann. Dies sind unbehandelte Codeausnahmen und gelten als kritische Probleme.

Name des zugeordneten CSV-Feldes

  • TotalConversionErrors

Total Parsing Errors

Die Gesamtzahl der Parsing-Fehler, die während der Codeanalyse aufgetreten sind. Ein Parsing-Fehler tritt auf, wenn der Parser (die Komponente, die die Quellcodedateien liest) auf etwas Unerwartetes stößt. Dies bedeutet in der Regel einen Syntaxfehler, der sich auf ein Codeelement in der Datei bezieht, das nicht der SQL-Grammatikspezifikation entspricht, die der Parser erwartet hat. In anderen Fällen können diese Fehler auch auftreten, weil der Parser noch nicht bereit ist, eine bestimmte Grammatik zu unterstützen. Parsing-Fehler werden ebenfalls als kritisch angesehen. Wenn diese Zahl im Verhältnis zur Größe der Migrations-Workload hoch ist, wird eine Überarbeitung des Eingabecodes empfohlen.

Name des zugeordneten CSV-Feldes

  • TotalParsingErrors

Beispiel

-- Statement without parsing error
CREATE TABLE table1(
     column1 INT,
     column2 INT
);

-- Statements with parsing error
CRATE TABLE table2(
     column1 INT
);

CREATE VIEW view1 AS
SELECT orderkey
FROM FROM orders;
Copy
-- Statement without parsing error
CREATE OR REPLACE TABLE table1 (
     column1 INT,
     column2 INT
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"teradata"}}'
;

-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '8' COLUMN '1' OF THE SOURCE CODE STARTING AT 'CRATE'. EXPECTED 'STATEMENT' GRAMMAR. LAST MATCHING TOKEN WAS 'CRATE' ON LINE '8' COLUMN '1'. CODE '81'. **
---- Statements with parsing error
--CRATE TABLE table2(
--     column1 INT
--)
 ;

--** SSC-FDM-0007 - MISSING DEPENDENT OBJECT "orders" **
CREATE OR REPLACE VIEW view1
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},"attributes":{"component":"teradata"}}'
AS
SELECT
     orderkey
-- ** SSC-EWI-0001 - UNRECOGNIZED TOKEN ON LINE '14' COLUMN '1' OF THE SOURCE CODE STARTING AT 'FROM'. EXPECTED 'FROM' GRAMMAR. LAST MATCHING TOKEN WAS 'FROM' ON LINE '14' COLUMN '1'. FAILED TOKEN WAS 'FROM' ON LINE '14' COLUMN '6'. CODE '44'. **
--FROM
    ;
Copy

Erwartete Parsing-Fehler insgesamt: 2

Erläuterung: Die erste Tabelle weist keinen Parsing-Fehler auf, die gesamte Grammatik ist korrekt, aber die beiden folgenden Anweisungen weisen Parsing-Fehler auf, weil sie ein Grammatikproblem aufweisen, wie die zweite Tabelle, bei der die CREATE-Anweisung einen Rechtschreibfehler aufweist, oder das doppelte FROM in der SELECT-Anweisung der Ansicht.

Total Warnings

Die Gesamtzahl der Warnungen, die SnowConvert AI für die Eingabe generiert. Es wird eine Warnung eingefügt, wenn die Übersetzung eines bestimmten Elements weitgehend funktional gleichwertig ist, es jedoch einige Sonderfälle gibt, in denen möglicherweise ein Eingreifen der Benutzenden erforderlich ist. Sie haben einen geringen Schweregrad, da sie Informationen bereitstellen sollen, die überprüft werden können, wenn der Code bei der Ausführung auf der Zielplattform einen funktionalen Unterschied aufweist.

Name des zugeordneten CSV-Feldes

  • TotalWarnings

Beispiel

CREATE TABLE table1(
     COL1 SYS.XMLTYPE
);

SELECT TIMESTAMP '1998-12-25 09:26:50.12' AT LOCAL
FROM DUAL;

CREATE TABLE table2(
INTERVAL_YEAR_TYPE INTERVAL YEAR(2)
);
Copy
CREATE OR REPLACE TABLE table1 (
     COL1 SYS.XMLTYPE
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;

SELECT
     TIMESTAMP '1998-12-25 09:26:50.12'
FROM
     DUAL;

CREATE OR REPLACE TABLE table2 (
INTERVAL_YEAR_TYPE VARCHAR(21) !!!RESOLVE EWI!!! /*** SSC-EWI-0036 - INTERVAL YEAR(2) DATA TYPE CONVERTED TO VARCHAR ***/!!!
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
Copy

Gesamtzahl der erwarteten Warnungen: 3

Erläuterung: Im letzten Beispiel gibt es in allen drei Anweisungen einen Warnungstyp.

Total Lines of Code (LOC)

Die Gesamtzahl der Codezeilen in den Eingabedateien, die von dem Konvertierungstool verarbeitet wurden.

Bemerkung

Leere Zeilen werden nicht gezählt.

Name des zugeordneten CSV-Feldes

  • TotalLinesOfCode

Beispiel

CREATE TABLE table1(
 column1 INT
);

-- Create View
CREATE VIEW view1 AS
SELECT orderkey
FROM orders;
Copy

Erwartete Gesamtanzahl von Codezeilen (LOC): 8

Erläuterung: Obwohl die Datei 10 Zeilen enthält, sind 8 Codezeilen gültig, da Leerzeilen nicht mitgezählt werden.