Massensynchronisierung mit SQL
Verb: sqlBulkSynchronize
Verfügbar ab: < Enterprise>
Führt eine Massensynchronisierung zwischen zwei Tabellen durch, damit alle Werte der Zieltabelle in der Datenbank den Werten in der Quellentabelle entsprechen.
Syntax
sqlBulkSynchronize --dataTable(DataTable) --connection(DbConnection) --tablename(String) [--batchsize(Numeric)] [--mappings(String)] [--timeout(TimeSpan)] (Boolean)=value
Eingaben
| Script | Designer | Erforderlich | Akzeptierte Typen | Beschreibung |
|---|---|---|---|---|
| --dataTable | Datentabelle | Erforderlich | Datentabelle | Quellendatentabelle, die als Referenz für die Synchronisation mit der Datenbanktabelle dient. |
| -- Verbindung | Verbindung | Erforderlich | Datenbankverbindung | Datenbankverbindungsvariable. Für diese Verbindung sind die folgenden Optionen verfügbar: |
| --tablename | Tabellenname | Erforderlich | Text | Name der Datenbanktabelle. |
| --batchsize | Batchgröße | Optional | Zahl | Datenvolumen, das in jedem Batch gleichzeitig synchronisiert werden soll. |
| --mappings | Zuordnungen | Optional | Text | Zuordnungen der angegebenen Datentabellenspalten unter Verwendung der SQL-Tabellenwerte. Beim Hinzufügen neuer Zuordnungen finden Sie die folgenden Felder:- Spaltenname: Der Name der zuzuordnenden Spalte Datentabelle ;- Spaltennummer: Die Nummer der zuzuordnenden Spalte Datentabelle . Spaltennummern beginnen bei 1;-Unbenanntes Feld: Verweist auf den Spaltennamen der SQL-Tabelle.Ein Wert muss in eines der Felder Spaltenname oder Spaltennummer eingegeben werden. |
| --timeout | Zeitlimit | Optional | Zeitspanne, Zahl, Text | Maximale Wartezeit für das Herstellen der Verbindung und das Synchronisieren der Daten. |
Ausgaben
| Script | Designer | Akzeptierte Typen | Beschreibung |
|---|---|---|---|
| Wert | Erfolg | Boolesch | Gibt 'True' zurück, wenn die Ausführung erfolgreich war; andernfalls wird 'False' zurückgegeben. |
Beispiel
Der Befehl Bulk Sync with SQL ordnet die Werte einer Datentabelle zu und wird mit der Tabelle "book" in der Datenbank synchronisiert, die über den Befehl MySQL Connection verbunden ist. Nach der Ausführung werden die Werte aus der Datenbanktabelle nach Bedarf aktualisiert (eingefügt, gelöscht oder neu erstellt).
defVar --name connection --type DbConnection
defVar --name tableDataBooks --type DataTable
defVar --name fileExcelDataBooks --type Excel
defVar --name tableBooks --type DataTable
// Connect to mysql.
mysqlConnect --connectionstring "Data Source = 127.0.0.1; User ID = root; Password = \" \""
// Create the database "bdTechnology" and the table "book".
sqlExecuteReader --connection ${connection} --statement "CREATE DATABASE bdTechnology; \r\nUSE bdTechnology; \r\nCREATE TABLE book (id INT NOT NULL AUTO_INCREMENT, price DOUBLE, title EXT, author TEXT, publisher TEXT, numPage INT, language CHAR (2), PRIMARY KEY (id)); "
// Download the following file to execute the command.
excelOpen --file "excelTableDataBooksInsert_Synchronize.xlsx" fileExcelDataBooks=value
excelGetTable --file ${fileExcelDataBooks} --getfirstsheet --entiretable --hasheaders tableDataBooks=value
// Inserts data into the database.
sqlBulkInsert --dataTable ${tableDataBooks} --connection ${connection} --tablename book
sqlExecuteReader --connection ${connection} --statement "select * from book;" tableDataBooks=value
logMessage --message "DATABASE AFTER INSERTION: ${tableDataBooks}" --type "Info"
// DATABASE AFTER INSERTION:
// 1 59.99 The Master: How the Search for the Ultimate Machine Learning Algorithm Will Recreate Our World Pedro Domingos Novatec 344 EN
// 2 30 Steve Jobs Walter Isaacson Simon & Schuster 656 EN
// 3 120 Elon Musk: How the billionaire CEO of SpaceX and Tesla is shaping our future Ashlee Vance Intrinsic 416 EN
// 4 200 Brief answers to big questions Stephen Hawking Intrinsic 256 EN
// Download the following file to execute the command.
excelOpen --file "excelTableDataBooksInsert_Synchronize.xlsx" fileExcelDataBooks=value
excelGetTable --file ${fileExcelDataBooks} --getfirstsheet --entiretable --hasheaders tableDataBooks=value
logMessage --message "TABLE TO SYNC: \r\n ${tableDataBooks}" --type "Info"
// TABLE TO SYNC:
// 1 59.99 The Master Algorithm: How the Search for the Ultimate Machine Learning Algorithm Will Recreate Our World Pedro Domingos Novatec 344 EN
// 2 200 Steve Jobs Walter Isaacson Simon & Schuster 656 EN
// 3 120 Elon Musk: How the billionaire CEO of SpaceX and Tesla is shaping our future Ashlee Vance Intrinsic 416 EN
//
// 5 150 Artificial intelligence Peter Norvig GEN LTC 1016 AL
// 6 152 Astrophysics for hasties Neil Degrasse Tyson Planet 192 AL
sqlBulkSynchronize --dataTable ${tableDataBooks} --connection ${connection} --tablename book --mappings "number=1=id,number=2=price,number=3=title,number=4=author,number=5=publisher,number=6=numPage,number=7=language"
sqlExecuteReader --connection ${connection} --statement "SELECT * FROM book" tableBooks=value
logMessage --message "DATABASE AFTER SYNCHRONIZATION: ${tableBooks}" --type "Info"
// DATABASE AFTER SYNCHRONIZATION:
// 1 59.99 The Master Algorithm: How the Search for the Ultimate Machine Learning Algorithm Will Recreate Our World Pedro Domingos Novatec 344 EN
// 2 200 Steve Jobs Walter Isaacson Simon & Schuster 656 EN
// 3 120 Elon Musk: How the billionaire CEO of SpaceX and Tesla is shaping our future Ashlee Vance Intrinsic 416 EN
// 5 150 Artificial intelligence Peter Norvig GEN LTC 1016 AL
// 6 152 Astrophysics for hasties Neil Degrasse Tyson Planet 192 AL
sqlExecute --connection ${connection} --statement "DROP DATABASE bdtechnology"
Datei herunterladen
Damit das Script ordnungsgemäß funktioniert, müssen Sie die Dateien herunterladen und ihren Pfad im Parameter Dateipfad des Befehls Office-Datei öffnen eingeben.