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 PasswortDRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\myfolder\mydatabase.accdb;Microsoft Access Driver (\*.mdb, \*.accdb) mit PasswortDRIVER={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:
- Microsoft Access 2016 Runtime (Win 7/8/10/2008 R2/2012)
- Microsoft Access 2016 Redistributable
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 2003Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}; DBQ=C:\Folder Path\My File Name.xls;Excel 2007, Excel 2010, Excel 2013Driver={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:AktualisierbarDriver={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:
-
Öffnen Sie das Tool Dienste (Administratoren) (Start > Verwaltung > Dienste).
-
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.
-
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.
-
Wiederholen Sie dies für den Dienst Jitterbit Process Engine.
-
Legen Sie
TempDirin der Agenten-Konfigurationsdatei (jitterbit.conf) aufC:\Windows\Temp\jitterbitfest.
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:
- SQL Server jTDS [JDBC]
- SQL Server MS JDBC [JDBC]
- Neuere Versionen des Microsoft JDBC Driver for SQL Server
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.dllaus dem Ordnerx64/SSOdes jTDS-Projekt- Download-Pakets in den OrdnerC:\Program Files\Jitterbit Agent\jre\binauf 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 OrdnerC:\Program Files\Jitterbit Agent\jre\binundC:\Program Files\Jitterbit Agent\jre\libauf 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=trueein. Wenn dies nicht funktioniert, geben SieTrusted_Connection=yesein. -
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=yesein.
-
-
SQL Server jTDS [JDBC]: Geben Sie
integratedSecurity=trueein. -
SQL Server MS JDBC [JDBC]: Geben Sie
integratedSecurity=true;trustServerCertificate=trueein.
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: