Zum Inhalt springen

Verbindung zu Microsoft mithilfe des Database-Connectors in Jitterbit Studio

Diese Seite erläutert, wie man sich mit diesen Microsoft-Diensten mithilfe des Database-Connectors verbindet:

Microsoft Access

Zur Verbindung mit Microsoft Access muss ein Private Agent ausgeführt werden. Microsoft Office muss auf demselben System installiert sein, auf dem der Private Agent ausgeführt wird, und dieses System muss ein Windows-Betriebssystem sein. Beachte, dass das Jitterbit-Team die Linux-ODBC-Treiber für Microsoft Access nicht getestet hat.

Installiere den ODBC-Treiber

Der Microsoft Access ODBC-Treiber wird normalerweise als Teil von Windows installiert. Ältere Treiber unterstützen die Dateiendung .mdb. Falls deine Datenbank jedoch Access 2007 oder später mit der Dateiendung .accdb ist, benötigst du möglicherweise eine neuere Version des ODBC-Treibers, wie beispielsweise Microsoft Access 2016 Redistributable.

Konfiguriere die Database-Verbindung

Nach der Installation des Treibers gibst du diese Eingaben während der Konfiguration der Database-Verbindung an:

  • Driver Type: Wähle ODBC.

  • Driver: Wähle den Microsoft Access-Treiber.

  • Use Connection String: Aktiviere dieses Kontrollkästchen unter Optional Settings.

  • Connection String: Gib unter Optional Settings die manuelle Verbindungszeichenfolge in diesem Format ein:

    DRIVER=<driver>;DBQ=<database-path>;UID=<username>;PWD=<password>;
    

    Verwende eine dieser Verbindungszeichenfolgen, je nach Version und ob du ein Passwort hast. Ersetze den Ordnerpfad und den Dateinamen durch die für die auf deinem Private Agent befindliche Datei relevanten Angaben.

    Microsoft Access Driver (\*.mdb) ohne Passwort
    DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\myfolder\mydatabase.accdb;
    
    Microsoft Access Driver (\*.mdb, \*.accdb) mit Passwort
    DRIVER={Microsoft Access Driver(*.mdb, *accdb)};DBQ=C:\myfolder\mydatabase.accdb;UID=username;PWD=password;
    

Konfiguriere Database-Aktivitäten

Bei der Konfiguration von Database-Aktivitäten ist zu beachten, dass der Microsoft Access ODBC-Treiber die Suche nach Objekten nicht unterstützt. Gebe keine Suchkriterien in das Suchfeld für die Tabellenauswahl ein, da keine Ergebnisse zurückgegeben werden.

WHERE-Clause-Beispiele

Diese WHERE-Clause-Beispiele dienen als Referenz bei der Konfiguration einer Database query activity:

WHERE [LastName]='Bagel'
WHERE field1 LIKE field2
WHERE City = "Chicago" OR BirthDate < DateAdd (" yyyy ", -40, Date())

Weitere Beispiele findest du in der Microsoft-Dokumentation:

Microsoft Excel

Zur Verbindung mit einem Microsoft Excel-Arbeitsblatt muss ein Private Agent verwendet werden.

Installiere den ODBC-Treiber

Für die Verbindung mit Excel-Arbeitsblättern muss möglicherweise ein Treiber installiert werden, wenn der entsprechende Treiber nicht bereits in der Betriebssystem des Private Agents enthalten ist.

Beispielsweise wird Windows 10 mit x32 .xls ODBC-Treibern bereitgestellt, die die Excel-Versionen 3.0, 4.0, 5.0/95 und 97-2000 unterstützen. Um jedoch die neueren ODBC-Treiber zu erhalten, die alle diese Versionen und Excel 12.0 (Excel 2007) unterstützen, kannst du einen dieser Treiber installieren:

Datenbankverbindung konfigurieren

Nach der Treiberinstallation werden diese Eingaben während der Konfiguration der Datenbankverbindung angegeben:

  • Treibertyp: Wählen Sie ODBC.

  • Treiber: Wählen Sie den Microsoft Excel-Treiber.

  • Verbindungszeichenfolge verwenden: Aktivieren Sie unter Optionale Einstellungen dieses Kontrollkästchen.

  • Verbindungszeichenfolge: Verwenden Sie unter Optionale Einstellungen eine dieser Verbindungszeichenfolgen, je nach Excel-Version. Ersetzen Sie den Ordnerpfad und den Dateinamen durch diejenigen der Datei auf dem privaten Agent.

    Excel 97, Excel 2000, Excel 2002, Excel 2003
    Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
    DBQ=C:\Folder Path\My File Name.xls;
    
    Excel 2007, Excel 2010, Excel 2013
    Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
    DBQ=C:\Folder Path\My File Name.xlsx;
    

    Um die Verbindung als aktualisierbar anzugeben (z. B. wenn Schreibvorgänge in eine Zieldatei erlaubt sein sollen), können Sie ReadOnly=0; an das Ende der Verbindungszeichenfolge hinzufügen. Beispiel:

    Aktualisierbar
    Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};
    DBQ=C:\Folder Path\My File Name.xlsx;ReadOnly=0;
    

    Tipp

    Weitere Optionen für Excel-Verbindungszeichenfolgen finden Sie unter Microsoft Excel 2007 ODBC Driver connection strings in der The Connection Strings Reference.

Datenbankaktivitäten konfigurieren

Während der Konfiguration der Datenbankaktivität können Sie Arbeitsblätter in der Excel-Tabelle auswählen und verbinden.

Hinweis

Wenn beim Ausführen des Vorgangs ein Fehler „[Microsoft][ODBC Excel Driver] Operation must use an updateable query" auftritt, ist die Excel-Datei möglicherweise schreibgeschützt. Die Excel-Datei kann durch Anhängen von ReadOnly=0; an die Verbindungszeichenfolge während der Konfiguration des Endpunkts wie oben beschrieben aktualisierbar gemacht werden.

Microsoft SQL Server

Microsoft SQL Server-Datenbanken sind für Cloud- und Private Agents zugänglich. Windows ODBC auf Private Agents wird zur optimierten Leistung empfohlen. Wenn zusätzliche Funktionen wie das Bereitstellen einer manuellen Abfrage gewünscht sind, stehen diese nur mit dem JDBC-Treiber zur Verfügung. Harmony unterstützt diese Authentifizierungsoptionen:

Treibertyp Betriebssystem Authentifizierungsmethoden Agent-Typ Weitere Anforderungen
ODBC Windows Windows-Authentifizierung oder SQL Server-Authentifizierung Nur privat
JDBC Windows Windows-Authentifizierung Nur privat
JDBC Windows/Linux SQL Server-Authentifizierung Cloud oder privat
JDBC Windows/Linux Microsoft Entra-Authentifizierung Cloud oder privat Agent 11.45 oder später
JDBC Windows/Linux Kerberos-Authentifizierung Nur privat

Hinweis

Informationen zur Konfiguration der Kerberos-Authentifizierung finden Sie unter SQL Server Kerberos-Authentifizierung.

Die folgenden Verfahren zeigen, wie man Microsoft SQL Server als Datenbankverbindung unter Verwendung von Windows- oder SQL Server-Authentifizierung konfiguriert. Sie enthalten auch Beispiele von WHERE-Klauseln, die mit Datenbankaktivitäten verwendet werden können.

Windows-Authentifizierung

Die Windows-Authentifizierung wird über ODBC und JDBC nur auf privaten Agenten unterstützt. Sie kann nur mit einem Domänenkonto verwendet werden. Um die Windows-Authentifizierung zu nutzen, richten Sie diese Eigenschaften unter Windows ein:

  1. Öffnen Sie das Tool Dienste (Administratoren) (Start > Verwaltung > Dienste).

  2. Wenn Sie ODBC verwenden, klicken Sie mit der rechten Maustaste auf den Dienst Jitterbit Apache Server und wählen Sie Eigenschaften. Wenn Sie JDBC verwenden, klicken Sie mit der rechten Maustaste auf den Dienst Jitterbit Tomcat Server und wählen Sie Eigenschaften.

  3. Gehen Sie zur Registerkarte Anmelden. Wählen Sie Dieses Konto und geben Sie den Namen und die Anmeldedaten des Kontos ein, das Sie für die Authentifizierung verwenden möchten. Klicken Sie dann auf Übernehmen.

  4. Wiederholen Sie dies für den Dienst Jitterbit Process Engine.

  5. Legen Sie TempDir in der Agenten-Konfigurationsdatei (jitterbit.conf) auf C:\Windows\Temp\jitterbit fest.

  6. Starten Sie die Jitterbit-Dienste neu.

Vorsicht

Stellen Sie sicher, dass Sie dem Domänenbenutzer die Berechtigung Anmelden als Dienst und Als Teil des Betriebssystems fungieren erteilt haben. Stellen Sie sicher, dass der Domänenbenutzer Lese- und Schreibberechtigungen für das Installationsverzeichnis des privaten Agenten hat.

Hinweis

Eine Alternative zu den Schritten 1 bis 4 oben besteht darin, dem auf dem privaten Agenten-Computer verwendeten Konto Berechtigungen für SQL Server zu erteilen. Der SQL Server-Administrator kann dies tun, indem er das Computerkonto des privaten Agenten in Windows Active Directory (<domainName>\<machineName>$) festlegt.

Nachdem diese Schritte abgeschlossen sind, gehen Sie zu Studio und richten Sie Ihre Datenbank wie gewohnt ein. Geben Sie diese Eingaben während der Konfiguration der Datenbankverbindung an:

  • Treibertyp: Wählen Sie ODBC oder JDBC nach Bedarf.

    Wichtig

    Die Windows-Authentifizierung wird mit den folgenden JDBC-Treibern unterstützt:

    Um die Windows-Authentifizierung mit einem JDBC-Treiber zu verwenden, kopieren Sie je nach ausgewähltem Treiber eine DLL-Datei auf den Agenten:

    • SQL Server jTDS: Kopieren Sie die Datei ntlmauth.dll aus dem Ordner x64/SSO des jTDS-Projekt- Download-Pakets in den Ordner C:\Program Files\Jitterbit Agent\jre\bin auf dem Agenten.

    • SQL Server MS JDBC oder ein neuerer Microsoft JDBC Driver for SQL Server: Kopieren Sie die Datei mssql-jdbc_auth-x.x.x.x64.dll, die im Download-Paket des Treibers enthalten ist, in beide Ordner C:\Program Files\Jitterbit Agent\jre\bin und C:\Program Files\Jitterbit Agent\jre\lib auf dem Agenten. Die DLL-Version muss der Version der im Agenten enthaltenen JDBC-JAR-Datei entsprechen. Erstellen Sie eine Sicherungskopie der Datei, da sie bei großen Agenten-Upgrades gelöscht werden kann.

  • Treiber: Wählen Sie den SQL Server-Treiber.

  • Servername: Geben Sie den Namen oder die IP-Adresse des Servers ein, auf dem der SQL Server ausgeführt wird, mit dem Harmony eine Verbindung herstellen muss. Möglicherweise müssen Sie den SQL Server-Instanznamen angeben (HostName\InstanceName).

  • Datenbankname: Geben Sie den Namen der Datenbank auf dem Server ein, mit der Harmony eine Verbindung herstellen muss.

  • Benutzername und Passwort: Lassen Sie diese Felder leer.

  • Zusätzliche Verbindungsstringparameter: Geben Sie unter Optionale Einstellungen je nach Treiber folgende Werte ein:

    • ODBC SQL Server: Wenn Sie den ODBC SQL Server-Treiber verwenden, geben Sie integratedSecurity=true ein. Wenn dies nicht funktioniert, geben Sie Trusted_Connection=yes ein.

    • ODBC Driver 11 for SQL Server, SQL Server Native Client 10.0, SQL Server Native Client 11.0: Wenn Sie einen anderen ODBC SQL Server-Treiber verwenden, geben Sie Trusted_Connection=yes ein.

  • SQL Server jTDS [JDBC]: Geben Sie integratedSecurity=true ein.

  • SQL Server MS JDBC [JDBC]: Geben Sie integratedSecurity=true;trustServerCertificate=true ein.

Der Treiber authentifiziert sich nun als der oben angegebene Windows-Domänenbenutzer.

SQL Server-Authentifizierung

Gehen Sie zu Studio und richten Sie Ihre Datenbank wie gewohnt ein. Geben Sie diese Einstellungen während der Konfiguration der Datenbankverbindung an:

  • Treibertyp: Wählen Sie je nach Bedarf ODBC oder JDBC aus.

  • Treiber: Wählen Sie den SQL Server-Treiber aus. Bei der Auswahl eines JDBC-Treibers empfehlen wir die Verwendung von SQL Server MS JDBC, dem JDBC-Treiber von Microsoft für SQL Server.

  • Servername: Geben Sie den Namen oder die IP-Adresse des Servers ein, auf dem der SQL Server ausgeführt wird, mit dem sich Harmony verbinden muss. Möglicherweise müssen Sie den SQL Server-Instanznamen angeben (HostName\InstanceName).

  • Datenbankname: Geben Sie den Namen der Datenbank auf dem Server ein, mit der sich Harmony verbinden muss.

  • Anmeldename und Passwort: Geben Sie den Benutzernamen und das Passwort für die SQL Server-Authentifizierung ein.

Der Treiber authentifiziert sich nun mit den angegebenen SQL Server-Authentifizierungsdaten.

Verbindungsverschlüsselung und Serverzertifikate

Aktuelle Versionen des SQL Server MS JDBC-Treibers fordern standardmäßig eine verschlüsselte Verbindung an (encrypt=true) und validieren das Zertifikat, das der Datenbankserver präsentiert. Wenn der Treiber das Serverzertifikat nicht gegen den Java-Keystore des Agenten validieren kann, schlägt die Verbindung mit einem Fehler fehl, der diesem ähnelt:

"encrypt" property is set to "true" and "trustServerCertificate" property is set to "false" but the driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption: Error: (certificate_unknown) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.

Dies betrifft alle SQL Server-Instanzen, deren Zertifikat nicht auf eine Zertifizierungsstelle (CA) zurückgeführt werden kann, der der Agent bereits vertraut, einschließlich selbstsignierter oder intern ausgestellter Zertifikate. Amazon RDS für SQL Server ist ein Beispiel: Eine RDS-Instanz präsentiert ein von einer Amazon RDS CA ausgestelltes Zertifikat, das sich nicht im Standard-Keystore des Agenten befindet. Eine Datenbank kann Verschlüsselung aktiviert haben und ein gültiges Zertifikat installiert haben und diese Validierung dennoch nicht bestehen, da das Problem ein Vertrauensproblem und kein Verschlüsselungsproblem ist.

Agent Version 12.8 aktualisierte den gebündelten Microsoft SQL Server JDBC-Treiber. Microsoft änderte den Standardwert von encrypt von false auf true in Treiberversion 10.2 und dokumentiert diese Änderung als Breaking Change, beschrieben unter encrypt in Set the connection properties in der Microsoft-Dokumentation. Eine Verbindung, die auf einem Agent älter als 12.8 funktionierte, kann nach dem Upgrade fehlschlagen.

Um dieses Problem zu beheben, geben Sie encrypt=false; im Feld Zusätzliche Verbindungsstringparameter unter Optionale Einstellungen der Datenbankverbindung ein, oder fügen Sie es in einen manuellen Verbindungsstring ein. Dies funktioniert auf Cloud- und Private Agents.

Warnung

Bei encrypt=false werden Daten zwischen Agent und Datenbank unverschlüsselt übertragen. Verwenden Sie diese Option nur, wenn dies für die betreffenden Daten und den Netzwerkpfad akzeptabel ist.

Ihr SQL Server-Setup erfordert möglicherweise auch andere Verbindungseigenschaften. Informationen zu den vom Treiber unterstützten Eigenschaften finden Sie unter Set the connection properties in der Microsoft-Dokumentation.

WHERE-Klausel-Beispiele

Diese WHERE-Klausel-Beispiele dienen als Referenz bei der Konfiguration einer Datenbankabfrage-Aktivität:

WHERE LastName = 'Smith' ;
WHERE LastName LIKE ('%Smi%');
WHERE EmployeeKey  <= 500;
WHERE EmployeeKey = 1 OR EmployeeKey = 8 OR EmployeeKey = 12;
WHERE EmployeeKey <= 500 AND LastName LIKE '%Smi%' AND FirstName LIKE '%A%';
WHERE LastName IN ('Smith', 'Godfrey', 'Johnson');
WHERE EmployeeKey Between 100 AND 200;

Weitere Beispiele finden sich in der Microsoft-Dokumentation: