Zum Inhalt springen

Datenbankfunktionen in Jitterbit Design Studio

Datenbankfunktionen bieten Zugriff auf grundlegende Datenbankaktivitäten.

CacheLookup

Erklärung

string CacheLookup(string databaseId, string sql)

Syntax

CacheLookup(<databaseId>, <sql>)

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge Datenbankquelle im aktuellen Projekt
  • sql: Der SQL-Befehl, der für die Datenbank ausgeführt werden soll

Beschreibung

Diese Funktion ist identisch mit DBLookup, außer dass die erste Suche die Informationen zwischenspeichert und nachfolgende Suchen diesen Cache verwenden, anstatt die Datenbank wiederholt abzufragen. (Eine Alternative zum Zwischenspeichern ist die Verwendung der Funktionen Set Und Get.)

Wenn für die in sql, die Funktion gibt null zurück.

Die globale Jitterbit-Variable $jitterbit.scripting.db.rows_affected wird von dieser Methode nicht festgelegt.

Die in diesem Funktionsaufruf verwendete Datenbank muss als Quelle oder Ziel des aktuellen Projekts definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Beispiele

// Looking up in a database using a SQL string
CacheLookup("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE FROM PO_HEADER WHERE PO_NUMBER=1");

CallStoredProcedure

Erklärung

type CallStoredProcedure(string databaseId, string spName, type resultSet[, string inputOutputVariable,...])

Syntax

CallStoredProcedure(<databaseId>, <spName>, <resultSet>[, <inputOutputVariable>,...])

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge Datenbankquelle im aktuellen Projekt
  • spName: Die gespeicherte Prozedur, die auf dem Datenbankserver ausgeführt werden soll
  • resultSet: Eine globale Variable zur Speicherung des vom Datenbankserver zurückgegebenen Ergebnissatzes, falls zutreffend. (Siehe Hinweise unten).

Optionale Parameter

  • inputOutputVariable: Ein Eingabe- oder Ausgabeparameter, der an die gespeicherte Prozedur übergeben werden soll; diese Parameter werden gemäß der Signatur der gespeicherten Prozedur hinzugefügt

Beschreibung

Ruft die gespeicherte Prozedur auf spName unter Verwendung der Verbindungsinformationen der Quelle/des Ziels, identifiziert durch databaseId.

Gegebenenfalls die zurückgegebenen resultSet ist ein zweidimensionales Array von Strings. Wenn die gespeicherte Prozedur keine resultSet oder wenn ein ODBC Treiber verwendet wird, wird dieses Argument ignoriert.

Notiz

Bei Microsoft SQL Server Datenbanken ruft diese Funktion gespeicherte Prozeduren im Standard Datenbankbesitzer (dbo) Schema. Um gespeicherte Prozeduren in anderen Schemas aufzurufen, verwenden Sie die dbexecute Funktion.

Achtung

Die resultSet Der Parameter wird derzeit nur von JDBC-Datenbanktreibern unterstützt. Bei Verwendung von ODBC wird der resultSet gibt immer null zurück.

Die verbleibenden optionalen Parameter werden verwendet, um Eingabe- und Ausgabeargumente an die gespeicherte Prozedur zu übergeben. Die Anzahl der erforderlichen Argumente hängt von der Signatur der gespeicherten Prozedur ab.

Eingabeargumente können ein fest codierter Wert, der Wert einer Quelle oder der Wert einer Berechnung oder Formel sein. Ausgabeargumente (einschließlich der resultSet) werden durch Verweis angegeben als „$name", Wo "name" ist der Name der globalen Variable, die den Ausgabewert enthält. Der Rückgabewert und -typ der Funktion sind der Rückgabewert und -typ der gespeicherten Prozedur.

Die in diesem Funktionsaufruf verwendete Datenbank muss als Quelle oder Ziel des aktuellen Projekts definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Beispiele

Beispiel 1: Aufrufen einer gespeicherten Prozedur ohne Ergebnismenge

// Calls a stored procedure "MyStoredProcedure",
// which takes one input variable, one output variable,
// and ignores the result set.
// "Input" is the name of the source global variable
// that provides the input and
// "output" is the name of the global variable
// used to store the output:

CallStoredProcedure("<TAG>Sources/myDBTarget</TAG>",
  "MyStoredProcedure", 0, Input, $output);

// The value of the output parameter can be accessed
// by using either $output or Get("output")

Beispiel 2: Aufrufen einer gespeicherten Prozedur mit einem Ergebnissatz

// Calls a stored procedure "GetValues",
// which takes two input variables and returns a result set.
// The result set is returned as the two-dimensional array $result.
// The result can be accessed by using either $result or Get("result"):

CallStoredProcedure("<TAG>Sources/myDBTarget</TAG>", "GetValues", $result, Input1, Input2);

Beispiel 3: Aufrufen einer gespeicherten Prozedur, die auf einen Oracle Objekttyp zugreift

Verwenden von Oracle Objekt- und Datensatztypen

Jitterbit unterstützt Oracle-Objekttypen für die Arbeit mit Oracle-Datenbanken bei Verwendung des Oracle JDBC- Treiber. Oracle Objekttypen ähneln Oracle-Datensatztypen, die in Jitterbit aufgrund fehlender Unterstützung durch Oracle nicht unterstützt werden.

Warnung

Um Oracle Objekttypen zu verwenden, müssen Sie den Oracle JDBC- Treiber verwenden. Der Oracle ODBC- Treiber unterstützt weder Oracle-Objekttypen noch Oracle Datensatztypen.

Um mit dem Oracle JDBC- Treiber auf Oracle-Datensatztypen zuzugreifen, können Sie eine gespeicherte Wrapper-Prozedur in Ihrer Oracle-Datenbank erstellen, die auf einen Oracle-Datensatztyp zugreifen und ihn konvertieren kann. Verwenden Sie dann die CallStoredProcedure Funktion in Jitterbit, um die Wrapper-Prozedur aufzurufen und die Konvertierung in und aus einem Oracle Objekttyp durchführen zu lassen.

Tipp

Weitere Informationen zu den Unterschieden zwischen den Oracle Datensatztypen und den Oracle Objekttypen finden Sie in der Oracle-Dokumentation. Siehe Datensatzvariablendeklaration und Verwenden von PL/SQL mit Objekttypen der Dokumentation zu Oracle Database Release 18 für weitere Informationen.

Das folgende Beispiel beschreibt die Verwendung von Oracle Objects in einem CallStoredProcedure Funktion vereinfacht.

Oracle-Typdefinitionen

Eine Oracle Objekttypdefinition folgt diesem Muster:

Oracle Object Type (Supported)
CREATE OR REPLACE TYPE example_customer_details AS OBJECT
(status NUMBER
,party_id NUMBER
,account_id VARCHAR
);

Eine Oracle Datensatztypdefinition folgt diesem Muster:

Oracle Record Type (Not Supported)
CREATE TYPE example_customer_details IS RECORD
(status NUMBER
,party_id NUMBER
,account_id VARCHAR
);
Beispielschritte

Schritt 1: Objekt erstellen
Um Oracle-Objekttypen zu verwenden, erstellen Sie zuerst das Objekt in der Oracle-Datenbank:

Create Object
CREATE OR REPLACE TYPE example_customer_details AS OBJECT
(status                    NUMBER
,party_id                  NUMBER
,account_id                VARCHAR
);

Schritt 2: Erstellen Sie das Paket
Erstellen Sie als Nächstes das Paket als Funktion in der Oracle-Datenbank:

Create Package
CREATE OR REPLACE PACKAGE example AS
  FUNCTION processcustomer(custin IN example_customer_details, new_account_number IN VARCHAR) RETURN example_customer_details;
END example;

Schritt 3: Erstellen Sie den Paketkörper
Erstellen Sie als Nächstes den Pakettext als Funktion in der Oracle-Datenbank:

Create Package Body
CREATE OR REPLACE PACKAGE BODY example AS
FUNCTION processcustomer(custin IN example_customer_details, new_account_number IN varchar) RETURN example_customer_details
  IS
  custout example_customer_details;
  BEGIN
     custout := example_customer_details(
     custin.status + 1,
     custin.party_id,
     new_account_number
     );
     return custout;
END;
END example;

Schritt 4: Aufrufen der gespeicherten Prozedur in Jitterbit
Jetzt können Sie die gespeicherte Prozedur aufrufen processcustomer von Jitterbit mit dem CallStoredProcedure Funktion. Dieses Script zeigt, wie ein Objekt an die CallStoredProcedure Funktion. Sie können auf ähnliche Weise auch Objekte aus einer gespeicherten Prozedur als Rückgabe- oder Ausgabeparameter übergeben.

Create Jitterbit Script
<trans>
$cust = dict();
$cust["status"] = 1;
$cust["party_id"] = 10;
$cust["account_id"] = "2341";

$custout = CallStoredProcedure("<TAG>Sources/OracleDatabase</TAG>",
    "EXAMPLE.PROCESSCUSTOMER", "", $cust,"NA0233");

$result = "Status: " + $custout["STATUS"] +
  "  Party ID: " + $custout["PARTY_ID"] +
  "  Account ID:  " + $custout["ACCOUNT_ID"];

WriteToOperationLog("Resulting object: " + $result);
</trans>

Hinweis

Im Beispiel ist die processcustomer Funktion in Oracle erwartet zwei Parameter: das benutzerdefinierte Objekt (example_customer_details) und ein VARCHAR (new_account_number). Im obigen Beispiel das Wörterbuch $cust stellt das benutzerdefinierte Objekt dar und NA0233 stellt den VARCHAR dar.

Achtung

Bei der Ausgabe unterscheiden die Eigenschaftennamen des Datentyps zwischen Groß- und Kleinschreibung und werden daher in Großbuchstaben geschrieben. Bei Eingabeobjekten unterscheiden die Eigenschaftennamen nicht zwischen Groß- und Kleinschreibung.

DBCloseConnection

Erklärung

void DBCloseConnection(string databaseId)

Syntax

DBCloseConnection(<databaseId>)

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge Datenbankquelle im aktuellen Projekt

Beschreibung

Führt die aktuelle Transaktion aus und schließt die Datenbankverbindung.

Die in diesem Funktionsaufruf verwendete Datenbank muss als Quelle oder Ziel des aktuellen Projekts definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Beispiele

// Closing a database connection
DBCloseConnection("<TAG>Sources/myDBTarget</TAG>");

DBExecute

Erklärung

array DBExecute(string databaseId, string sql)

int DBExecute(string databaseId, string sql, string outputVariable,...)

Syntax

DBExecute(<databaseId>, <sql>)

DBExecute(<databaseId>, <sql>, <outputVariable>,...)

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge Datenbankquelle im aktuellen Projekt
  • sql: Der SQL-Befehl, der für die Datenbank ausgeführt werden soll
  • outputVariable: (Zweite Form) Ein Ausgabeparameter, der mit den im SQL-Befehl zurückgegebenen Feldern abgeglichen wird. Bei Bedarf können zusätzliche Argumente angegeben werden.

Beschreibung

Führt eine SQL-Anweisung für eine Datenbank aus und gibt die Ergebnisse zurück.

Wenn die SQL-Anweisung einen Ergebnissatz erzeugt, gibt es zwei Möglichkeiten, die Daten abzurufen:

  • Wenn Sie nur die beiden erforderlichen Parameter angeben (erste Form), gibt die Funktion den vollständigen Datensatz als Zeilenarray zurück.

    Sie können dann ein While() Schleife zum Durchlaufen der Zeilen und Verwenden Get() um die Daten abzurufen. Wenn keine Zeilen zurückgegeben werden, gibt die Methode ein leeres Array zurück (Length($arr) == 0).

  • Wenn Sie zusätzlich zu den beiden erforderlichen Parametern Ausgabevariablen angeben (zweite Form), werden die Werte der Felder der ersten Zeile zurückgegeben.

    Übergeben Sie Namen globaler Variablen in Anführungszeichen als Parameter nach den ersten beiden Parametern. Der Wert des ersten Felds der ersten Zeile wird in die als dritter Parameter übergebene globale Variable geschrieben, der des zweiten Felds der ersten Zeile in den vierten Parameter und so weiter. Alternativ können die globalen Variablen als Referenz übergeben werden, indem ihnen ein $-Zeichen vorangestellt wird, z. B. $output.

    Der Rückgabewert ist in diesem Fall die Anzahl der zurückgegebenen Datensätze; entweder 1 (falls Datensätze gefunden wurden) oder 0 (falls keine zurückgegeben wurden).

Die zurückgegebenen Datenwerte sind immer Zeichenfolgen. Binärdaten werden als Hex-String-Darstellung zurückgegeben.

Die in diesem Funktionsaufruf verwendete Datenbank muss als Quelle oder Ziel des aktuellen Projekts definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Verwandte Jitterbit-Variablen

  • Wenn diese Methode erfolgreich abgeschlossen wird, $jitterbit.scripting.db.rows_affected enthält die Anzahl der von der Abfrage betroffenen Zeilen.
  • Wenn Sie einen JDBC Treiber für die Verbindung mit einer Datenbank verwenden, setzen Sie jitterbit.scripting.db.search.rowset Zu true davorlegende der Funktion, alle Aufrufe einer gespeicherten Prozedur, die mehrere Ergebnisse zurückgibt, so vorzunehmen, dass der erste nicht leere Datensatzsatz zurückgegeben wird, anstatt einen leeren Satz zurückzugeben.
  • Um die Anweisung in einer Transaktion auszuführen, legen Sie die Variablen fest $jitterbit.scripting.db.auto_commit=false Und $jitterbit.scripting.db.transaction=true in einem Script vor dem Aufruf. Die Transaktion wird am Ende einer erfolgreichen Transformation festgeschrieben. Das Setzen beider Variablen (auto_commit Und transaction) Zu true führt zu einem Fehler.
  • Set $jitterbit.scripting.db.max_rows um die Anzahl der zurückzugebenden Datensätze zu begrenzen. Der Standardwert beträgt 10.000 Zeilen.

Beispiele

Beispiel 1: Ausführen und Abrufen von Werten in einem Array

// Results of the SQL select as an array
rows = DBExecute("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE, ORDER_AMOUNT FROM PO_HEADER WHERE PO_NUMBER = 1");

// The value of the database column ORDER_TYPE can then be accessed with
// Get($rows, $i, 0) where $i is the 0-based count of the row you want retrieved.

Beispiel 2: Ausführen und Abrufen von Werten in übergebenen referenzierten globalen Variablen

// Results of the SQL select will be in the $custName and $custAddr global variables:
DBExecute("<TAG>Sources/myDBTarget</TAG>",
    "SELECT CustomerName, CustomerAddress FROM Customers WHERE CustomerId = " + $custId,
    $custName,
    $custAddr);

// The value of the database column CustomerName can then
// be accessed with either Get("custName") or $custName.

Beispiel 3: Ausführen und Abrufen von Werten in übergebenen benannten globalen Variablen

// Results of the SQL select will be in the OrderType and OrderAmount global variables:
DBExecute("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE, ORDER_AMOUNT FROM PO_HEADER WHERE PO_NUMBER = 1",
    "OrderType", "OrderAmount");

// The value of the database column ORDER_TYPE can then
// be accessed with either Get("OrderType") or $OrderType.

DBLoad

Erklärung

void DBLoad(string source, string target, int mode, string tablename, string columnNames[, string columnKeynames, int skipLines, string dateFormat, string datetimeFormat])

Syntax

DBLoad(<source>, <target>, <mode>, <tablename>, <columnNames>[, <columnKeynames>, <skipLines>, <dateFormat>, <datetimeFormat>])

Erforderliche Parameter

  • source: Eine String-Quelle im aktuellen Projekt, die eine einzelne Datei im CSV-Format ist
  • target: Ein String-Datenbankziel im aktuellen Projekt
  • mode: Eine Ganzzahl; eine von 1 (Upsert), 2 (einfügen) oder 3 (aktualisieren)
  • tablename: Die Tabelle in der Zieldatenbank
  • columnNames: Eine durch Kommas getrennte Liste von Spaltennamen
  • columnKeynames: Eine durch Kommas getrennte Liste von Spaltennamen, die den Update-Schlüssel bilden. Erforderlich, wenn der Modus nicht 2.

Optionale Parameter

  • skipLines: Anzahl der zu ignorierenden Zeilen am Anfang der Datei (wird zum Überspringen von Headern verwendet)
  • dateFormat: Gibt das Format von Datumsfeldern an, beispielsweise "Date" in Oracle Datenbanken
  • datetimeFormat: Gibt das Format von Datums-/Uhrzeitfeldern an, beispielsweise „TimeStamp" in Oracle Datenbanken

Beschreibung

Nimmt eine Quelle (eine einzelne Datei im CSV-Format) und lädt die Daten in eine angegebene Tabelle in einer Zieldatenbank.

Der Parameter columnKeynames wird nicht verwendet, wenn nur eingefügt wird (mode=2) und kann in diesem Fall weggelassen werden.

Quelle

Die in diesem Funktionsaufruf verwendete Quelle muss als Dateiquelle des aktuellen Projekts definiert sein. Die erste von dieser Quelle zurückgegebene Datei wird verwendet. Siehe die Anweisungen zum Einfügen von Projektelementen.

Warnung

Die DBLoad() Funktion funktioniert nur auf JDBC-Datenbankzielen.

Beispiele

// Using the file returned from the source "MyCSVData",
// this example upserts (mode=1) into the table "MyTable"
// on the Database target "SQL Server JDBC". "MyCSVData"
// is expected to be a CSV file that contains data for
// the columns "ID,Col1,Col2,Col3". The update key (used
// to decide whether to update or insert) will be on the
// column "ID". The first line of the CSV file will be
// ignored as it is a header:

DBLoad("<TAG>Sources/MyCSVData</TAG>",
    "<TAG>Targets/SQL Server JDBC</TAG>", 1,
    "MyTable", "ID,Col1,Col2,Col3", "ID", 1);

DBLookup

Erklärung

string DBLookup(string databaseId, string sql)

Syntax

DBLookup(<databaseId>, <sql>)

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge Datenbankquelle im aktuellen Projekt
  • sql: Der SQL-Befehl, der für die Datenbank ausgeführt werden soll

Beschreibung

Führt eine SQL-Anweisung für eine Datenbank aus und gibt das erste Feld des ersten Ergebnisses zurück, das den angegebenen Kriterien entspricht.

Der zurückgegebene Datenwert ist immer eine Zeichenfolge. Binäre Daten werden als Hex-String-Darstellung zurückgegeben. Wenn für die angegebene Abfrage keine Zeilen zurückgegeben werden, gibt die Funktion null zurück.

Die globale Jitterbit-Variable $jitterbit.scripting.db.rows_affected wird von dieser Methode nicht festgelegt.

Für erweiterte Abfragen, bei denen Sie mehr als einen Wert oder eine Zeile abrufen möchten, verwenden Sie die Funktionen DBLookupAll oder DBExecute.

Datenbank-ID

Die in diesem Funktionsaufruf verwendete Datenbank muss als Quelle oder Ziel des aktuellen Projekts definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Beispiele

// Returns the first field of the first result from
// running the SQL query
result = DBLookup("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE FROM PO_HEADER WHERE PO_NUMBER=1");

DBLookupAll

Erklärung

array DBLookupAll(string databaseId, string sql)

Syntax

DBLookupAll(<databaseId>, <sql>)

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge Datenbankquelle im aktuellen Projekt
  • sql: Der SQL-Befehl, der für die Datenbank ausgeführt werden soll

Beschreibung

Führt eine SQL-Anweisung für eine Datenbank aus und gibt die Ergebnisse zurück, die den angegebenen Kriterien entsprechen.

Die zurückgegebenen Daten werden immer als zweidimensionales Array von Zeichenfolgen zurückgegeben. Binäre Daten werden als Hex-String-Darstellung zurückgegeben. Wenn für die angegebene Abfrage keine Zeilen zurückgegeben werden, gibt die Funktion ein leeres Array zurück.

Die globale Jitterbit-Variable $jitterbit.scripting.db.rows_affected wird von dieser Methode nicht festgelegt.

Die in diesem Funktionsaufruf verwendete Datenbank muss als Quelle oder Ziel des aktuellen Projekts definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Für erweiterte Abfragen, bei denen Sie direkt in globale Variablen abrufen möchten, verwenden Sie die Funktion DBExecute.

Beispiele

// Returns the result from running the SQL query
result = DBLookupAll("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE FROM PO_HEADER WHERE PO_NUMBER=1");

DBRollbackTransaction

Erklärung

void DBRollbackTransaction(string databaseId)

Syntax

DBRollbackTransaction(<databaseId>)

Erforderliche Parameter

  • databaseId: Eine Zeichenfolge Datenbankquelle im aktuellen Projekt

Beschreibung

Rollt die aktuelle Transaktion zurück und schließt die Datenbankverbindung.

Die in diesem Funktionsaufruf verwendete Datenbank muss als Quelle oder Ziel des aktuellen Projekts definiert sein. Siehe die Anweisungen zum Einfügen von Projektelementen.

Beispiele

// Rolls back the current transaction
DBRollbackTransaction("<TAG>Sources/myDBTarget</TAG>");

DBWrite

Erklärung

void DBWrite(string source, string target, int mode, string tablename, string columnNames[, string columnKeynames, int skipLines, string dateFormat, string datetimeFormat])

Syntax

DBWrite(<source>, <target>, <mode>, <tablename>, <columnNames>[, <columnKeynames>, <skipLines>, <dateFormat>, <datetimeFormat>])

Beschreibung

Ein Alias für die Funktion DBLoad. Sehen DBLoad für Details.

SetDBInsert

Erklärung

void SetDBInsert()

Syntax

SetDBInsert()

Beschreibung

Überschreibt die aktuelle Einstellung des Einfüge-/Aktualisierungsmodus auf „Einfügen“ für den aktuellen Datensatz. Der Rückgabewert ist null.

Beispiele

// Sets the insert/update mode to "insert"
// for the current record
SetDBInsert();

SetDBUpdate

Erklärung

void SetDBUpdate()

Syntax

SetDBUpdate()

Beschreibung

Überschreibt die aktuelle Einstellung des Einfüge-/Aktualisierungsmodus auf „Aktualisieren“ für den aktuellen Datensatz. Der Rückgabewert ist null.

Beispiele

// Sets the insert/update mode to "update"
// for the current record
SetDBUpdate();

SQLEscape

Erklärung

string SQLEscape(string unescapedSQL[, bool escapeBackslash])

Syntax

SQLEscape(<unescapedSQL>[, <escapeBackslash>])

Erforderliche Parameter

  • unescapedSQL: Eine SQL-Zeichenfolge, die maskiert werden soll

Optionale Parameter

  • escapeBackslash: Boolesche Flagge, die angibt, ob Backslashes ("\") sollte durch Verdoppelung maskiert werden; Standard ist false

Beschreibung

Führt die notwendige Maskierung von Literalzeichenfolgen aus, die in einer SQL-Anweisung verwendet werden.

Zeichenfolgen, die als Zeichenkonstanten in einer SQL-Anweisung verwendet werden, verwenden ein einfaches Anführungszeichen (') als Trennzeichen; wenn die eigentlichen Daten einfache Anführungszeichen enthalten, müssen diese durch zweimalige Angabe maskiert werden. Diese Methode maskiert einfache Anführungszeichen gemäß dem SQL-Standard, indem jedes einfache Anführungszeichen (') mit zwei einfachen Anführungszeichen (''). Wenn Backslash-Zeichen ebenfalls maskiert werden sollen, geben Sie den zweiten Parameter an und setzen Sie ihn auf true.

Beispiele

// In this example, the variable GUID needs to have
// any single quotes in it escaped (doubled); the
// resulting string is then enclosed in single quotes
// by the Quote function before being used in a
// DBLookup function:


DBLookup("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE FROM PO_HEADER WHERE PO_ID=" +
    Quote(SQLEscape(GUID)));

Unmap

Erklärung

void Unmap()

Syntax

Unmap()

Beschreibung

Für die Verwendung in Zuordnungen legt diese Funktion ein Datenbankzielfeld fest, das als nicht zugeordnet behandelt werden soll. Der Rückgabewert ist null.

Beispiele

valueToInsert = DBLookup(....);
// If valueToInsert returned by a DBLookup is null, we want to treat
// this field as unmapped and we do not want to include it in the INSERT statement
// that is being generated for the DB target for this record:
If (valueToInsert == Null(), Unmap(), valueToInsert);

<SEQUENCE>

Erklärung

<SEQUENCE>

Syntax

<SEQUENCE>

Beschreibung

Zur Verwendung in Zuordnungen mit Oracle Datenbanken wird diese Funktion verwendet, wenn das Ziel Tabellen enthält, die mit einer Primärschlüssel-/Fremdschlüsselbeziehung verknüpft sind. Ordnen Sie dies in diesem Fall den Primärschlüsseln zu, die von der Oracle-Datenbank generiert werden.

Für andere Datenbanken als Oracle verwenden Sie die Funktion <SQLIDENTITY> stattdessen.

Hinweis

In der Syntax für diese Funktion ist das Kleiner-als-Zeichen ("<") und größer als (">")-Symbole sind Teil der Funktionssyntax.

Beispiele

Wenn <trans> Tags vorhanden sind, <SEQUENCE> sollten außerhalb davon platziert werden, wie folgt:

<trans>
</trans>
<SEQUENCE>

<SQLIDENTITY>

Erklärung

<SQLIDENTITY>

Syntax

<SQLIDENTITY>

Beschreibung

Für die Verwendung in Zuordnungen mit Nicht-Oracle-Datenbanken wird diese Funktion verwendet, wenn das Ziel Tabellen enthält, die mit einer Primärschlüssel-/Fremdschlüsselbeziehung verknüpft sind. In diesem Fall ordnen Sie dies den Primärschlüsseln zu, die von der Datenbank generiert werden, z. B. Identity in SQL Server oder Serial in PostgreSQL. Für Oracle-Datenbanken verwenden Sie die Funktion <SEQUENCE> stattdessen.

Hinweis

In der Syntax für diese Funktion ist das Kleiner-als-Zeichen ("<") und größer als (">")-Symbole sind Teil der Funktionssyntax.

Beispiele

Wenn <trans> Tags vorhanden sind, <SQLIDENTITY> sollten außerhalb davon platziert werden, wie folgt:

<trans>
</trans>
<SQLIDENTITY>

<UDF>

Erklärung

<UDF>string userDefinedFunction

Syntax

<UDF><userDefinedFunction>

Erforderliche Parameter

  • userDefinedFunction: Eine Zeichenfolge, die einen benutzerdefinierten Funktionsaufruf definiert

Beschreibung

Fügt eine benutzerdefinierte Datenbankfunktion am Anfang einer Formel hinzu. Die <UDF> Präfix wird vor der Weitergabe aus dem Ausdruck entfernt. Beachten Sie, dass öffnende und schließende <trans> Tags können verwendet werden, um Teile des Funktionsaufrufs anzugeben, die von Jitterbit ausgewertet werden sollen, bevor der Ausdruck an eine Datenbank übergeben wird.

Hinweis

In der Syntax für diese Funktion ist das Kleiner-als-Zeichen ("<") und größer als (">") Symbole um <UDF> sind Teil der Funktionssyntax.

Beispiele

// The user-defined function geography::Point()
// is being called with parameters created by evaluating
// the Jitterbit Script enclosed by <trans> tags:

<UDF>geography::Point(<trans>json$Incidents$item.Latitude$ + ","
  + json$Incidents$item.Longitude$ + ",4326";</trans>)