Zum Inhalt springen

Dynamics 365 Finance and Operations Verbindungsdetails

Einführung

Connector-Version

Diese Dokumentation basiert auf Version 21.0.8662 des Connectors.

Wichtig

Wir empfehlen die Verwendung des Microsoft Dynamics 365 Connectors, um eine Verbindung mit Dynamics 365 Finance and Operations herzustellen, da es zusätzliche Konfigurationseigenschaften ermöglicht.

Erste Schritte

Versionsunterstützung für Dynamics 365 Finance and Operations

Der Connector unterstützt Lese-/Schreibzugriff auf Dynamics 365 Finance and Operations über OData Webdienste.

Herstellen einer OAuth-Verbindung

Herstellen einer Verbindung zu Dynamics 365 Finance and Operations

Authentifizieren mit dem Microsoft Entra-Dienstprinzipal

Azure Service Principal ist ein Verbindungstyp, der über OAuth läuft. Legen Sie Ihre AuthScheme Zu AzureServicePrincipal und siehe Verwenden der Microsoft Entra-Dienstprinzipalauthentifizierung für eine Anleitung zur Authentifizierung.

OAuth-Authentifizierung verwenden

OAuth erfordert, dass der authentifizierende Benutzer über den Browser mit Dynamics 365 Finance and Operations interagiert. Der Connector erleichtert dies auf verschiedene Weise, wie unten beschrieben.

Eingebettete Anmeldeinformationen

Siehe Eingebettete Anmeldeinformationen, um eine Verbindung mit den eingebetteten Anmeldeinformationen des Connectors herzustellen und das Erstellen einer benutzerdefinierten OAuth-App zu überspringen.

Benutzerdefinierte Anmeldeinformationen

Anstatt die Verbindung mit den eingebetteten Anmeldeinformationen des Connectors herzustellen, können Sie eine App mit Benutzerdefinierten Anmeldeinformationen registrieren, um die zu erhalten OAuthClientId Und OAuthClientSecret.

Wann sollte eine benutzerdefinierte OAuth-App erstellt werden?

Das Erstellen einer benutzerdefinierten OAuth-App ist optional, da der Connector bereits bei Dynamics 365 Finance and Operations registriert ist und Sie sich mit seinen eingebetteten Anmeldeinformationen verbinden können. Möglicherweise möchten Sie eine benutzerdefinierte OAuth-App erstellen, um die angezeigten Informationen zu ändern, wenn sich Benutzer beim OAuth-Endpoint von Dynamics 365 Finance and Operations anmelden, um dem Connector Berechtigungen zu erteilen.

Erstellen einer benutzerdefinierten OAuth-App

Siehe Erstellen einer benutzerdefinierten OAuth-App für ein Verfahren.

Eingebettete Anmeldeinformationen

Authentifizieren Sie sich mit den eingebetteten OAuth-Anmeldeinformationen
Desktop-Authentifizierung mit der eingebetteten OAuth-App

Sie können eine Verbindung herstellen, ohne Verbindungseigenschaften für Ihre Benutzeranmeldeinformationen festzulegen.

Wenn Sie eine Verbindung herstellen, öffnet der Connector den OAuth-Endpoint in Ihrem Standardbrowser. Melden Sie sich an und erteilen Sie der Anwendung Berechtigungen. Anschließend schließt der Connector den OAuth-Prozess ab.

  1. Extrahiert das Zugriffstoken aus der Rückruf URL und authentifiziert Anfragen.
  2. Erhält einen neuen Zugriffstoken, wenn der alte abläuft.
  3. Speichert OAuth-Werte in OAuthSettingsLocation soll über Verbindungen hinweg bestehen bleiben.

Benutzerdefinierte Anmeldeinformationen

Es stehen zwei Arten der App-Authentifizierung zur Verfügung: die Verwendung eines Client-Geheimnisses und die Verwendung eines Zertifikats. Sie können je nach konfigurierter App-Authentifizierung eine der beiden Arten verwenden.

Desktop-Authentifizierung mit Ihrer OAuth-App

Befolgen Sie die nachstehenden Schritte, um sich mit den Anmeldeinformationen für eine benutzerdefinierte OAuth-App zu authentifizieren. Siehe Erstellen einer benutzerdefinierten OAuth-App.

Holen Sie sich ein OAuth-Zugriffstoken

Sie können eine Verbindung herstellen, nachdem Sie je nach Authentifizierungstyp eine der folgenden Verbindungseigenschaftengruppen festgelegt haben.

  1. Authenticating using a Client Secret
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die Client-ID fest.
    • OAuthClientSecret: Legen Sie dies in Ihren App-Einstellungen auf das Client-Geheimnis fest.
    • CallbackURL: Legen Sie dies in Ihren App-Einstellungen auf die Umleitungs URL fest.
    • AuthScheme: Stellen Sie dies in Ihren App-Einstellungen auf „AzureAD“ ein.
    • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH. Sie können InitiateOAuth verwenden, um die Wiederholung des OAuth-Austauschs und das manuelle Setzen von zu vermeiden OAuthAccessToken..
  2. Authenticating using a Certificate
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die Client-ID fest.
    • OAuthJWTCert: Stellen Sie dies auf den JWT-Zertifikatspeicher ein.
    • OAuthJWTCertType: Setzen Sie dies auf den Typ des Zertifikatspeichers, der durch angegeben ist OAuthJWTCert.
    • CallbackURL: Legen Sie dies in Ihren App-Einstellungen auf die Umleitungs URL fest.
    • AuthScheme: Stellen Sie dies in Ihren App-Einstellungen auf „AzureAD“ ein.
    • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH. Sie können InitiateOAuth verwenden, um die Wiederholung des OAuth-Austauschs und das manuelle Setzen von zu vermeiden OAuthAccessToken..

Wenn Sie eine Verbindung herstellen, öffnet der Connector den OAuth-Endpoint in Ihrem Standardbrowser. Melden Sie sich an und erteilen Sie der Anwendung Berechtigungen. Der Connector schließt dann den OAuth-Prozess ab:

  1. Extrahiert das Zugriffstoken aus der Rückruf URL und authentifiziert Anfragen.
  2. Erhält einen neuen Zugriffstoken, wenn der alte abläuft.
  3. Speichert OAuth-Werte in OAuthSettingsLocation soll über mehrere Verbindungen hinweg bestehen bleiben.

Kopflose Maschinen

Verwenden von OAuth auf einer Headless-Maschine

Um Dynamics 365 Finance and Operations Datenquellen auf Headless-Servern oder anderen Computern zu erstellen, auf denen der Connector keinen Browser öffnen kann, müssen Sie sich von einem anderen Computer aus authentifizieren. Die Authentifizierung erfolgt in zwei Schritten.

  1. Anstatt den Connector auf einem anderen Computer zu installieren, können Sie die folgenden Schritte ausführen, um den OAuthVerifier-Wert. Oder Sie können den Connector auf einem anderen Computer installieren und die OAuth-Authentifizierungswerte übertragen, nachdem Sie sich über den üblichen browserbasierten Ablauf authentifiziert haben.
  2. Anschließend können Sie den Connector so konfigurieren, dass das Zugriffstoken vom Headless-Computer automatisch aktualisiert wird.

Sie können dem Headless-OAuth-Authentifizierungsablauf mit den eingebetteten OAuth-Anmeldeinformationen des Connectors oder mit den OAuth-Anmeldeinformationen für Ihre benutzerdefinierte OAuth-App folgen.

Verwenden der Anmeldeinformationen für eine benutzerdefinierte OAuth-App

Erstellen einer benutzerdefinierten OAuth-App

Siehe Erstellen einer benutzerdefinierten OAuth-App für ein Verfahren. Sie können dann die folgenden Verfahren befolgen, um sich zu authentifizieren und eine Verbindung zu Daten herzustellen.

Besorgen Sie sich einen Prüfcode

Legen Sie auf der Headless-Maschine je nach Authentifizierungstyp eine der folgenden Eigenschaftengruppen fest:

  1. Authenticating using a Client Secret
    • InitiateOAuth: Stellen Sie dies auf AUS.
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die App-ID fest.
    • OAuthClientSecret: Legen Sie dies in Ihren App-Einstellungen auf das App-Geheimnis fest.
  2. Authenticating using a Certificate
    • InitiateOAuth: Stellen Sie dies auf AUS.
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die App-ID fest.
    • OAuthJWTCert: Stellen Sie dies auf den JWT-Zertifikatspeicher ein.
    • OAuthJWTCertType: Setzen Sie dies auf den Typ des Zertifikatspeichers, der durch angegeben ist OAuthJWTCert.

Sie können dann die folgenden Schritte ausführen, um sich von einem anderen Computer aus zu authentifizieren und die OAuthVerifier Verbindungseigenschaft.

  1. Rufen Sie die GetOAuthAuthorizationUrl gespeicherte Prozedur mit dem CallbackURL-Eingabeparameter, der auf die genaue Umleitungs-URI eingestellt ist, die Sie in Ihren App-Einstellungen angegeben haben.
  2. Öffnen Sie die zurückgegebene URL in einem Browser. Melden Sie sich an und erteilen Sie dem Connector Berechtigungen. Sie werden dann zur Rückruf-URL weitergeleitet. Auf der Webseite wird angegeben, dass die Site nicht erreicht werden konnte.
  3. Überprüfen Sie die URL dieser Site-Seite und suchen Sie nach code Wert. Er wird in der URL in der Form Code=XXXXXX vorhanden sein (abgeschlossen mit &, das den nächsten URL Parameter kennzeichnet). Der Wert nach dem „Code=“ ist der Prüfcode.
  4. Speichern Sie den Wert des Prüfcodes. Sie setzen diesen in OAuthVerifier Verbindungseigenschaft.

Legen Sie auf der Headless-Maschine je nach Authentifizierungstyp eine der folgenden Verbindungseigenschaftengruppen fest, um die OAuth-Authentifizierungswerte zu erhalten:

  • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf den Consumer-Schlüssel fest.
  • OAuthClientSecret: Legen Sie dies in Ihren App-Einstellungen auf das Verbrauchergeheimnis fest.
  • OAuthVerifier: Setzen Sie dies auf den Prüfcode.
  • OAuthSettingsLocation: Legen Sie dies fest, um die verschlüsselten OAuth-Authentifizierungswerte in der angegebenen Datei zu speichern.
  • InitiateOAuth: Setzen Sie dies auf REFRESH.

Mit Daten verbinden

Nachdem die OAuth-Einstellungsdatei generiert wurde, legen Sie die folgenden Eigenschaften fest, um eine Verbindung mit Daten herzustellen:

  • OAuthSettingsLocation: Legen Sie dies auf die Datei fest, die die verschlüsselten OAuth-Authentifizierungswerte enthält. Stellen Sie sicher, dass diese Datei dem Anbieter Lese- und Schreibberechtigungen erteilt, um die automatische Aktualisierung des Zugriffstokens zu ermöglichen.
  • InitiateOAuth: Stellen Sie dies auf REFRESH ein.

OAuth-Einstellungen übertragen

Befolgen Sie die nachstehenden Schritte, um den Connector auf einem anderen Computer zu installieren, zu authentifizieren und dann die resultierenden OAuth-Werte zu übertragen.

Installieren Sie den Connector auf einem zweiten Computer und stellen Sie je nach Authentifizierungstyp eine Verbindung mit einer der folgenden Eigenschaftengruppen her:

  1. Authenticating using a Client Secret
    • OAuthSettingsLocation: Legen Sie dies auf eine beschreibbare Textdatei fest.
    • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH.
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die Client-ID fest.
    • OAuthClientSecret: Legen Sie dies in Ihren App-Einstellungen auf das Client-Geheimnis fest.
    • CallbackURL: Legen Sie dies in Ihren App-Einstellungen auf die Rückruf URL fest.
  2. Authenticating using a Certificate
    • OAuthSettingsLocation: Legen Sie dies auf eine beschreibbare Textdatei fest.
    • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH.
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die Client-ID fest.
    • OAuthJWTCert: Stellen Sie dies auf den JWT-Zertifikatspeicher ein.
    • OAuthJWTCertType: Setzen Sie dies auf den Typ des Zertifikatspeichers, der durch angegeben ist OAuthJWTCert.
    • CallbackURL: Legen Sie dies in Ihren App-Einstellungen auf die Rückruf URL fest.

Testen Sie die Verbindung zur Authentifizierung. Die resultierenden Authentifizierungswerte werden verschlüsselt in den durch angegebenen Pfad geschrieben OAuthSettingsLocation. Nachdem Sie die Verbindung erfolgreich getestet haben, kopieren Sie die OAuth-Einstellungsdatei auf Ihren Headless-Rechner. Legen Sie auf dem Headless-Rechner die folgenden Verbindungseigenschaften fest, um eine Verbindung zu Daten herzustellen:

  • InitiateOAuth: Stellen Sie dies auf REFRESH ein.
  • OAuthSettingsLocation: Legen Sie hier den Pfad zu Ihrer OAuth-Einstellungsdatei fest. Stellen Sie sicher, dass diese Datei dem Connector Lese- und Schreibberechtigungen erteilt, um die automatische Aktualisierung des Zugriffstokens zu ermöglichen.

Erstellen einer benutzerdefinierten OAuth-App

Wann sollte eine benutzerdefinierte OAuth-App erstellt werden?

Das Erstellen einer benutzerdefinierten OAuth-App ist optional, da der Connector bereits bei Dynamics 365 Finance and Operations registriert ist und Sie mit seinen eingebetteten Anmeldeinformationen eine Verbindung herstellen können.

Möglicherweise möchten Sie eine benutzerdefinierte OAuth-App erstellen, um die angezeigten Informationen zu ändern, wenn sich Benutzer beim OAuth-Endpoint von Dynamics 365 Finance and Operations anmelden, um dem Connector Berechtigungen zu erteilen.

Befolgen Sie die nachstehenden Schritte, um eine benutzerdefinierte OAuth-App zu erstellen und die Verbindungseigenschaften in einem bestimmten OAuth-Authentifizierungsfluss abzurufen.

Schritte zum Erstellen einer benutzerdefinierten OAuth-App

Befolgen Sie die nachstehenden Schritte, um die OAuth-Werte für Ihre App abzurufen. OAuthClientId Und OAuthClientSecret.

  1. Melden Sie sich an bei https://portal.azure.com.

  2. Wählen Sie im linken Navigationsbereich „Microsoft Entra ID“ und dann „App-Registrierungen“ aus und klicken Sie auf die Schaltfläche „Neue Registrierung“.

  3. Geben Sie einen App-Namen ein und aktivieren Sie das Optionsfeld für die gewünschte Mandantenkonfiguration.

    Wenn Sie eine benutzerdefinierte OAuth-Anwendung in Microsoft Entra ID erstellen, können Sie festlegen, ob die Anwendung Single- oder Multi-Tenant ist. Wenn Sie die Standardoption „Nur Konten in diesem Organisationsverzeichnis“ auswählen, müssen Sie die AzureTenant Verbindungseigenschaft zur ID des Microsoft Entra ID Mandanten, wenn eine Verbindung mit dem Dynamics 365 Finance and Operations Connector hergestellt wird. Andernfalls schlägt der Authentifizierungsversuch mit einem Fehler fehl. Wenn Ihre App nur für den privaten Gebrauch bestimmt ist, sollte „Nur Konten in diesem Organisationsverzeichnis“ ausreichen. Wenn Sie Ihre App verteilen möchten, wählen Sie andernfalls eine der Optionen für mehrere Mandanten.

  4. Legen Sie dann die Weiterleitungs URL fest, z. B. http://localhost:33333, der Standard des Connectors. Oder legen Sie einen anderen Port Ihrer Wahl fest und setzen Sie CallbackURL an die genaue Antwort-URL, die Sie definiert haben.

  5. Definieren Sie den App-Authentifizierungstyp, indem Sie zum Abschnitt „Zertifikate und Geheimnisse“ gehen. Es stehen zwei Arten der Authentifizierung zur Verfügung: die Verwendung eines Client-Geheimnisses und die Verwendung eines Zertifikats. Die empfohlene Authentifizierungsmethode ist die Verwendung eines Zertifikats, Sie können jedoch auch ein Anwendungsgeheimnis erstellen.

    • Option 1 - Upload a certificate: Wählen Sie im Abschnitt „Zertifikate und Geheimnisse“ die Option „Zertifikat hochladen“ und wählen Sie das Zertifikat aus, das von Ihrem lokalen Computer hochgeladen werden soll.
    • Option 2 - Create a new application secret: Wählen Sie im Abschnitt „Zertifikate und Geheimnisse“ „Neues Client-Geheimnis“ für die App und legen Sie deren Dauer fest. Nach dem Speichern des Client-Geheimnisses wird der Schlüsselwert angezeigt. Kopieren Sie diesen Wert, da er nur einmal angezeigt wird und als verwendet wird OAuthClientSecret.
  6. Wählen Sie API Berechtigungen und klicken Sie dann auf Hinzufügen. Wenn Sie planen, dass Ihre App ohne Benutzerkontext eine Verbindung herstellt, wählen Sie die Anwendungsberechtigungen (OAuthGrantType = CLIENT). Andernfalls verwenden Sie beim Auswählen der Berechtigungen die delegierten Berechtigungen.

  7. Wählen Sie Erforderliche Berechtigungen aus und klicken Sie dann auf Hinzufügen. Wählen Sie unter API auswählen die Option Dynamics ERP -> Delegierte Berechtigungen für OAuthGrantType = CODE (Standard). Bei Verwendung von OAuthGrantType = CLIENT, wählen Sie aus den Anwendungsberechtigungen.

  8. Speichern Sie Ihre Änderungen.

  9. Wenn Sie Berechtigungen ausgewählt haben, die eine Administratorzustimmung erfordern (z. B. Anwendungsberechtigungen), können Sie diese vom aktuellen Mandanten aus auf der Seite „API Berechtigungen“ erteilen. Andernfalls befolgen Sie die Schritte unter Administratorzustimmung.

Zustimmung des Administrators

Administratorzustimmung bezieht sich darauf, wenn der Administrator für einen Microsoft Entra ID Mandanten Berechtigungen für eine Anwendung erteilt, für die die Zustimmung eines Administrators zum Anwendungsfall erforderlich ist. Die eingebettete App im Dynamics 365 Finance and Operations Connector enthält keine Berechtigungen, für die die Administratorzustimmung erforderlich ist. Daher gelten diese Informationen nur für benutzerdefinierte Anwendungen.

Wenn Sie im Azure-Portal eine neue OAuth-App erstellen, müssen Sie angeben, welche Berechtigungen die App benötigt. Einige Berechtigungen können mit der Angabe „Administratorzustimmung erforderlich“ gekennzeichnet sein. Beispielsweise erfordern alle Gruppenberechtigungen die Administratorzustimmung. Wenn Ihre App die Administratorzustimmung erfordert, gibt es mehrere Möglichkeiten, dies zu tun.

Die einfachste Möglichkeit, die Administratorzustimmung zu erteilen, besteht darin, dass sich ein Administrator einfach bei portal.azure.com anmeldet und zu der App navigiert, die Sie in App-Registrierungen erstellt haben. Unter „API -Berechtigungen“ befindet sich eine Schaltfläche zum Erteilen der Zustimmung. Sie können hier zustimmen, dass Ihre App Berechtigungen für den Mandanten erhält, unter dem sie erstellt wurde.

Wenn Ihre Organisation über mehrere Mandanten verfügt oder der App Berechtigungen für andere Mandanten außerhalb Ihrer Organisation erteilt werden müssen, wird die GetAdminConsentURL kann zum Generieren der Admin-Autorisierungs URL verwendet werden. Im Gegensatz zu GetOAuthAuthorizationUrl, werden von diesem Endpoint keine wichtigen Informationen zurückgegeben. Wenn der Administrator Zugriff gewährt, wird lediglich ein Boolean-Wert zurückgegeben, der angibt, dass Berechtigungen erteilt wurden.

Sobald ein Administrator seine Zustimmung erteilt, kann die Authentifizierung wie gewohnt durchgeführt werden.

Client-Anmeldeinformationen

Client-Anmeldeinformationen beziehen sich auf einen Ablauf in OAuth, bei dem keine direkte Benutzerauthentifizierung stattfindet. Stattdessen werden Anmeldeinformationen nur für die App selbst erstellt. Alle von der App ausgeführten Aufgaben werden ohne einen Standardbenutzerkontext ausgeführt. Dadurch unterscheidet sich der Authentifizierungsablauf etwas vom Standard.

Client-OAuth-Flow

Für alle Berechtigungen im Zusammenhang mit dem Client-OAuth-Flow ist die Zustimmung des Administrators erforderlich. Dies bedeutet, dass die mit dem Dynamics 365 Finance and Operations Connector eingebettete App nicht im Client-OAuth-Flow verwendet werden kann. Sie müssen Ihre eigene OAuth-App erstellen, um Client-Anmeldeinformationen verwenden zu können. Siehe Erstellen einer benutzerdefinierten OAuth-App für weitere Einzelheiten.

Navigieren Sie in Ihrer App-Registrierung in portal.azure.com zu API -Berechtigungen und wählen Sie die Microsoft Graph-Berechtigungen aus. Es gibt zwei verschiedene Berechtigungssätze: Delegierte und Anwendungsberechtigungen. Die während der Clientanmeldeauthentifizierung verwendeten Berechtigungen finden Sie unter Anwendungsberechtigungen. Wählen Sie die entsprechenden Berechtigungen aus, die Sie für Ihre Integration benötigen.

Sie können eine Verbindung herstellen, nachdem Sie je nach Authentifizierungstyp eine der folgenden Verbindungseigenschaftengruppen festgelegt haben.

  1. Authenticating using a Client Secret
    • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH. Sie können InitiateOAuth verwenden, um die Wiederholung des OAuth-Austauschs und das manuelle Setzen von zu vermeiden OAuthAccessToken.
    • AzureTenant: Stellen Sie dies auf den Mandanten ein, mit dem Sie sich verbinden möchten.
    • OAuthGrantType: Setzen Sie dies auf CLIENT.
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die Client-ID fest.
    • OAuthClientSecret: Legen Sie dies in Ihren App-Einstellungen auf das Client-Geheimnis fest.
  2. Authenticating using a Certificate
    • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH. Sie können InitiateOAuth verwenden, um die Wiederholung des OAuth-Austauschs und das manuelle Setzen von zu vermeiden OAuthAccessToken.
    • AzureTenant: Stellen Sie dies auf den Mandanten ein, mit dem Sie sich verbinden möchten.
    • OAuthGrantType: Setzen Sie dies auf CLIENT.
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die Client-ID fest.
    • OAuthJWTCert: Stellen Sie dies auf den JWT-Zertifikatspeicher ein.
    • OAuthJWTCertType: Setzen Sie dies auf den Typ des Zertifikatspeichers, der durch angegeben ist OAuthJWTCert.

Die Authentifizierung mit Client-Anmeldeinformationen erfolgt automatisch wie bei jeder anderen Verbindung, außer dass kein Fenster mit einer Benutzeraufforderung geöffnet wird. Da kein Benutzerkontext vorhanden ist, ist kein Browser-Popup erforderlich. Verbindungen werden hergestellt und intern abgewickelt.

Verwenden der Microsoft Entra-Dienstprinzipalauthentifizierung

Die Authentifizierung als Microsoft Entra-Dienstprinzipal wird über den OAuth-Client-Anmeldeinformationsfluss abgewickelt und beinhaltet keine direkte Benutzerauthentifizierung. Stattdessen werden Anmeldeinformationen nur für die App selbst erstellt. Alle von der App ausgeführten Aufgaben werden ohne Standardbenutzerkontext, sondern basierend auf den zugewiesenen Rollen ausgeführt. Der Anwendungszugriff auf die Ressourcen wird über die Berechtigungen der zugewiesenen Rollen gesteuert.

Benutzerdefinierte Anmeldeinformationen

Sie müssen eine OAuth-App registrieren, um die OAuth-Eigenschaftswerte abzurufen, bevor Sie eine Verbindung mit der Dynamics 365 Finance and Operations Datenquelle herstellen. Sie können die Benutzerdefinierten Anmeldeinformationen Anleitung zum Festlegen der OAuth-Eigenschaften.

Erstellen einer benutzerdefinierten OAuth-App

Siehe Erstellen einer benutzerdefinierten OAuth-App für ein Verfahren.

Erstellen einer benutzerdefinierten OAuth-App

Bei der Authentifizierung mit einem Microsoft Entra-Dienstprinzipal ist das Erstellen einer benutzerdefinierten OAuth-App und eines Dienstprinzipals erforderlich, das auf die erforderlichen Ressourcen zugreifen kann.

Befolgen Sie die nachstehenden Schritte, um eine benutzerdefinierte OAuth-App zu erstellen und die Verbindungseigenschaften für die Microsoft Entra-Dienstprinzipal-Authentifizierung abzurufen.

Schritte zum Erstellen einer benutzerdefinierten OAuth-App

Befolgen Sie die nachstehenden Schritte, um die OAuth-Werte für Ihre App abzurufen.

  1. Melden Sie sich an bei https://portal.azure.com.
  2. Wählen Sie im linken Navigationsbereich „Microsoft Entra ID“ und dann „App-Registrierungen“ aus und klicken Sie auf die Schaltfläche „Neue Registrierung“.
  3. Geben Sie einen App-Namen ein und aktivieren Sie das Optionsfeld für „Any Entra ID Directory - Multi Tenant“. Legen Sie dann die Weiterleitungs URL auf etwas wie http://localhost:33333, die Standardeinstellung des Connectors.
  4. Kopieren Sie den Anwendungs-ID-Wert (Client-ID), der nach dem Erstellen der App im Abschnitt „Übersicht“ angezeigt wird, da dieser Wert als verwendet wird OAuthClientId
  5. Definieren Sie den App-Authentifizierungstyp, indem Sie zum Abschnitt „Zertifikate und Geheimnisse“ gehen. Es stehen zwei Arten der Authentifizierung zur Verfügung: die Verwendung eines Client-Geheimnisses und die Verwendung eines Zertifikats. Die empfohlene Authentifizierungsmethode ist über ein Zertifikat, Sie können jedoch auch ein Anwendungsgeheimnis erstellen.
    • Option 1 - Upload a certificate: Wählen Sie im Abschnitt „Zertifikate und Geheimnisse“ die Option „Zertifikat hochladen“ und wählen Sie das Zertifikat aus, das von Ihrem lokalen Computer hochgeladen werden soll.
    • Option 2 - Create a new application secret: Wählen Sie im Abschnitt „Zertifikate und Geheimnisse“ „Neues Client-Geheimnis“ für die App und legen Sie deren Dauer fest. Nach dem Speichern des Client-Geheimnisses wird der Schlüsselwert angezeigt. Kopieren Sie diesen Wert, da er nur einmal angezeigt wird und als verwendet wird OAuthClientSecret.
  6. Aktivieren Sie auf der Tab „Authentifizierung“ unbedingt die Option „Zugriffstoken (für implizite Flows verwendet)“.
  7. Öffnen Sie die Seite „Abonnements“, indem Sie in der Suchleiste nach dem Abonnementdienst suchen und ihn auswählen.
  8. Wählen Sie das jeweilige Abonnement aus, dem Sie die Anwendung zuweisen möchten, öffnen Sie dann den Abschnitt „Zugriffskontrolle (IAM)“ und klicken Sie auf die Schaltfläche „Rolle hinzufügen“.
  9. Wählen Sie „Besitzer“ als Rolle aus, die Sie Ihrer erstellten OAuth-App zuweisen möchten.

Benutzerdefinierte Anmeldeinformationen

Befolgen Sie die nachstehenden Schritte, um sich mit den Anmeldeinformationen für eine benutzerdefinierte OAuth-App zu authentifizieren. Siehe Erstellen einer benutzerdefinierten OAuth-App.

Authentifizierung mit Ihrer OAuth-App

Derzeit wird zur Authentifizierung nur die Verwendung eines Client-Geheimnisses unterstützt.

Holen Sie sich ein OAuth-Zugriffstoken

Nachdem Sie die folgenden Verbindungseigenschaften festgelegt haben, können Sie eine Verbindung herstellen:

  • Authenticating using a Client Secret
    • AuthScheme: Legen Sie dies in Ihren App-Einstellungen auf „AzureServicePrincipal“ fest.
    • InitiateOAuth: Setzen Sie dies auf GETANDREFRESH. Sie können InitiateOAuth verwenden, um die Wiederholung des OAuth-Austauschs und das manuelle Setzen von zu vermeiden OAuthAccessToken.
    • AzureTenant: Stellen Sie dies auf den Mandanten ein, mit dem Sie sich verbinden möchten.
    • OAuthClientId: Legen Sie dies in Ihren App-Einstellungen auf die Client-ID fest.
    • OAuthClientSecret: Legen Sie dies in Ihren App-Einstellungen auf das Client-Geheimnis fest.

Wichtige Hinweise

Konfigurationsdateien und ihre Pfade

  • Alle Verweise auf das Hinzufügen von Konfigurationsdateien und deren Pfaden beziehen sich auf Dateien und Speicherorte auf dem Jitterbit-Agenten, auf dem der Connector installiert ist. Diese Pfade sind je nach Agent und Operationssystem entsprechend anzupassen. Wenn mehrere Agenten in einer Agentengruppe verwendet werden, werden auf jedem Agenten identische Dateien benötigt.

Erweiterte Funktionen

In diesem Abschnitt wird eine Auswahl erweiterter Funktionen des Dynamics 365 Finance and Operations Connectors beschrieben.

Benutzerdefinierte Ansichten

Der Connector ermöglicht Ihnen die Definition virtueller Tabellen, sogenannter benutzerdefinierter Ansichten, deren Inhalt durch eine vorkonfigurierte Abfrage bestimmt wird. Diese Ansichten sind nützlich, wenn Sie die an die Treiber gesendeten Abfragen nicht direkt steuern können. Siehe Benutzerdefinierte Ansichten für einen Überblick über das Erstellen und Konfigurieren benutzerdefinierter Ansichten.

SSL-Konfiguration

Verwenden Sie SSL-Konfiguration, um anzupassen, wie der Connector TLS/SSL-Zertifikatsverhandlungen handhabt. Sie können aus verschiedenen Zertifikatsformaten wählen; siehe SSLServerCert-Eigenschaft unter „Verbindungszeichenfolgenoptionen“ für weitere Informationen.

Proxy

So konfigurieren Sie den Connector mit privaten Agent-Proxy-Einstellungen, wählen Sie die Use Proxy Settings Kontrollkästchen auf dem Verbindungskonfigurationsbildschirm.

Benutzerdefinierte Ansichten

Mit dem Dynamics 365 Finance and Operations Connector können Sie eine virtuelle Tabelle definieren, deren Inhalt durch eine vorkonfigurierte Abfrage bestimmt wird. Diese werden als benutzerdefinierte Ansichten bezeichnet und sind in Situationen nützlich, in denen Sie die an den Treiber gesendete Abfrage nicht direkt steuern können, z. B. wenn Sie den Treiber von Jitterbit verwenden. Die benutzerdefinierten Ansichten können verwendet werden, um Prädikate zu definieren, die immer angewendet werden. Wenn Sie in der Abfrage an die Ansicht zusätzliche Prädikate angeben, werden diese mit der bereits als Teil der Ansicht definierten Abfrage kombiniert.

Es gibt zwei Möglichkeiten, benutzerdefinierte Ansichten zu erstellen:

  • Erstellen Sie eine Konfigurationsdatei im JSON-Format, die die gewünschten Ansichten definiert.
  • DDL-Anweisungen.

Definieren von Ansichten mithilfe einer Konfigurationsdatei

Benutzerdefinierte Ansichten werden in einer JSON-formatierten Konfigurationsdatei namens UserDefinedViews.json. Der Connector erkennt die in dieser Datei angegebenen Ansichten automatisch.

Sie können auch mehrere Ansichtsdefinitionen haben und diese mit steuern UserDefinedViews Verbindungseigenschaft. Wenn Sie diese Eigenschaft verwenden, werden vom Connector nur die angegebenen Ansichten angezeigt.

Diese Konfigurationsdatei für benutzerdefinierte Ansichten ist wie folgt formatiert:

  • Jedes Stammelement definiert den Namen einer Ansicht.
  • Jedes Stammelement enthält ein untergeordnetes Element namens query, das die benutzerdefinierte SQL- Abfrage für die Ansicht enthält.

Zum Beispiel:

{
    "MyView": {
        "query": "SELECT * FROM Accounts WHERE MyColumn = 'value'"
    },
    "MyView2": {
        "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
    }
}

Verwenden Sie UserDefinedViews Verbindungseigenschaft zur Angabe des Speicherorts Ihrer JSON-Konfigurationsdatei. Beispiel:

"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"

Schema für benutzerdefinierte Ansichten

Benutzerdefinierte Ansichten werden im angezeigt UserViews Schema standardmäßig. Dies geschieht, um zu vermeiden, dass der Name der Ansicht mit einer tatsächlichen Entität im Datenmodell kollidiert. Sie können den Namen des für UserViews verwendeten Schema ändern, indem Sie UserViewsSchemaName Eigentum.

Arbeiten mit benutzerdefinierten Ansichten

Beispielsweise eine SQL-Anweisung mit einer benutzerdefinierten Ansicht namens UserViews.RCustomers listet nur Kunden in Raleigh auf:

SELECT * FROM Customers WHERE City = 'Raleigh';

Ein Beispiel für eine Abfrage an den Treiber:

SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';

Daraus ergibt sich die effektive Abfrage an die Quelle:

SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';

Dies ist ein sehr einfaches Beispiel für eine Abfrage an eine benutzerdefinierte Ansicht, die tatsächlich eine Kombination aus der Abfrage und der Ansichtsdefinition ist. Es ist möglich, diese Abfragen in viel komplexeren Mustern zusammenzustellen. Alle SQL-Operationen sind in beiden Abfragen zulässig und werden bei Bedarf kombiniert.

SSL-Konfiguration

Anpassen der SSL-Konfiguration

Standardmäßig versucht der Connector, SSL/TLS auszuhandeln, indem er das Zertifikat des Servers mit dem vertrauenswürdigen Zertifikatspeicher des Systems vergleicht.

Um ein anderes Zertifikat anzugeben, siehe SSLServerCert Eigenschaft für die verfügbaren Formate, um dies zu tun.

Datenmodell

Der Dynamics 365 Finance and Operations Connector modelliert Dynamics 365 Finance and Operations Entitäten in relationalen Tabellen, Ansichten und gespeicherten Prozeduren. Die Tabellendefinitionen werden dynamisch vom OData Dienst abgerufen, mit dem Sie eine Verbindung herstellen. Alle Änderungen in den Metadaten, z. B. hinzugefügte oder entfernte Spalten oder Änderungen im Datentyp, können durch erneutes Herstellen der Verbindung geladen werden.

Tabellen

Der Connector modelliert die im Service-Metadatendokument beschriebenen beschreibbaren Entitäten als bidirektionale Tabellen.

Gespeicherte Prozeduren

Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen zur Datenquelle. Sie können verwendet werden, um zusätzliche Vorgänge auszuführen, die außerhalb des

Standard-CRUD-Modells liegen, wie z. B. das Abrufen eines OAuth-Zugriffstokens.

Tabellen

Der Connector verwendet die OData-Dienste von Dynamics 365 Finance and Operations, um dynamisch eine Liste von Tabellen abzurufen. Alle Ihre Dynamics 365 Finance and Operations-Tabellen werden als verfügbar angezeigt, sobald Sie eine Verbindung herstellen.

Gespeicherte Prozeduren

Gespeicherte Prozeduren stehen zur Ergänzung der im Datenmodell verfügbaren Daten zur Verfügung. Es kann erforderlich sein, die in einer Ansicht verfügbaren Daten mithilfe einer gespeicherten Prozedur zu aktualisieren, da die Daten keine direkten, tabellenartigen, bidirektionalen Aktualisierungen ermöglichen. In diesen Situationen erfolgt der Abruf der Daten mithilfe der entsprechenden Ansicht oder Tabelle, während die Aktualisierung durch Aufruf einer gespeicherten Prozedur erfolgt. Gespeicherte Prozeduren verwenden eine Liste von Parametern und geben einen Datensatz zurück, der die Sammlung von Tupeln enthält, die die Antwort bilden.

Gespeicherte Prozeduren für den Dynamics 365 Finance and Operations Connector

Name Beschreibung
CreateSchema Erstellt eine Schema für die angegebene Tabelle oder Ansicht.
GetAdminConsentURL Ruft die Administratoreinwilligungs URL ab, die von einem Administrator einer bestimmten Domäne separat geöffnet werden muss, um Zugriff auf Ihre Anwendung zu gewähren. Nur erforderlich, wenn benutzerdefinierte OAuth-Anmeldeinformationen verwendet werden.
GetOAuthAccessToken Ruft das Authentifizierungstoken ab, das zur Authentifizierung beim Dienst verwendet wird.
GetOAuthAuthorizationUrl Ruft eine Autorisierungs URL von der Datenquelle ab. Die Autorisierungs URL kann verwendet werden, um einen Verifier zu generieren, der zum Abrufen des OAuth-Tokens erforderlich ist.
RefreshOAuthAccessToken Ruft einen aktualisierten OAuthAccessToken ab, wenn ein Token zum Aktualisieren übergeben wurde.

Schema erstellen

Erstellt eine Schema für die angegebene Tabelle oder Ansicht.

Eingang
Name Typ Beschreibung
TableName String Der Name der Tabelle oder Ansicht.
FileName String Der vollständige Dateipfad und Name des zu generierenden Schema. Beispiel: „C:\Benutzer\Benutzer\Desktop\Businessbridge\Contents.rsd“
Ergebnissatzspalten
Name Typ Beschreibung
Result String Gibt „Erfolg“ oder „Fehler“ zurück.

GetAdminConsentURL

Ruft die Administratoreinwilligungs URL ab, die von einem Administrator einer bestimmten Domäne separat geöffnet werden muss, um Zugriff auf Ihre Anwendung zu gewähren. Nur erforderlich, wenn benutzerdefinierte OAuth-Anmeldeinformationen verwendet werden.

Eingang
Name Typ Beschreibung
CallbackUrl String Die URL, zu der der Benutzer nach der Autorisierung Ihrer Anwendung weitergeleitet wird. Dieser Wert muss mit der Antwort URL in den App-Einstellungen von Microsoft Entra ID übereinstimmen.
State String Derselbe Wert für den Status, den Sie gesendet haben, als Sie den Autorisierungscode angefordert haben.
Ergebnissatzspalten
Name Typ Beschreibung
URL String Die Autorisierungs-URL, die in einen Webbrowser eingegeben wird, um das Prüftoken zu erhalten und Ihre App zu autorisieren.

GetOAuthAccessToken

Ruft das Authentifizierungstoken ab, das zur Authentifizierung beim Dienst verwendet wird.

Eingang
Name Typ Beschreibung
AuthMode String Der Authentifizierungstyp, den Sie versuchen. Verwenden Sie App für eine Windows-Anwendung oder Web für webbasierte Anwendungen. Der Standardwert ist APP.
Verifier String Ein vom Dienst zurückgegebener Prüfer, der eingegeben werden muss, um das Zugriffstoken zurückzugeben. Wird nur bei Verwendung des Webauthentifizierungsmodus benötigt. Wird durch Navigieren zur in GetOAuthAuthorizationUrl zurückgegebenen URL abgerufen.
CallbackUrl String Die URL, zu der der Benutzer nach der Autorisierung Ihrer Anwendung weitergeleitet wird.
State String Dieses Feld zeigt alle Zustände an, die für Ihre Anwendung nach Erhalt der Antwort nützlich sein können. Ihre Anwendung erhält denselben Wert, den sie gesendet hat, da dieser Parameter einen Hin- und Rückweg zum Dynamics-Autorisierungsserver und zurück durchführt. Zu den Verwendungsmöglichkeiten gehören die Umleitung des Benutzers zur richtigen Ressource auf Ihrer Site, die Verwendung von Nonces und die Minderung von Cross-Site-Request-Forgery.
Prompt String Die Standardeinstellung ist „select_account“, wodurch der Benutzer bei der Authentifizierung aufgefordert wird, ein Konto auszuwählen. Auf „None“ eingestellt, damit keine Eingabeaufforderung erfolgt, auf „login“, damit der Benutzer zur Eingabe seiner Anmeldeinformationen gezwungen wird, oder auf „consent“, damit nach der Anmeldung des Benutzers das OAuth-Zustimmungsdialogfeld ausgelöst wird, in dem der Benutzer aufgefordert wird, der App Berechtigungen zu erteilen.
Ergebnissatzspalten
Name Typ Beschreibung
OAuthAccessToken String Das OAuth-Zugriffstoken.
\* String Andere Ausgaben, die von der Datenquelle zurückgegeben werden können.

GetOAuthAuthorizationUrl

Ruft eine Autorisierungs URL aus der Datenquelle ab. Die Autorisierungs URL kann verwendet werden, um einen Prüfer zu generieren, der zum Abrufen des OAuth-Tokens erforderlich ist.

Eingang
Name Typ Beschreibung
CallbackURL String Die URL, zu der der Benutzer nach der Autorisierung Ihrer Anwendung weitergeleitet wird.
State String Dieses Feld zeigt alle Zustände an, die für Ihre Anwendung nach Erhalt der Antwort nützlich sein können. Ihre Anwendung erhält denselben Wert, den sie gesendet hat, da dieser Parameter einen Hin- und Rückweg zum Dynamics-Autorisierungsserver und zurück durchführt. Zu den Verwendungsmöglichkeiten gehören die Umleitung des Benutzers zur richtigen Ressource auf Ihrer Site, die Verwendung von Nonces und die Minderung von Cross-Site-Request-Forgery.
Prompt String Die Standardeinstellung ist „select_account“, wodurch der Benutzer bei der Authentifizierung aufgefordert wird, ein Konto auszuwählen. Auf „None“ eingestellt, damit keine Eingabeaufforderung erfolgt, auf „login“, damit der Benutzer zur Eingabe seiner Anmeldeinformationen gezwungen wird, oder auf „consent“, damit nach der Anmeldung des Benutzers das OAuth-Zustimmungsdialogfeld ausgelöst wird, in dem der Benutzer aufgefordert wird, der App Berechtigungen zu erteilen.
Ergebnissatzspalten
Name Typ Beschreibung
Url String Die Autorisierungs-URL, die geöffnet werden muss, damit der Benutzer Ihre App autorisieren kann.

Aktualisieren Sie das OAuthAccessToken

Erhält einen aktualisierten OAuthAccessToken, wenn ein Token zum Aktualisieren übergeben wird.

Eingang
Name Typ Beschreibung
OAuthRefreshToken String Das vom ursprünglichen Autorisierungscode-Austausch zurückgegebene Aktualisierungstoken.
Ergebnissatzspalten
Name Typ Beschreibung
OAuthAccessToken String Das neue OAuthAccessToken, das vom Dienst zurückgegeben wurde.
OAuthRefreshToken String Ein Token, der zum Abrufen eines neuen Zugriffstokens verwendet werden kann.
ExpiresIn String Die verbleibende Lebensdauer des Zugriffstokens.

Systemtabellen

Sie können die in diesem Abschnitt beschriebenen Systemtabellen Abfrage, um auf Schema, Informationen zur Datenquellenfunktionalität und Statistiken zu Operation Charge.

Schematabellen

Die folgenden Tabellen geben Datenbankmetadaten für Dynamics 365 Finance and Operations zurück:

Datenquellentabellen

Die folgenden Tabellen enthalten Informationen dazu, wie eine Verbindung zur Datenquelle hergestellt und diese Abfrage wird:

  • sys_connection_props: Gibt Informationen zu den verfügbaren Verbindungseigenschaften zurück.
  • sys_sqlinfo: Beschreibt die SELECT-Abfragen, die der Connector an die Datenquelle auslagern kann.

Abfrageinformationstabellen

Die folgende Tabelle gibt Abfrage für Datenänderungsabfragen zurück, einschließlich Charge:

  • Systemidentität: Gibt Informationen zu Charge oder einzelnen Updates zurück.

Sys_catalogs

Listet die verfügbaren Datenbanken auf.

Die folgende Abfrage ruft alle durch die Verbindungszeichenfolge ermittelten Datenbanken ab:

SELECT * FROM sys_catalogs
Spalten
Name Typ Beschreibung
CatalogName String Der Datenbankname.

Sys_schemas

Listet die verfügbaren Schemas auf.

Die folgende Abfrage ruft alle verfügbaren Schemata ab:

SELECT * FROM sys_schemas
Spalten
Name Typ Beschreibung
CatalogName String Der Datenbankname.
SchemaName String Der Schema.

Sys_tables

Listet die verfügbaren Tabellen auf.

Die folgende Abfrage ruft die verfügbaren Tabellen und Ansichten ab:

SELECT * FROM sys_tables
Spalten
Name Typ Beschreibung
CatalogName String Die Datenbank, die die Tabelle oder Ansicht enthält.
SchemaName String Das Schema, das die Tabelle oder Ansicht enthält.
TableName String Der Name der Tabelle oder Ansicht.
TableType String Der Tabellentyp (Tabelle oder Ansicht).
Description String Eine Beschreibung der Tabelle oder Ansicht.
IsUpdateable Boolean Ob die Tabelle aktualisiert werden kann.

Sys_tablecolumns

Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.

Die folgende Abfrage gibt die Spalten und Datentypen für die Tabelle „Konten“ zurück:

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Accounts'
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die die Tabelle oder Ansicht enthält.
SchemaName String Das Schema, das die Tabelle oder Ansicht enthält.
TableName String Der Name der Tabelle oder Ansicht, die die Spalte enthält.
ColumnName String Der Spaltenname.
DataTypeName String Der Name des Datentyps.
DataType Int32 Eine Ganzzahl, die den Datentyp angibt. Dieser Wert wird zur Laufzeit basierend auf der Umfeld bestimmt.
Length Int32 Die Speichergröße der Spalte.
DisplaySize Int32 Die normale Maximalbreite der angegebenen Spalte in Zeichen.
NumericPrecision Int32 Die maximale Anzahl von Ziffern in numerischen Daten. Die Spaltenlänge in Zeichen für Zeichen- und Datums-/Uhrzeitdaten.
NumericScale Int32 Die Spaltenskala oder Anzahl der Ziffern rechts vom Dezimalpunkt.
IsNullable Boolean Ob die Spalte Null enthalten kann.
Description String Eine kurze Beschreibung der Spalte.
Ordinal Int32 Die Sequenznummer der Spalte.
IsAutoIncrement String Ob der Spaltenwert in festen Schritten zugewiesen wird.
IsGeneratedColumn String Ob die Spalte generiert wird.
IsHidden Boolean Ob die Spalte ausgeblendet ist.
IsArray Boolean Ob die Spalte ein Array ist.

Sys_procedures

Listet die verfügbaren gespeicherten Prozeduren auf.

Die folgende Abfrage ruft die verfügbaren gespeicherten Prozeduren ab:

SELECT * FROM sys_procedures
Spalten
Name Typ Beschreibung
CatalogName String Die Datenbank, die die gespeicherte Prozedur enthält.
SchemaName String Das Schema, das die gespeicherte Prozedur enthält.
ProcedureName String Der Name der gespeicherten Prozedur.
Description String Eine Beschreibung der gespeicherten Prozedur.
ProcedureType String Der Typ der Prozedur, z. B. PROZEDUR oder FUNKTION.

Sys_procedureparameters

Beschreibt Parameter gespeicherter Prozeduren.

Die folgende Abfrage gibt Informationen zu allen Eingabeparametern für die gespeicherte Prozedur GetOAuthAccessToken zurück:

SELECT * FROM sys_procedureparameters WHERE ProcedureName='GetOAuthAccessToken' AND Direction=1 OR Direction=2
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die die gespeicherte Prozedur enthält.
SchemaName String Der Name des Schema, das die gespeicherte Prozedur enthält.
ProcedureName String Der Name der gespeicherten Prozedur, die den Parameter enthält.
ColumnName String Der Name des gespeicherten Prozedurparameters.
Direction Int32 Eine Ganzzahl, die dem Typ des Parameters entspricht: Eingabe (1), Eingabe/Ausgabe (2) oder Ausgabe (4). Parameter vom Typ Eingabe/Ausgabe können sowohl Eingabe- als auch Ausgabeparameter sein.
DataTypeName String Der Name des Datentyps.
DataType Int32 Eine Ganzzahl, die den Datentyp angibt. Dieser Wert wird zur Laufzeit basierend auf der Umfeld bestimmt.
Length Int32 Die Anzahl der für Zeichendaten zulässigen Zeichen. Die Anzahl der für numerische Daten zulässigen Ziffern.
NumericPrecision Int32 Die maximale Genauigkeit für numerische Daten. Die Spaltenlänge in Zeichen für Zeichen- und Datums-/Uhrzeitdaten.
NumericScale Int32 Die Anzahl der Ziffern rechts vom Dezimalkomma in numerischen Daten.
IsNullable Boolean Ob der Parameter Null enthalten kann.
IsRequired Boolean Ob der Parameter zur Ausführung der Prozedur erforderlich ist.
IsArray Boolean Ob der Parameter ein Array ist.
Description String Die Beschreibung des Parameters.
Ordinal Int32 Der Index des Parameters.

Sys_keycolumns

Beschreibt die Primär- und Fremdschlüssel.

Die folgende Abfrage ruft den Primärschlüssel für die Tabelle „Konten“ ab:

SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Accounts'
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die den Schlüssel enthält.
SchemaName String Der Name des Schema, das den Schlüssel enthält.
TableName String Der Name der Tabelle, die den Schlüssel enthält.
ColumnName String Der Name der Schlüsselspalte.
IsKey Boolean Ob die Spalte ein Primärschlüssel in der Tabelle ist, auf die im Feld „TableName“ verwiesen wird.
IsForeignKey Boolean Ob die Spalte ein Fremdschlüssel ist, auf den im Feld TableName verwiesen wird.
PrimaryKeyName String Der Name des Primärschlüssels.
ForeignKeyName String Der Name des Fremdschlüssels.
ReferencedCatalogName String Die Datenbank, die den Primärschlüssel enthält.
ReferencedSchemaName String Das Schema, das den Primärschlüssel enthält.
ReferencedTableName String Die Tabelle, die den Primärschlüssel enthält.
ReferencedColumnName String Der Spaltenname des Primärschlüssels.

Sys_foreignkeys

Beschreibt die Fremdschlüssel.

Die folgende Abfrage ruft alle Fremdschlüssel ab, die auf andere Tabellen verweisen:

SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die den Schlüssel enthält.
SchemaName String Der Name des Schema, das den Schlüssel enthält.
TableName String Der Name der Tabelle, die den Schlüssel enthält.
ColumnName String Der Name der Schlüsselspalte.
PrimaryKeyName String Der Name des Primärschlüssels.
ForeignKeyName String Der Name des Fremdschlüssels.
ReferencedCatalogName String Die Datenbank, die den Primärschlüssel enthält.
ReferencedSchemaName String Das Schema, das den Primärschlüssel enthält.
ReferencedTableName String Die Tabelle, die den Primärschlüssel enthält.
ReferencedColumnName String Der Spaltenname des Primärschlüssels.
ForeignKeyType String Gibt an, ob der Fremdschlüssel ein Importschlüssel (zeigt auf andere Tabellen) oder ein Exportschlüssel (referenziert von anderen Tabellen) ist.

Sys_indexes

Beschreibt die verfügbaren Indizes. Durch das Filtern nach Indizes können Sie selektivere Abfragen mit schnelleren Abfrage schreiben.

Die folgende Abfrage ruft alle Indizes ab, die keine Primärschlüssel sind:

SELECT * FROM sys_indexes WHERE IsPrimary='false'
Spalten
Name Typ Beschreibung
CatalogName String Der Name der Datenbank, die den Index enthält.
SchemaName String Der Name des Schema, das den Index enthält.
TableName String Der Name der Tabelle, die den Index enthält.
IndexName String Der Indexname.
ColumnName String Der Name der mit dem Index verknüpften Spalte.
IsUnique Boolean Wahr, wenn der Index eindeutig ist. Andernfalls falsch.
IsPrimary Boolean Wahr, wenn der Index ein Primärschlüssel ist. Andernfalls falsch.
Type Int16 Ein ganzzahliger Wert, der dem Indextyp entspricht: Statistik (0), gruppiert (1), gehasht (2) oder Sonstiges (3).
SortOrder String Die Sortierreihenfolge: A für aufsteigend oder D für absteigend.
OrdinalPosition Int16 Die Sequenznummer der Spalte im Index.

Sys_connection_props

Gibt Informationen zu den verfügbaren Verbindungseigenschaften und den in der Verbindungszeichenfolge festgelegten Eigenschaften zurück.

Bei der Abfrage dieser Tabelle sollte die Konfigurationsverbindungszeichenfolge verwendet werden:

jdbc:cdata:d365finop:config:

Mit dieser Verbindungszeichenfolge können Sie diese Tabelle ohne eine gültige Verbindung Abfrage.

Die folgende Abfrage ruft alle Verbindungseigenschaften ab, die in der Verbindungszeichenfolge festgelegt oder über einen Standardwert gesetzt wurden:

SELECT * FROM sys_connection_props WHERE Value <> ''
Spalten
Name Typ Beschreibung
Name String Der Name der Verbindungseigenschaft.
ShortDescription String Eine kurze Beschreibung.
Type String Der Datentyp der Verbindungseigenschaft.
Default String Der Standardwert, sofern nicht explizit einer festgelegt wurde.
Values String Eine durch Kommas getrennte Liste möglicher Werte. Wenn ein anderer Wert angegeben wird, wird ein Validierungsfehler ausgegeben.
Value String Der von Ihnen festgelegte Wert oder ein vorkonfigurierter Standard.
Required Boolean Ob für die Immobilie eine Anschlusspflicht besteht.
Category String Die Kategorie der Verbindungseigenschaft.
IsSessionProperty String Ob die Eigenschaft eine Sitzungseigenschaft ist, die zum Speichern von Informationen zur aktuellen Verbindung verwendet wird.
Sensitivity String Die Vertraulichkeitsstufe der Eigenschaft. Diese gibt Aufschluss darüber, ob die Eigenschaft in Protokollierungs- und Authentifizierungsformularen verschleiert wird.
PropertyName String Eine verkürzte Form des Verbindungseigenschaftsnamens in Camel-Case-Schreibweise.
Ordinal Int32 Der Index des Parameters.
CatOrdinal Int32 Der Index der Parameterkategorie.
Hierarchy String Zeigt zugehörige abhängige Eigenschaften an, die zusammen mit dieser festgelegt werden müssen.
Visible Boolean Informiert, ob die Eigenschaft in der Verbindungs-Benutzeroberfläche sichtbar ist.
ETC String Verschiedene sonstige Informationen zum Objekt.

Sys_sqlinfo

Beschreibt die SELECT- Abfrage, die der Connector an die Datenquelle auslagern kann.

Gemeinsame Abfrageverarbeitung

Wenn Sie mit Datenquellen arbeiten, die SQL-92 nicht unterstützen, können Sie die Ansicht sys_sqlinfo Abfrage, um die Abfrage der zugrunde liegenden APIs in SQL-Syntax zu ermitteln. Der Connector verlagert so viel wie möglich von der Verarbeitung der SELECT-Anweisung auf den Server und verarbeitet den Rest der Abfrage dann im Speicher.

Entdecken der SELECT-Funktionen der Datenquelle

Nachfolgend sehen Sie einen Beispieldatensatz mit SQL-Funktionen. Der folgende Ergebnissatz zeigt die SELECT-Funktionalität an, die der Connector auf die Datenquelle oder die Prozessclientseite auslagern kann. Ihre Datenquelle unterstützt möglicherweise zusätzliche SQL-Syntax. Einige Aspekte der SELECT-Funktionalität werden in einer durch Kommas getrennten Liste zurückgegeben, sofern sie unterstützt werden; andernfalls enthält die Spalte NO.

Name Beschreibung Mögliche Werte
AGGREGATE_FUNCTIONS Unterstützte Aggregatfunktionen. AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNT Ob die COUNT-Funktion unterstützt wird. YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR Das öffnende Zeichen, das zum Escapen eines Bezeichners verwendet wird. [
IDENTIFIER_QUOTE_CLOSE_CHAR Das abschließende Zeichen, das zum Escapen eines Bezeichners verwendet wird. ]
SUPPORTED_OPERATORS Eine Liste unterstützter SQL-Operatoren. =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BY Ob GROUP BY unterstützt wird und wenn ja, in welchem Umfang. NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
STRING_FUNCTIONS Unterstützte String-Funktionen. LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONS Unterstützte numerische Funktionen. ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONS Unterstützte Datums-/Uhrzeitfunktionen. NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLES Zeigt an, dass während der Replikation Tabellen übersprungen wurden.
REPLICATION_TIMECHECK_COLUMNS Ein Zeichenfolgenarray mit einer Liste von Spalten, die (in der angegebenen Reihenfolge) zur Überprüfung verwendet werden, ob sie während der Replikation als geänderte Spalte verwendet werden sollen.
IDENTIFIER_PATTERN Zeichenfolgenwert, der angibt, welche Zeichenfolge für einen Bezeichner gültig ist.
SUPPORT_TRANSACTION Gibt an, ob der Anbieter Transaktionen wie Commit und Rollback unterstützt. YES, NO
DIALECT Gibt den zu verwendenden SQL-Dialekt an.
KEY_PROPERTIES Gibt die Eigenschaften an, die die einheitliche Datenbank identifizieren.
SUPPORTS_MULTIPLE_SCHEMAS Gibt an, ob für den Anbieter mehrere Schemas vorhanden sein können. YES, NO
SUPPORTS_MULTIPLE_CATALOGS Gibt an, ob für den Anbieter mehrere Kataloge vorhanden sein können. YES, NO
DATASYNCVERSION Die für den Zugriff auf diesen Treiber erforderliche Data Sync-Version. Standard, Starter, Professional, Enterprise
DATASYNCCATEGORY Die Kategorie „Datensynchronisierung“ dieses Treiber. Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQL Ob erweiterte SQL-Funktionen über das hinaus, was die API bietet, unterstützt werden. TRUE, FALSE
SUPPORTS_BATCH_OPERATIONS Ob Charge Operationen unterstützt werden. YES, NO
SQL_CAP Alle unterstützten SQL-Funktionen für diesen Treiber. SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS Ein Zeichenfolgenwert gibt die bevorzugten Cacheoptionen an.
ENABLE_EF_ADVANCED_QUERY Gibt an, ob der Treiber erweiterte Abfragen aus dem Entity Framework direkt unterstützt. Wenn nicht, werden die Abfragen clientseitig verarbeitet. YES, NO
PSEUDO_COLUMNS Ein Zeichenfolgenarray, das die verfügbaren Pseudospalten angibt.
MERGE_ALWAYS Wenn der Wert „true“ ist, wird der Merge-Modus in der Datensynchronisierung zwangsweise ausgeführt. TRUE, FALSE
REPLICATION_MIN_DATE_QUERY Eine Abfrage zum Zurückgeben des Startdatums und der Startzeit der Replikation.
REPLICATION_MIN_FUNCTION Ermöglicht einem Anbieter, den Formelnamen anzugeben, der zum Ausführen eines serverseitigen Minimums verwendet werden soll.
REPLICATION_START_DATE Ermöglicht einem Anbieter, ein Replikationsstartdatum anzugeben.
REPLICATION_MAX_DATE_QUERY Eine Abfrage zum Zurückgeben des Enddatums und der Endzeit der Replikation.
REPLICATION_MAX_FUNCTION Ermöglicht einem Anbieter, den Formelnamen anzugeben, der zur Ausführung eines serverseitigen Max. verwendet werden soll.
IGNORE_INTERVALS_ON_INITIAL_REPLICATE Eine Liste von Tabellen, bei denen das Aufteilen der Replikation in Blöcke bei der ersten Replikation übersprungen wird.
CHECKCACHE_USE_PARENTID Gibt an, ob die CheckCache-Anweisung für die übergeordnete Schlüsselspalte ausgeführt werden soll. TRUE, FALSE
CREATE_SCHEMA_PROCEDURES Gibt gespeicherte Prozeduren an, die zum Generieren von Schema verwendet werden können.

Die folgende Abfrage ruft die Operatoren ab, die in der WHERE-Klausel verwendet werden können:

SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'

Beachten Sie, dass einzelne Tabellen unterschiedliche Einschränkungen oder Anforderungen an die WHERE-Klausel haben können; siehe Datenmodell Abschnitt für weitere Informationen.

Spalten
Name Typ Beschreibung
NAME String Eine Komponente der SQL-Syntax oder eine Funktion, die auf dem Server verarbeitet werden kann.
VALUE String Details zum unterstützten SQL bzw. zur SQL-Syntax.

Systemidentität

Gibt Informationen zu versuchten Änderungen zurück.

Die folgende Abfrage ruft die IDs der geänderten Zeilen in einer Operation Charge:

SELECT * FROM sys_identity
Spalten
Name Typ Beschreibung
Id String Die von einer Operation zurückgegebene, von der Datenbank generierte ID.
Batch String Eine Kennung für den Charge. 1 für einen einzelnen Operation.
Operation String Das Ergebnis der Operation im Charge: EINGEFÜGT, AKTUALISIERT oder GELÖSCHT.
Message String SUCCESS oder eine Fehlermeldung, wenn das Update im Charge fehlgeschlagen ist.

Datentypzuordnung

Datentypzuordnungen

Der Connector ordnet Typen aus der Datenquelle dem entsprechenden im Schema verfügbaren Datentyp zu. Die folgende Tabelle dokumentiert diese Zuordnungen.

Dynamics 365 Finance and Operations (OData V4) Schema
Edm.Binary binär
Edm.Boolean
Edm.Date Datum/Uhrzeit
Edm.DateTimeOffset Datum/Uhrzeit
Edm.Decimal Dezimal
Edm.Double doppelt
Edm.Guid Anleitung
Edm.Int32 int
Edm.String Zeichenfolge
Edm.TimeOfDay Zeit

Erweiterte Konfigurationseigenschaften

Die erweiterten Konfigurationseigenschaften sind die verschiedenen Optionen, die zum Herstellen einer Verbindung verwendet werden können. Dieser Abschnitt enthält eine vollständige Liste der Optionen, die Sie konfigurieren können. Klicken Sie auf die Links, um weitere Einzelheiten zu erfahren.

Authentifizierung

Eigenschaft Beschreibung
AuthScheme Der beim Herstellen einer Verbindung mit Dynamics 365 Finance and Operations zu verwendende Authentifizierungstyp.
OrganizationURL Die URL zu Ihrer Dynamics 365-Organisation. Beispiel: https://abc123.cloudax.dynamics.com/.
ApiVersion Die verwendete API Version. Diese kann angegeben werden, um auf eine neue Version der API zuzugreifen, sobald diese veröffentlicht wird.

Azure-Authentifizierung

Eigenschaft Beschreibung
AzureTenant Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Wenn nicht angegeben, wird Ihr Standardmandant verwendet.
AzureEnvironment Die beim Herstellen einer Verbindung zu verwendende Azure-Umgebung.

OAuth

Eigenschaft Beschreibung
InitiateOAuth Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten.
OAuthClientId Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.
OAuthClientSecret Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.

SSL

Eigenschaft Beschreibung
SSLServerCert Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL.

Schema

Eigenschaft Beschreibung
Location Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
BrowsableSchemas Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA, TabelleB, TabelleC.
Views Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA, AnsichtB, AnsichtC.

Verschiedenes

Eigenschaft Beschreibung
CrossCompany Ob Daten für alle Unternehmen oder nur für das Standardunternehmen des Benutzers abgerufen werden sollen.
CustomUrlParams Die benutzerdefinierte Abfrage, die in die Anforderung aufgenommen werden soll.
IncludeNavigationProperties Ein Boolescher Wert, der angibt, ob Navigationseigenschaften in die Spaltenliste aufgenommen werden sollen.
MaxRows Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder Gruppierung verwendet wird. Dadurch werden Leistungsprobleme zur Entwurfszeit vermieden.
Other Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.
PseudoColumns Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.
Timeout Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.
UseClientSidePaging Ob der ADO.NET-Anbieter für Dynamics 365 Finance and Operations mehrere Threads mit clientseitiger Paging verwenden soll.
UseDynamicStoredProcedures Ein Boolescher Wert, der angibt, ob dynamische gespeicherte Prozeduren verfügbar gemacht werden sollen.

Authentifizierung

Dieser Abschnitt enthält eine vollständige Liste der Authentifizierungseigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
AuthScheme Der beim Herstellen einer Verbindung mit Dynamics 365 Finance and Operations zu verwendende Authentifizierungstyp.
OrganizationURL Die URL zu Ihrer Dynamics 365-Organisation. Beispiel: https://abc123.cloudax.dynamics.com/.
ApiVersion Die verwendete API Version. Diese kann angegeben werden, um auf eine neue Version der API zuzugreifen, sobald diese veröffentlicht wird.

AuthScheme

Der Authentifizierungstyp, der bei der Verbindung mit Dynamics 365 Finance and Operations verwendet werden soll. Derzeit nur AzureServicePrincipal wird unterstützt.

Mögliche Werte

AzureServicePrincipal

Datentyp

string

Standardwert

AzureServicePrincipal

Hinweise
  • AzureServicePrincipal: Legen Sie dies fest, um sich als Microsoft Entra-Dienstprinzipal zu authentifizieren.

OrganisationURL

Die URL zu Ihrer Dynamics 365-Organisation. Beispiel: https://abc123.cloudax.dynamics.com/.

Datentyp

string

Standardwert

""

Hinweise

Die URL, die Sie zum Anmelden bei Ihrer Dynamics 365-Organisation verwenden. Beispiel: https://abc123.crm.dynamics.com/. Dies kann auch als Ressource bezeichnet werden.

API-Version

Die verwendete API Version. Diese kann angegeben werden, um auf eine neue Version der API zuzugreifen, sobald diese veröffentlicht wird.

Datentyp

string

Standardwert

9.0

Hinweise

Die verwendete API Version. Diese kann angegeben werden, um auf eine neue Version der API zuzugreifen, sobald diese veröffentlicht wird. Andernfalls können Sie die Standardeinstellung verwenden.

Azure Authentifizierung

Dieser Abschnitt enthält eine vollständige Liste der Azure-Authentifizierungseigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
AzureTenant Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Wenn nicht angegeben, wird Ihr Standardmandant verwendet.
AzureEnvironment Die beim Herstellen einer Verbindung zu verwendende Azure-Umgebung.

AzureTenant

Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Wenn nicht angegeben, wird Ihr Standardmandant verwendet.

Datentyp

string

Standardwert

""

Hinweise

Der Microsoft Online-Mandant, der für den Datenzugriff verwendet wird. Beispiel: „example.onmicrosoft.com“. Alternativ können Sie die Mandanten-ID angeben. Dieser Wert ist die Verzeichnis-ID im Azure-Portal > Microsoft Entra ID > Eigenschaften.

Normalerweise ist es nicht notwendig, den Mandanten anzugeben. Dies kann von Microsoft automatisch ermittelt werden. Es kann jedoch fehlschlagen, wenn der Benutzer mehreren Mandanten angehört. Wenn beispielsweise ein Administrator der Domäne A einen Benutzer der Domäne B als Gastbenutzer einlädt, gehört der Benutzer nun beiden Mandanten an. Es empfiehlt sich, den Mandanten anzugeben, obwohl es im Allgemeinen auch ohne Angabe funktionieren sollte.

Azure-Umgebung

Die beim Herstellen einer Verbindung zu verwendende Azure-Umgebung.

Mögliche Werte

GLOBAL, CHINA, GERMANY, USGOVT

Datentyp

string

Standardwert

GLOBAL

Hinweise

In den meisten Fällen funktioniert es, die Umfeld auf global eingestellt zu lassen. Wenn Ihr Azure-Konto jedoch einer anderen Umfeld hinzugefügt wurde, wird die AzureEnvironment kann verwendet werden, um die Umfeld anzugeben.

OAuth

Dieser Abschnitt enthält eine vollständige Liste der OAuth-Eigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
InitiateOAuth Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten.
OAuthClientId Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.
OAuthClientSecret Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.

OAuth initiieren

Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten.

Mögliche Werte

"GETANDREFRESH"

Datentyp

string

Standardwert

GETANDREFRESH

Hinweise

Die folgende Option wird unterstützt:

  • GETANDREFRESH: Gibt an, dass der gesamte OAuth-Flow vom Connector verarbeitet wird. Wenn derzeit kein Token vorhanden ist, wird es abgerufen. Wenn ein Token vorhanden ist, wird es bei Bedarf aktualisiert.

OAuthClientId

Die Client-ID, die zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.

Datentyp

string

Standardwert

""

Hinweise

Im Rahmen der Registrierung einer OAuth-Anwendung erhalten Sie die OAuthClientId-Wert, manchmal auch Consumer-Schlüssel genannt, und ein Client-Geheimnis, das OAuthClientSecret.

OAuthClientSecret

Das Client-Geheimnis, das zugewiesen wird, wenn Sie Ihre Anwendung bei einem OAuth-Autorisierungsserver registrieren.

Datentyp

string

Standardwert

""

Hinweise

Im Rahmen der Registrierung einer OAuth-Anwendung erhalten Sie das Client-Geheimnis, auch Consumer-Geheimnis genannt. Legen Sie das Client-Geheimnis als fest OAuthClientSecret-Eigenschaft.

Sie erhalten außerdem eine OAuthClientId, auch Consumer-Key genannt.

SSL

Dieser Abschnitt enthält eine vollständige Liste der SSL-Eigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
SSLServerCert Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL.

SSLServerCert

Das vom Server zu akzeptierende Zertifikat bei einer Verbindung über TLS/SSL.

Datentyp

string

Standardwert

""

Hinweise

Bei Verwendung einer TLS/SSL-Verbindung kann diese Eigenschaft verwendet werden, um das vom Server zu akzeptierende TLS/SSL-Zertifikat anzugeben. Jedes andere Zertifikat, dem der Computer nicht vertraut, wird abgelehnt.

Diese Eigenschaft kann folgende Formen annehmen:

Beschreibung Beispiel
Ein vollständiges PEM-Zertifikat (Beispiel der Kürze halber gekürzt) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
Ein Pfad zu einer lokalen Datei, die das Zertifikat enthält C:\\cert.cer
Der öffentliche Schlüssel (Beispiel der Kürze halber gekürzt) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
Der MD5-Fingerabdruck (Hexadezimalwerte können auch durch Leerzeichen oder Doppelpunkte getrennt sein) ecadbdda5a1529c58a1e9e09828d70e4
Der SHA1-Fingerabdruck (Hex-Werte können auch durch Leerzeichen oder Doppelpunkte getrennt sein) 34a929226ae0819f2ec14b4a3d904f801cbb150d

Wenn nicht angegeben, wird jedes vom Computer vertrauenswürdige Zertifikat akzeptiert.

Zertifikate werden vom Computer basierend auf dem Trust Store des Systems als vertrauenswürdig validiert. Der verwendete Trust Store ist der für das System angegebene Wert „javax.net.ssl.trustStore“. Wenn für diese Eigenschaft kein Wert angegeben ist, wird der Standard-Trust Store von Java verwendet (z. B. JAVA_HOME\lib\security\cacerts).

Verwenden Sie „*“, um anzugeben, dass alle Zertifikate akzeptiert werden. Beachten Sie, dass dies aus Sicherheitsgründen nicht empfohlen wird.

Schema

Dieser Abschnitt enthält eine vollständige Liste der Schema, die Sie konfigurieren können.

Eigenschaft Beschreibung
Location Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
BrowsableSchemas Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA, SchemaB, SchemaC.
Tables Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA, TabelleB, TabelleC.
Views Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA, AnsichtB, AnsichtC.

Standort

Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.

Datentyp

string

Standardwert

%APPDATA%\D365FinOp Data Provider\Schema

Hinweise

Der Pfad zu einem Verzeichnis, das die Schema für den Connector enthält (.rsd-Dateien für Tabellen und Ansichten, .rsb-Dateien für gespeicherte Prozeduren). Der Ordnerspeicherort kann ein relativer Pfad vom Speicherort der ausführbaren Datei sein. Der Location Eigenschaft wird nur benötigt, wenn Sie Definitionen anpassen möchten (z. B. einen Spaltennamen ändern, eine Spalte ignorieren usw.) oder das Datenmodell mit neuen Tabellen, Ansichten oder gespeicherten Prozeduren erweitern möchten.

Wenn nicht angegeben, ist der Standardspeicherort „%APPDATA%\D365FinOp Data Provider\Schema“ mit %APPDATA% wird auf das Konfigurationsverzeichnis des Benutzers eingestellt:

Plattform %APPDATA%
Windows Der Wert der Umfeld APPDATA
Mac ~/Bibliothek/Anwendungsunterstützung
Linux ~/.config

DurchsuchbareSchemas

Diese Eigenschaft beschränkt die gemeldeten Schemata auf eine Teilmenge der verfügbaren Schemata. Beispiel: BrowsableSchemas=SchemaA,SchemaB,SchemaC.

Datentyp

string

Standardwert

""

Hinweise

Das Auflisten der Schemata aus Datenbanken kann aufwändig sein. Die Bereitstellung einer Liste von Schemata in der Verbindungszeichenfolge verbessert die Leistung.

Tabellen

Diese Eigenschaft beschränkt die gemeldeten Tabellen auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Tabellen=TabelleA,TabelleB,TabelleC.

Datentyp

string

Standardwert

""

Hinweise

Das Auflisten der Tabellen aus einigen Datenbanken kann teuer sein. Die Bereitstellung einer Liste von Tabellen in der Verbindungszeichenfolge verbessert die Leistung des Connectors.

Diese Eigenschaft kann auch als Alternative zum automatischen Auflisten von Ansichten verwendet werden, wenn Sie bereits wissen, mit welchen Sie arbeiten möchten, und es sonst zu viele wären.

Geben Sie die gewünschten Tabellen in einer durch Kommas getrennten Liste an. Jede Tabelle sollte ein gültiger SQL-Bezeichner sein, wobei alle Sonderzeichen mit eckigen Klammern, Anführungszeichen oder Backticks maskiert werden. Beispiel: Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Beachten Sie, dass Sie beim Herstellen einer Verbindung zu einer Datenquelle mit mehreren Schemata oder Katalogen den vollqualifizierten Namen der Tabelle in dieser Eigenschaft angeben müssen, wie im letzten Beispiel hier, um Mehrdeutigkeiten zwischen Tabellen zu vermeiden, die in mehreren Katalogen oder Schemata vorhanden sind.

Ansichten

Beschränkt die gemeldeten Ansichten auf eine Teilmenge der verfügbaren Tabellen. Beispiel: Ansichten=AnsichtA,AnsichtB,AnsichtC.

Datentyp

string

Standardwert

""

Hinweise

Das Auflisten der Ansichten aus einigen Datenbanken kann teuer sein. Die Bereitstellung einer Liste von Ansichten in der Verbindungszeichenfolge verbessert die Leistung des Connectors.

Diese Eigenschaft kann auch als Alternative zum automatischen Auflisten von Ansichten verwendet werden, wenn Sie bereits wissen, mit welchen Sie arbeiten möchten, und es sonst zu viele wären.

Geben Sie die gewünschten Ansichten in einer durch Kommas getrennten Liste an. Jede Ansicht sollte ein gültiger SQL-Bezeichner sein, wobei alle Sonderzeichen mit eckigen Klammern, Anführungszeichen oder Backticks maskiert werden. Beispiel: Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Beachten Sie, dass Sie beim Herstellen einer Verbindung zu einer Datenquelle mit mehreren Schemata oder Katalogen den vollqualifizierten Namen der Tabelle in dieser Eigenschaft angeben müssen, wie im letzten Beispiel hier, um Mehrdeutigkeiten zwischen Tabellen zu vermeiden, die in mehreren Katalogen oder Schemata vorhanden sind.

Verschiedenes

Dieser Abschnitt enthält eine vollständige Liste verschiedener Eigenschaften, die Sie konfigurieren können.

Eigenschaft Beschreibung
CrossCompany Ob Daten für alle Unternehmen oder nur für das Standardunternehmen des Benutzers abgerufen werden sollen.
CustomUrlParams Die benutzerdefinierte Abfrage, die in die Anforderung aufgenommen werden soll.
IncludeNavigationProperties Ein Boolescher Wert, der angibt, ob Navigationseigenschaften in die Spaltenliste aufgenommen werden sollen.
MaxRows Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder Gruppierung verwendet wird. Dadurch werden Leistungsprobleme zur Entwurfszeit vermieden.
Other Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.
PseudoColumns Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.
Timeout Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.
UseClientSidePaging Ob der ADO.NET-Anbieter für Dynamics 365 Finance and Operations mehrere Threads mit clientseitiger Paging verwenden soll.
UseDynamicStoredProcedures Ein Boolescher Wert, der angibt, ob dynamische gespeicherte Prozeduren verfügbar gemacht werden sollen.

CrossCompany

Ob Daten für alle Unternehmen oder nur für das Standardunternehmen des Benutzers abgerufen werden sollen.

Datentyp

bool

Standardwert

false

Hinweise

Ob Daten für alle Unternehmen oder nur für das Standardunternehmen des Benutzers abgerufen werden sollen.

Benutzerdefinierte URL-Parameter

Die benutzerdefinierte Abfrage, die in die Anforderung aufgenommen werden soll.

Datentyp

string

Standardwert

""

Hinweise

Der CustomUrlParams ermöglicht Ihnen die Angabe benutzerdefinierter Abfrage, die in die HTTP-Anforderung eingeschlossen werden. Die Parameter müssen als Abfrage in der Form Feld1=Wert1&Feld2=Wert2&Feld3=Wert3 codiert sein. Die Werte in der Abfrage müssen URL codiert sein.

Navigationseigenschaften einschließen

Ein Boolescher Wert, der angibt, ob Navigationseigenschaften in die Spaltenliste aufgenommen werden sollen.

Datentyp

bool

Standardwert

false

Hinweise

Navigationseigenschaften werden beim Abrufen von Daten nicht mit Informationen gefüllt. Stattdessen können Navigationseigenschaften verwendet werden, um beim Einfügen oder Aktualisieren eine Bindung an eine vorhandene Ressource herzustellen. Beispiel:

INSERT INTO accounts (_primarycontactid_value) VALUES ('123456')

Um mehrere Werte anzugeben, verwenden Sie eine durch Kommas getrennte Liste. Zum Beispiel:

INSERT INTO accounts (lead_customer_accounts) VALUES ('123,456')

MaxRows

Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder Gruppierung verwendet wird. Dadurch werden Leistungsprobleme zur Entwurfszeit vermieden.

Datentyp

int

Standardwert

-1

Hinweise

Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder Gruppierung verwendet wird. Dadurch werden Leistungsprobleme zur Entwurfszeit vermieden.

Andere

Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet.

Datentyp

string

Standardwert

""

Hinweise

Die unten aufgeführten Eigenschaften sind für bestimmte Anwendungsfälle verfügbar. Für normale Anwendungsfälle und Funktionen von Treiber sollten diese Eigenschaften nicht erforderlich sein.

Geben Sie mehrere Eigenschaften in einer durch Semikolon getrennten Liste an.

Integration und Formatierung
Eigenschaft Beschreibung
DefaultColumnSize Legt die Standardlänge von Zeichenfolgefeldern fest, wenn die Datenquelle keine Spaltenlänge in den Metadaten bereitstellt. Der Standardwert ist 2000.
ConvertDateTimeToGMT Bestimmt, ob Datums-/Uhrzeitwerte in GMT statt in die lokale Zeit des Computers konvertiert werden sollen.
RecordToFile=filename Protokolliert den zugrunde liegenden Socket-Datenübertragungsvorgang in die angegebene Datei.

Pseudospalten

Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht.

Datentyp

string

Standardwert

""

Hinweise

Diese Einstellung ist besonders hilfreich im Entity Framework, da Sie dort keinen Wert für eine Pseudospalte festlegen können, es sei denn, es handelt sich um eine Tabellenspalte. Der Wert dieser Verbindungseinstellung hat das Format „Tabelle1=Spalte1, Tabelle1=Spalte2, Tabelle2=Spalte3“. Sie können das Zeichen „*“ verwenden, um alle Tabellen und alle Spalten einzuschließen, z. B. „*=*“.

Zeitüberschreitung

Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird.

Datentyp

int

Standardwert

60

Hinweise

Wenn Timeout = 0, Operationen werden nicht abgebrochen. Die Operationen werden ausgeführt, bis sie erfolgreich abgeschlossen sind oder bis ein Fehler auftritt.

Wenn Timeout abläuft und der Operation noch nicht abgeschlossen ist, löst der Connector eine Ausnahme aus.

Clientseitiges Paging verwenden

Ob der ADO.NET-Anbieter für Dynamics 365 Finance and Operations mehrere Threads mit clientseitiger Paging verwenden soll oder nicht.

Datentyp

bool

Standardwert

true

Hinweise

Unabhängig von diesem Wert verwendet der Dynamics 365 Finance and Operations Connector immer clientseitiges Paging, um Daten abzurufen. Wenn Sie diesen Wert jedoch auf „false“ setzen, wird nur ein einziger Thread zum Ausführen dieses Operation verwendet, anstatt zu versuchen, mehrere Threads zu verwenden, um die Leistung zu verbessern.

Verwenden Sie DynamicStoredProcedures

Ein Boolescher Wert, der angibt, ob dynamische gespeicherte Prozeduren angezeigt werden sollen.

Datentyp

bool

Standardwert

false

Hinweise

Ein Boolescher Wert, der angibt, ob dynamische gespeicherte Prozeduren angezeigt werden sollen.