Erstellen Sie eine JDBC-Aktivität

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 8 Minuten Lesedauer
  • Erstellen Sie eine anwenderdefinierte JDBC-Aktivität, um SQL-Befehle und gespeicherte Prozeduraufrufe für relationale Datenbanken aus dem Workflow zu automatisieren.

    Vorbereitungen

    Erforderliche Rolle: Activity_admin, activity_Creator

    Warum und wann dieser Vorgang ausgeführt wird

    Mit der JDBC-Aktivitätsvorlage können Sie ANSI-SQL-Anweisungen oder gespeicherte Verfahren in einer Zieldatenbank ausführen. Unterstützung für gespeicherte Verfahren mit IN-, OUT- und INOUT-Parametern ist in verfügbar Yokohama. Informationen zum Einrichten dieser Parameter finden Sie unter Gespeicherte JDBC-Prozedurparameter.
    Hinweis:
    Wenn Sie Massendaten in übertragen ServiceNowInstanz aus einer externen Datenquelle, verwenden Importsätze-Schlüsselkonzepte . Mit den JDBC-Aktivitäten können Sie Daten zwischen externen Datenquellen und übertragen ServiceNowInnerhalb eines Workflows. Es ist nicht vorgesehen, die Massenimport-Funktionen von Datenquellen zu ersetzen.

    Prozedur

    1. Erstellen oder verifizieren Sie JDBC-Anmeldeinformationen .
      Ihre JDBC-Anmeldeinformationen müssen über die Berechtigung für die Zieldatenbank und die richtige Konfiguration für die entsprechende JDBC-Verbindung verfügen. Anmeldeinformationen müssen eingerichtet werden, bevor Sie eine JDBC-Aktivität erstellen können.
    2. Erstellen oder verifizieren Sie JDBC-Verbindung .
      Ihre JDBC-Verbindung muss mit gültigen JDBC-Anmeldeinformationen konfiguriert werden, bevor Sie eine JDBC-Aktivität erstellen können.
    3. Erstellen Sie ein Anwenderdefinierte Aktivität .
      Mit dieser Aktion wird eine anwenderdefinierte Aktivität mithilfe einer Vorlage erstellt.
    4. Nach dem Einrichten Allgemeine Eigenschaften Und Eingabevariablen werden erstellt , Konfigurieren Sie den JDBC-Ausführungsbefehl.
      OptionBezeichnung
      JDBC-Verbindung Konfigurieren oder referenzieren Sie die entsprechende JDBC-Verbindung für die Datenbank. Die ausgewählte Verbindung stellt die Aktivität mit den folgenden Informationen bereit:
      • Informationen zur Zieldatenbank (Server- und Datenbanknamen)
      • Verbindungs-URL
      • Zieldatenbankport (falls abweichend von der Standardportnummer)
      • Name der Datenbankinstanz
      Anmeldeinformationen JDBC-Anmeldeinformationen, die für Ihre JDBC-Verbindung verwendet werden sollen.
      SQL-Anweisung Geben Sie die ANSI-SQL ein, die in der JDBC-Zieldatenbank ausgeführt werden soll.
      Hinweis:
      Dieses Feld ist ausgeblendet, wenn das Kontrollkästchen „gespeicherter Eingriff“ aktiviert ist.
      Sie können Ordnen Sie die Eingabevariablen zu Sie haben erstellt, um die SQL-Anweisungen zu konfigurieren. Standardmäßig können Sie die folgenden SQL-Anweisungen ausführen.
      • auswählen
      • einfügen
      • Aktualisieren
      • löschen
      • show
      • Erstellen
      • Beschreiben
      Für die hinzugefügte Sicherheitsmaßnahme steuert eine MID-Servereigenschaft die Vorgänge, die diese JDBCOrchestrationProbe ausführt, wodurch die verwendeten SQL-Befehle eingeschränkt werden. Diese Eigenschaft schützt vor potenziell destruktiven Befehlen, z. B. „Datenbank löschen“. mid.property.jdbc_operations enthält die Steuerungen der MID-Server-Eigenschaft.
      Hinweis:
      Sie können nicht mehrere Anweisungen verschiedener Typen ausführen. Beispielsweise können Sie eine SELECT-Anweisung und eine Update-Anweisung nicht zusammen ausführen, aber Sie können zwei INSERT-Anweisungen ausführen. Sie können jedoch in dieser Aktivität nicht mehrere SELECT-Anweisungen ausführen.
      Maximale Zeilen Maximale Anzahl von Datensätzen, die aus der Datenbank abgerufen werden sollen. Der Standardwert ist 1000.
      Maximale Nutzlastgröße (KB) Sie können einen Grenzwert für die maximale Nutzlastgröße von Daten festlegen, die aus der Datenbank abgerufen werden. Der Standardwert ist 64 Kilobyte.
      Verbindungszeitüberschreitung Wie lange die Aktivität wartet, bis die Verbindung hergestellt wird. Dieses Feld wird automatisch aus der Datenquelle ausgefüllt, kann jedoch für diese Aktivität geändert werden.
      Abfragezeitüberschreitung Verstrichene Wartezeit nach Ausführung der Abfrage, bis die Daten zurückgegeben werden. Dieses Feld wird automatisch aus der Datenquelle ausgefüllt, kann jedoch für diese Aktivität geändert werden.
      Erforderliche MID-Serverfähigkeiten MID-Server, der zum Abfragen von JDBC verwendet werden soll, nach Fähigkeiten. Standardmäßig wählt das System einen MID-Server aus, der über JDBC-Fähigkeit verfügt.
      Gespeichertes Verfahren verwenden Wenn diese Option aktiviert ist, können Sie eine gespeicherte Prozedur in MySQL-, Oracle- oder SQL Server-Datenbanken ausführen, indem Sie den Prozedurnamen und die Parameter eingeben. Weitere Informationen finden Sie unter Gespeicherte JDBC-Prozedurparameter.
      Hinweis:
      Sie können Parameterwerte in einer Testnutzlast Variablen in zuordnen Ausgaben Automatisch Registerkarte. Siehe Ausgabevariablen automatisch zuordnen .

    Nächste Maßnahme

    Erstellen Sie eine JDBC-Verbindung für OrchestrationAktivität

    Die Tabelle „JDBC-Verbindung“ [jdbc_connection] enthält die Informationen, die anwenderdefinierte JDBC-Orchestration-Aktivitäten zum Herstellen einer Verbindung mit verschiedenen Zieldatenbanken verwenden.

    Vorbereitungen

    Sie müssen über eine entsprechende JAR-Datei verfügen, unabhängig davon, ob sie mit der Instanz oder einer anwenderdefinierten JAR-Datei bereitgestellt wird.
    Hinweis:
    Die ServiceNowInstanzzubehör mysql-connector-java-5.1.21.jar , sql-server-jdbc-4.0.jar , Und ojdbc6.jar Dateien als Teil des aktuellen Release, das MySQL-, SQLServer- und Oracle-Datenbanken unterstützt. Andere Datenbanken, z. B. Sybase oder DB2 Universal, müssen eine anwenderdefinierte JAR-Datei verwenden, die in die Instanz hochgeladen werden muss, bevor die JDBC-Verbindung festgelegt wird.

    Erforderliche Rolle: Activity_admin, activity_Creator

    Warum und wann dieser Vorgang ausgeführt wird

    JDBC-Anmeldeinformationen JDBC-Anmeldeinformationen Werden separat von der Aktivitätendesigner-Vorlage abgerufen und unterstützen externen Anmeldeinformationsspeicher, z. B. CyberArk .

    Prozedur

    1. Navigieren zu Alle > Orchestration > Anmeldeinformationen und Verbindungen > JDBC-Verbindungen Und klicken Sie auf Neu .
    2. Füllen Sie das Formular mithilfe der Felder in der Tabelle aus.
      Die Datenbankauswahl in Format Feld bestimmt, welche Felder verfügbar sind.
      Tabelle : 1. JDBC-Verbindungsfelder
      Feld Datenbankformat Beschreibung
      Name Alle Eindeutiger Name dieser JDBC-Verbindung. Sie können beispielsweise eingeben JDBC MySQLProd .
      Abfragezeitüberschreitung Alle Maximal verstrichene Zeit, die die JDBC-Abfrage ohne Antwort ausgeführt werden darf.
      Verbindungszeitüberschreitung Alle Maximale verstrichene Zeit, die die JDBC-Aktivität beim Versuch, eine Verbindung zur Zieldatenbank herzustellen, wartet.
      Anwendung Alle Bereich für diese Tabelle. Standardmäßig wird die Tabelle „JDBC-Verbindung“ [jdbc_connection] in ausgeführt Global Umfang.
      Domäne Alle Domäne für diese Tabelle. Standardmäßig wird die Tabelle „JDBC-Verbindung“ [jdbc_connection] in ausgeführt Global Domäne.
      Format Alle Datenbanktyp für diese Verbindung. Die Standardauswahlen sind:
      • MySQL
      • Oracle
      • SQL-Server
      • Keine
      Sie können hinzufügen Sybase Oder DB2 Universal Zur Auswahlliste, indem die entsprechende JDBC-Treiber-JAR-Datei in die Instanz hochgeladen wird. Orchestration erkennt diese Treiber automatisch, wenn sie in das System geladen werden, und fügt sie dieser Liste hinzu.
      Server Oracle, MySQL, SQLServer Hostname oder IP-Adresse des Datenbankservers.
      Oracle-SID Oracle Der Bezeichner der Oracle-Datenbank-Site. Der Standardwert ist Orcl .
      Oracle-Anschluss Oracle Port, den die Oracle-Datenbank verwendet. Der Standardwert ist 1521 .
      Datenbankname Meine SQL, SQLServer Name der Datenbank.
      Datenbankanschluss MySQL, SQLServer Port, den die ausgewählte Datenbank verwendet.
      Instanzname SQL-Server Instanzname für den ausgewählten SQLServer
      Verbindungs-URL Alle URL, die der MID-Server zum Herstellen einer Verbindung mit der angegebenen Datenbank verwendet. Die URL wird automatisch erstellt, wenn Sie das Formular speichern, und ist für die Standarddatenbanken schreibgeschützt.
      Hinweis:
      Wenn das ausgewählte Format keine der Standarddatenbanken ist, müssen Sie die Verbindungs-URL manuell erstellen, damit der MID-Server weiß, wie die Verbindung erstellt wird.
      JDBC-Laufwerk Keine, DB2 Universal, Sybase Der für diese Verbindung zu verwendende JDBC-Treiber, wenn es sich nicht um eine Standarddatenbank handelt.
      Hinweis:
      Wenn Sie eine Sybase- oder DB2-Universal-Datenbank hinzufügen, müssen Sie den Treibernamen in dieses Feld eingeben und die Treiber-JAR-Datei in die Instanz hochladen.
      Abbildung : 1. JDBC-Verbindung mit Oracle-Beispiel
      JDBC-Verbindungsbeispiel
    3. Klicken Sie auf Absenden.

    JDBC-Aktivitätsausgabevariablen automatisch zuordnen

    Die ServiceNowMit dem Aktivitäts-Designer können Sie Parameterwerte in einer JDBC-Testnutzlast Variablen in zuordnen Ausgaben Automatisch Registerkarte.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Prozedur

    1. Wählen Sie im Formular „JDBC-Anbietervorlage“ aus Eingaben Registerkarte.
    2. Klicken Sie Auf Testaktivität Zum Testen der Eingabeparameter.
      Wenn Sie tatsächliche Werte für die Parameter und Felder hinzugefügt haben, führt das System diese Werte für das angegebene Ziel aus und gibt die resultierende Nutzlast zurück. Wenn Sie Eingabevariablen Feldern und Parametern zugeordnet haben, zeigt das System ein Dialogfeld zum Zuweisen von Testwerten zu diesen Variablen an.
    3. Geben Sie Testwerte an, falls angefordert, und klicken Sie auf OK Zum Anzeigen der Nutzlast.
      Die gesamte Nutzlast wird in angezeigt Rohausgabe Registerkarte des Antwortformulars.
      Steuerungen für automatische Zuordnung
    4. Wählen Sie eine dieser Optionen für die automatische Zuordnung aus.
      • Automatisch lokal zuordnen : Ordnet Werte direkt einer lokalen Variable zur Verwendung innerhalb der Aktivität zu.
      • Automatisch der Ausgabe zuordnen : Ordnet der Ausgabevariablen Werte direkt Werte zu, um sie an andere Aktivitäten im Workflow zu übergeben. Durch die automatische Zuordnung zu einer Ausgabevariable wird ein Array von Objekten erstellt, die jeweils die Spaltennamen aus dem Abfrageergebnis enthalten.

    Gespeicherte JDBC-Prozedurparameter

    Sie können Orchestration verwenden, um ein gespeichertes Verfahren in MySQL-, Oracle DB- und MS-SQL-Datenbanken auszuführen.

    Es werden mehrere Datentypen unterstützt, mit den folgenden Einschränkungen:
    • Es wird nur ein Ergebnissatz zurückgegeben.
    • Die Reihenfolge der Eingabe- und Ausgabedatentypen in den gespeicherten Prozedurparametern muss mit der Aktivitätsdefinition übereinstimmen.
    • Binary, Blob, Varbinary und LongBinary müssen base64-codiert sein.
    • Datum, Uhrzeit und Zeitstempel haben ein bestimmtes Format:
      Datumsformat: jjjj-mm-tt
      jjjj-mm-TT ist das unterstützte Format.
      Zeitformat: hh:mm:ss[.sss]
      hh:mm:ss[.sss] ist das unterstützte Format. Die Genauigkeit wird nur in Millisekunden angegeben, Mikrosekunden oder Nanosekunden können nicht verarbeitet werden.
      Hinweis:
      10:30:59 Und 10:30:59,999000 Sind richtig, aber 10:30:59. Ist falsch.
      Zeitstempelformat: jjjj-mm-tt hh:mm:ss[.ffffff]
      jjjj-mm-tt hh:mm:ss[.ffffff] ist das unterstützte Format. Die Genauigkeit beträgt Mikrosekunden.
    • ResultSet ist der erste Ergebnissatz, der vom Datenbankserver zurückgegeben wird.
    • Ms-SQL unterstützt keine INOUT-Parameter. Wenn Sie INOUT-Parameter verwenden, ordnet die Aktivitätsvorlage sie transparent den OUT-Parametern zu.
    Hinweis:
    Wenn Sie keine Validierung von Datentypen in gespeicherten Prozedurparametern durchführen möchten, z. B. das veraltete Verhalten, legen Sie „Glide.Stored_proc.Data_type.validation“ auf „falsch“ fest. Siehe MID-Servereigenschaften Für weitere Informationen.
    Tabelle : 2. Gespeicherte Prozedurparameter
    Feld Beschreibung
    Modus Typ des gespeicherten Eingriffsparameters. Unterstützte Parameter:
    • IN
    • AUS
    • EINGANG
    Sql-Typ Ein SQL-Datentyp. Unterstützte Datentypen:
    • ARRAY
    • BIGINT
    • BINÄR
    • BIT
    • BLOB
    • ZEICHEN
    • CLOB
    • DATUM
    • DEZIMALZAHL
    • EINDEUTIG
    • DOPPELT
    • FLOAT
    • INT
    • INTEGER
    • JAVA_OBJECT
    • LONGVARBINARY
    • LONGVARCHAR
    • NULL
    • NUMERIC
    • OTHER
    • ECHT
    • REFERENZ
    • REF_CURSOR
    • SMALLINT
    • STRUKTUR
    • TIME
    • TIMESTAMP
    • TINYINT
    • VARBINÄR
    • VARCHAR
    Name/Wert Name-Wert-Paare, die an den Host übergeben werden sollen. Sie können diese Parameter manuell erstellen oder Eingabevariablen per Drag-and-Drop in die Parameterfelder ziehen und einen Wert zuweisen.
    Hinweis:
    Nicht alle Datenbankanbieter unterstützen den gesamten Bereich von JDBC-Datentypen. Informationen zu den unterstützten Datentypen für Ihre Installation finden Sie im Referenzhandbuch Ihrer Datenbank.

    Testen Sie die Eingaben der JDBC-Aktivitätsvorlage

    Sie können die Eingabeparameter einer anwenderdefinierten JDBC-Aktivität während ihrer Entwicklung testen, ohne die Aktivität in einem Workflow-Kontext ausführen zu müssen.

    Vorbereitungen

    Erstellen Sie Eingabevariablen, und ordnen Sie sie Feldern im Formular „Ausführungsbefehl“ zu, oder geben Sie tatsächliche Werte für diese Felder an. Erforderliche Rolle: Web_Service_admin, activity_admin, activity_creator

    Warum und wann dieser Vorgang ausgeführt wird

    Dieser Test führt nur die Eingabeparameter für einen Endpunkt und nicht die vor- oder Nachverarbeitungsskripts aus. Es ist nicht erforderlich, die Aktivität auszuchecken, um sie zu testen.
    Hinweis:
    Wenn Sie genügend Informationen für die Orchestration bereitstellen, um den Endpunkt oder Host zu kontaktieren und Daten zurückzugeben, können Sie die Eingabevariablen testen. Sie können aus jeder Phase im Aktivitätendesigner testen. Normalerweise ist die Phase „Ausführungsbefehl“ der Punkt, an dem Ihre Eingaben zum Testen bereit sind.

    Prozedur

    1. Klicken Sie im JDBC-Ausführungsbefehl auf Testeingaben .
      Die Liste der Eingabequellvariablen wird angezeigt. Wenn Sie Standardwerte für diese Variablen hinzugefügt haben, werden diese Werte in angezeigt Ersatzwert Spalte. Obligatorische Variablen sind mit einem roten Stern markiert.
      Hinweis:
      Der Test schlägt fehl, wenn der MID-Server nicht gefunden werden kann oder wenn er keine Verbindung zum Ziel herstellen kann.
      Abbildung : 2. JDBC-Eingabetestwerte
      JDBC-Eingabetestwerte
    2. Filtern Sie die Variablenliste mit diesen Steuerungen:
      • Alle Eingaben : Zeigt alle Eingabevariablen an. Dieses Steuerelement ist die Standardansicht.
      • Obligatorische Eingaben : Zeigt nur obligatorische Variablen an.
      • Eingaben Ohne Standards : Zeigt Eingabevariablen an, denen keine Standardwerte zugewiesen sind.
    3. Setzen Sie die Werte nach Bedarf zurück.
      • Setzen Sie die Standardwerte zurück : Wenn Werte vorhanden sind, ersetzt dieses Steuerelement alle in diesem Formular festgelegten Testwerte durch die Standardwerte.
      • Werte löschen : Löscht alle Werte in der Eingabevariablen-Liste, auch wenn Standardwerte vorhanden sind.
    4. Wenn Ihre Testwerte korrekt konfiguriert sind, klicken Sie auf OK .
      Das System führt die Werte für alle Eingaben aus, die für das angegebene Ziel konfiguriert sind, und gibt die resultierende Nutzlast zurück. Die Schaltflächen im Antwortformular zeigen verschiedene Ansichten der Nutzlast an. Die gesamte Nutzlast wird in angezeigt Rohausgabe Fenster.
      Abbildung : 3. Antwortnutzlast aus Eingabetest
      Antwortnutzlast aus Eingabetest
    5. Dient zum Zuordnen geeigneter Parameterwerte in der Nutzlast zu Variablen in Ausgaben Phase automatisch, wählen Sie eine aus Option für automatische Zuordnung .
    6. Klicken Sie auf X In der oberen rechten Ecke des Fensters, um es zu schließen.