Microsoft Dynamics 365 Verbindungsdetails
Einführung
Connector-Version
Diese Dokumentation basiert auf Version 23.0.8803 des Connectors.
Erste Schritte
Versionsunterstützung für Microsoft Dynamics 365
Der Connector unterstützt Lese-/Schreibzugriff auf Microsoft Dynamics 365 über OData Webdienste.
Herstellen einer Verbindung
Herstellen einer Verbindung zu Microsoft Dynamics 365
Edition
Und OrganizationUrl
sind erforderliche Verbindungseigenschaften für die Verbindung. Der Microsoft Dynamics 365 Treiber unterstützt die Verbindung mit den folgenden Microsoft Dynamics 365 Editionen:
- Kundenservice
- Außendienst
- FinOpsOnline
- FinOpsOnPremise
- Personalwesen
- Vermarktung
- ProjektOperation
- Verkäufe
Beachten Sie, dass "Supply Chain Management" dasselbe ist wie "Finance and Operations". Sie können eine Verbindung herstellen, indem Sie das Edition
entweder zu „FinOpsOnline“ oder „FinOpsOnPremise“.
OrganizationUrl ist die URL zu Ihrer Microsoft Dynamics 365 -Organisation. Beispiel: https://orgcb42e1d0.crm.dynamics.com
Authentifizieren bei Microsoft Dynamics 365
OAuth
Wenn Ihre Organisation dies erfordert, ist beim Autorisieren einer neuen OAuth-Anwendung für Ihren Azure Mandanten die Zustimmung des Administrators erforderlich. In allen OAuth-Flows muss ein Administrator der Organisation die Anwendung für den Azure Mandanten genehmigen, wenn jemand in Ihrer Organisation zum ersten Mal eine OAuth-Anwendung installiert und verwendet.
Ihre Organisation kann diese Anforderung jedoch deaktivieren.
Desktop-Anwendungen
Es wird eine eingebettete OAuth-Anwendung bereitgestellt, die die OAuth-Desktop-Authentifizierung vereinfacht. Alternativ können Sie eine benutzerdefinierte OAuth-Anwendung erstellen. Siehe Erstellen einer benutzerdefinierten OAuth-Anwendung für Informationen zum Erstellen benutzerdefinierter Anwendungen und Gründe dafür.
Der einzige Unterschied zwischen den beiden Methoden zur Authentifizierung besteht darin, dass Sie bei Verwendung benutzerdefinierter OAuth-Anwendungen zwei zusätzliche Verbindungseigenschaften festlegen müssen. Nachdem Sie die folgenden Verbindungseigenschaften festgelegt haben, können Sie eine Verbindung herstellen:
AuthScheme
: DerAzureAD
in Ihren Anwendungseinstellungen.InitiateOAuth
: Setzen Sie dies aufGETANDREFRESH
. Sie können InitiateOAuth verwenden, um die Wiederholung des OAuth-Austauschs und das manuelle Festlegen der zu vermeidenOAuthAccessToken
.OAuthClientId
: (nur benutzerdefinierte Anwendungen) Die Client-ID in Ihren Anwendungseinstellungen.OAuthClientSecret
: (nur benutzerdefinierte Anwendungen) Das Client-Geheimnis in Ihren Anwendungseinstellungen.CallbackURL
: Die Weiterleitungs URL in Ihren Anwendungseinstellungen.
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:
- Extrahiert das Zugriffstoken aus der Rückruf URL und authentifiziert Anfragen.
- Erhält einen neuen Zugriffstoken, wenn der alte abläuft.
- Speichert OAuth-Werte in
OAuthSettingsLocation
soll über Verbindungen hinweg bestehen bleiben.
Webanwendungen
Wenn Sie eine Verbindung über eine Webanwendung herstellen, müssen Sie eine benutzerdefinierte OAuth-Anwendung erstellen und bei Microsoft Dynamics 365 registrieren. Siehe Erstellen einer benutzerdefinierten OAuth-Anwendung für weitere Informationen zu benutzerdefinierten Anwendungen. Sie können dann den Connector verwenden, um die OAuth-Tokenwerte abzurufen und zu verwalten.
OAuth-Zugriffstoken abrufen
Legen Sie die folgenden Verbindungseigenschaften fest, um das abzurufen OAuthAccessToken
:
AuthScheme
:AzureAD
.OAuthClientId
: Die Client-ID in Ihren Anwendungseinstellungen.OAuthClientSecret
: Das Client-Geheimnis in Ihren Anwendungseinstellungen
Rufen Sie dann gespeicherte Prozeduren auf, um den OAuth-Austausch abzuschließen:
- Rufen Sie GetOAuthAuthorizationUrl auf gespeicherte Prozedur. Legen Sie die CallbackURL-Eingabe auf die Rückruf URL fest, die Sie in Ihren Anwendungseinstellungen angegeben haben. Legen Sie bei Bedarf den Scope-Parameter fest, um benutzerdefinierte Berechtigungen anzufordern. Die gespeicherte Prozedur gibt die URL an den OAuth-Endpoint zurück.
- Öffnen Sie die URL, melden Sie sich an und autorisieren Sie die Anwendung. Sie werden zurück zur Rückruf-URL geleitet.
- Rufen Sie den GetOAuthAccessToken gespeicherte Prozedur. Setzen Sie den AuthMode-Eingang auf
WEB
. Setzen Sie den Verifier-Eingang auf den Parameter „Code“ in der Abfrage der Rückruf URL. Legen Sie bei Bedarf den Scope-Parameter fest, um benutzerdefinierte Berechtigungen anzufordern.
Sobald Sie die Zugriffs- und Aktualisierungstoken erhalten haben, können Sie eine Verbindung zu Daten herstellen und das OAuth-Zugriffstoken entweder automatisch oder manuell aktualisieren.
Automatische Aktualisierung des OAuth-Zugriffstokens
Damit der Treiber den OAuth-Zugriffstoken automatisch aktualisiert, legen Sie bei der ersten Datenverbindung Folgendes fest:
InitiateOAuth
:REFRESH
.OAuthClientId
: Die Client-ID in Ihren Anwendungseinstellungen.OAuthClientSecret
: Das Client-Geheimnis in Ihren Anwendungseinstellungen.OAuthAccessToken
: Der von GetOAuthAccessToken zurückgegebene Zugriffstoken.OAuthRefreshToken
: Das von GetOAuthAccessToken zurückgegebene Aktualisierungstoken.OAuthSettingsLocation
: Der Speicherort, an dem der Connector die OAuth-Tokenwerte speichert, die über Verbindungen hinweg bestehen bleiben.
Bei nachfolgenden Datenverbindungen werden die Werte für OAuthAccessToken und OAuthRefreshToken von übernommen OAuthSettingsLocation
.
Manuelle Aktualisierung des OAuth-Zugriffstokens
Der einzige Wert, der zum manuellen Aktualisieren des OAuth-Zugriffstokens bei der Verbindung mit Daten benötigt wird, ist das OAuth-Aktualisierungstoken.
Verwenden Sie das RefreshOAuthAccessToken gespeicherte Prozedur zum manuellen Aktualisieren der OAuthAccessToken
nach dem von GetOAuthAccessToken zurückgegebenen ExpiresIn-Parameterwert abgelaufen ist, legen Sie die folgenden Verbindungseigenschaften fest:
OAuthClientId
: Die Client-ID in Ihren Anwendungseinstellungen.OAuthClientSecret
: Das Client-Geheimnis in Ihren Anwendungseinstellungen.
Rufen Sie dann RefreshOAuthAccessToken auf mit OAuthRefreshToken
gesetzt auf das von GetOAuthAccessToken zurückgegebene OAuth-Aktualisierungstoken. Nachdem die neuen Token abgerufen wurden, öffnen Sie eine neue Verbindung, indem Sie die Eigenschaft OAuthAccessToken auf den von RefreshOAuthAccessToken zurückgegebenen Wert setzen.
Speichern Sie abschließend das OAuth-Aktualisierungstoken, damit Sie es nach Ablauf des OAuth-Zugriffstokens manuell aktualisieren können.
Kopflose Maschinen
Um den Treiber für die Verwendung von OAuth mit einem Benutzerkonto auf einem Headless-Computer zu konfigurieren, müssen Sie sich auf einem anderen Gerät authentifizieren, das über einen Internetbrowser verfügt.
- Wählen Sie eine dieser beiden Optionen:
- Option 1: Erhalten Sie die
OAuthVerifier
Wert, wie unten unter „Verifiziercode erhalten und austauschen“ beschrieben. - Option 2: Installieren Sie den Connector auf einem anderen Computer und übertragen Sie die OAuth-Authentifizierungswerte, nachdem Sie sich über den üblichen browserbasierten Ablauf authentifiziert haben, wie unten unter „OAuth-Einstellungen übertragen“ beschrieben.
- Option 1: Erhalten Sie die
- Konfigurieren Sie dann den Connector so, dass das Zugriffstoken vom Headless-Computer automatisch aktualisiert wird.
Sie können dem Headless-OAuth-Authentifizierungsablauf mit den OAuth-Anmeldeinformationen für Ihre benutzerdefinierte OAuth-App folgen. Informationen zum Erstellen einer benutzerdefinierten OAuth-Anwendung finden Sie unter Erstellen einer benutzerdefinierten OAuth-Anwendung. Dieser Abschnitt beschreibt das Verfahren zur Authentifizierung und Verbindung mit Daten.
Option 1: Einen Prüfcode erhalten und austauschen
Legen Sie zunächst die folgenden Eigenschaften auf der Headless-Maschine fest:
InitiateOAuth
: Auf setzenOFF
.OAuthClientId
: Stellen Sie die Client-ID in Ihren OAuth-Integrationseinstellungen ein.OAuthClientSecret
: Stellen Sie in Ihren OAuth-Integrationseinstellungen das Client-Geheimnis ein.
Authentifizieren Sie sich anschließend von einem anderen Computer aus und erhalten Sie das OAuthVerifier
Verbindungseigenschaft:
- Rufen Sie die GetOAuthAuthorizationUrl auf gespeicherte Prozedur. Legen Sie die CallbackURL-Eingabe auf die Umleitungs-URI fest, die Sie in Ihren Anwendungseinstellungen angegeben haben. Die gespeicherte Prozedur gibt die URL an den OAuth-Endpoint zurück.
- Öffnen Sie die zurückgegebene URL in einem Browser. Melden Sie sich an und erteilen Sie dem Connector Berechtigungen. Sie werden dann zur Callback-URL weitergeleitet, die den Prüfcode enthält.
- Speichern Sie den Wert des Verifiers. Sie müssen den Wert des Verifiers im
OAuthVerifier
Verbindungseigenschaft.
Legen Sie abschließend auf der Headless-Maschine die folgenden Verbindungseigenschaften fest, um die OAuth-Authentifizierungswerte zu erhalten:
OAuthClientId
: Stellen Sie die Client-ID in Ihren OAuth-Integrationseinstellungen ein.OAuthClientSecret
: Stellen Sie das Client-Geheimnis in Ihren OAuth-Integrationseinstellungen ein.OAuthVerifier
: Auf den Prüfcode setzen.OAuthSettingsLocation
: Festlegen, um die verschlüsselten OAuth-Authentifizierungswerte am angegebenen Speicherort beizubehalten.InitiateOAuth
: Auf setzenREFRESH
.
Mit Daten verbinden
Nachdem die OAuth-Einstellungsdatei generiert wurde, legen Sie die folgenden Eigenschaften fest, um eine Verbindung mit Daten herzustellen:
OAuthSettingsLocation
: Auf den Speicherort festlegen, der die verschlüsselten OAuth-Authentifizierungswerte enthält. Stellen Sie sicher, dass dieser Speicherort dem Anbieter Lese- und Schreibberechtigungen erteilt, um die automatische Aktualisierung des Zugriffstokens zu ermöglichen.InitiateOAuth
: Auf setzenREFRESH
.
Option 2: OAuth-Einstellungen übertragen
So installieren Sie den Connector auf einem anderen Computer, authentifizieren sich und übertragen dann die resultierenden OAuth-Werte:
- Installieren Sie den Connector auf einem zweiten Computer und stellen Sie eine Verbindung mit den folgenden Eigenschaften her:
OAuthSettingsLocation
: Auf einen beschreibbaren Ort einstellen.InitiateOAuth
: Auf setzenGETANDREFRESH
.OAuthClientId
: In Ihren Anwendungseinstellungen auf die Client-ID einstellen.OAuthClientSecret
: In Ihren Anwendungseinstellungen auf das Client-Geheimnis einstellen.CallbackURL
: Stellen Sie die Rückruf-URL in Ihren Anwendungseinstellungen ein.
- Testen Sie die Verbindung zur Authentifizierung. Die resultierenden Authentifizierungswerte werden in den durch angegebenen Pfad geschrieben und verschlüsselt
OAuthSettingsLocation
. Nachdem Sie die Verbindung erfolgreich getestet haben, kopieren Sie die OAuth-Einstellungsdatei auf Ihren Headless-Computer. Legen Sie auf dem Headless-Computer die folgenden Verbindungseigenschaften fest, um eine Verbindung zu Daten herzustellen:InitiateOAuth
: Auf setzenREFRESH
.OAuthSettingsLocation
: Legen Sie den Speicherort Ihrer OAuth-Einstellungsdatei fest. Stellen Sie sicher, dass dieser Speicherort dem Connector Lese- und Schreibberechtigungen erteilt, um die automatische Aktualisierung des Zugriffstokens zu ermöglichen.
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 deren Anwendungsfall die Zustimmung eines Administrators erforderlich ist.
Die eingebettete Anwendung im Microsoft Dynamics 365 Connector enthält keine Berechtigungen, die die Zustimmung des Administrators erfordern. Daher gelten diese Informationen nur für benutzerdefinierte Anwendungen.
Berechtigungen zur Administratoreinwilligung
Wenn Sie im Azure-Portal eine neue OAuth-Anwendung erstellen, müssen Sie angeben, welche Berechtigungen die Anwendung benötigt. Einige Berechtigungen können mit der Angabe „Administratorzustimmung erforderlich“ gekennzeichnet sein. Beispielsweise erfordern alle Gruppenberechtigungen die Administratorzustimmung. Wenn Ihre Anwendung 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 Anwendung navigiert, die Sie in erstellt haben App Registrations
. Klicken Sie unter API Berechtigungen auf Grant Consent
, wodurch Ihrer Anwendung die erforderlichen Berechtigungen für den Mandanten erteilt werden, auf dem sie erstellt wurde.
Wenn Ihre Organisation über mehrere Mandanten verfügt oder der Anwendung Berechtigungen für andere Mandanten außerhalb Ihrer Organisation erteilt werden müssen, können Sie GetAdminConsentURL verwenden, um die Admin-Autorisierungs URL zu generieren. Im Gegensatz zu GetOAuthAuthorizationUrl, werden von diesem Endpoint keine wichtigen Informationen zurückgegeben. Wenn der Zugriff gewährt wird, wird ein Boolescher Wert zurückgegeben, der angibt, dass Berechtigungen erteilt wurden.
Nachdem ein Administrator seine Zustimmung erteilt hat, kann die Authentifizierung wie gewohnt durchgeführt werden.
Client-Anmeldeinformationen
Client-Anmeldeinformationen bezieht sich auf einen Ablauf in OAuth, bei dem keine direkte Benutzerauthentifizierung stattfindet. Stattdessen werden Anmeldeinformationen nur für die Anwendung selbst erstellt. Alle von der Anwendung 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 in den Microsoft Dynamics 365 Connector eingebettete Anwendung nicht im Client-OAuth-Flow verwendet werden kann. Sie müssen Ihre eigene OAuth-Anwendung erstellen, um Client-Anmeldeinformationen zu verwenden. Siehe Erstellen einer benutzerdefinierten OAuth-Anwendung für weitere Einzelheiten.
Navigieren Sie in „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.
Client Secret
InitiateOAuth
:GETANDREFRESH
. Sie können InitiateOAuth verwenden, um die Wiederholung des OAuth-Austauschs und das manuelle Festlegen der zu vermeidenOAuthAccessToken
.AzureTenant
: Der Mandant, mit dem Sie sich verbinden möchten.OAuthGrantType
:CLIENT
.OAuthClientId
: Die Client-ID in Ihren App-Einstellungen.OAuthClientSecret
: Das Client-Geheimnis in Ihren App-Einstellungen.
Certificate
InitiateOAuth
:GETANDREFRESH
. Sie können InitiateOAuth verwenden, um die Wiederholung des OAuth-Austauschs und das manuelle Festlegen der zu vermeidenOAuthAccessToken
.AzureTenant
: Der Mandant, mit dem Sie sich verbinden möchten.OAuthGrantType
:CLIENT
.OAuthClientId
: Die Client-ID in Ihren App-Einstellungen.OAuthJWTCert
: Der JWT-Zertifikatspeicher.OAuthJWTCertType
: Der Typ des Zertifikatspeichers angegeben durchOAuthJWTCert
.
Microsoft Entra ID
Entra ID ist ein Verbindungstyp, der OAuth zur Authentifizierung nutzt. Legen Sie Ihre AuthScheme
Zu AzureAD
.
Befolgen Sie die nachstehenden Schritte, um sich mit den Anmeldeinformationen für eine benutzerdefinierte Microsoft Entra ID -App zu authentifizieren. Siehe Erstellen einer benutzerdefinierten OAuth-Anwendung.
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.
Holen Sie sich einen Microsoft Entra ID Zugriffstoken
Sie können eine Verbindung herstellen, nachdem Sie je nach Authentifizierungstyp eine der folgenden Verbindungseigenschaftengruppen festgelegt haben.
Client Secret
AuthScheme
:AzureServicePrincipal
in Ihren App-Einstellungen.InitiateOAuth
:GETANDREFRESH
. Sie können InitiateOAuth verwenden, um den Microsoft Entra ID Austausch und das manuelle Festlegen der zu vermeidenOAuthAccessToken
.AzureTenant
: Der Mandant, mit dem Sie sich verbinden möchten.OAuthClientId
: Die Client-ID in Ihren App-Einstellungen.OAuthClientSecret
: Das Client-Geheimnis in Ihren App-Einstellungen.
Certificate
AuthScheme
: DerAzureServicePrincipal
in Ihren App-Einstellungen.InitiateOAuth
:GETANDREFRESH
. Sie können InitiateAzureAD verwenden, um den wiederholten Austausch der Microsoft Entra ID und das manuelle Festlegen der zu vermeidenOAuthAccessToken
.AzureTenant
: Der Mandant, mit dem Sie sich verbinden möchten.OAuthClientId
: Die Client-ID in Ihren App-Einstellungen.OAuthJWTCert
: Der JWT-Zertifikatspeicher.OAuthJWTCertType
: Der Typ des Zertifikatspeichers angegeben durchOAuthJWTCert
.
Microsoft Entra-Dienstprinzipal
Die Authentifizierung als Microsoft Entra-Dienstprinzipal wird über den OAuth-Client-Anmeldeinformationsfluss abgewickelt. Es handelt sich dabei nicht um eine direkte Benutzerauthentifizierung. Stattdessen werden Anmeldeinformationen nur für die Anwendung selbst erstellt. Alle von der App ausgeführten Aufgaben werden ohne einen Standardbenutzerkontext, sondern basierend auf den zugewiesenen Rollen ausgeführt. Der Anwendungszugriff auf die Ressourcen wird über die Berechtigungen der zugewiesenen Rollen gesteuert. Create a Microsoft Entra ID App and a Microsoft Entra service principal
Wenn Sie sich mit einem Microsoft Entra-Dienstprinzipal authentifizieren, müssen Sie eine Anwendung bei einem Entra-ID-Mandanten registrieren. Siehe Erstellen einer benutzerdefinierten Microsoft Entra ID Dienstprinzipal-App für weitere Informationen.
Der Anwendung eine Rolle zuweisen
Um auf Ressourcen in Ihrem Abonnement zuzugreifen, müssen Sie der Anwendung eine Rolle zuweisen.
- Öffnen Sie das
Subscriptions
Seite, indem Sie den Abonnementdienst in der Suchleiste suchen und auswählen. - Wählen Sie das Abonnement aus, dem die Anwendung zugewiesen werden soll.
- Öffnen Sie die
Access control (IAM)
und wählen SieAdd > Add role assignment
zum Öffnen derAdd role assignment
Seite. - Wählen Sie
Owner
als Rolle, die Ihrer erstellten Entra ID-App zugewiesen werden soll.
Authentifizierung abschließen
Um eine Verbindung herzustellen, gehen Sie folgendermaßen vor:
- Setzen Sie die
AuthScheme
ZuAzureServicePrincipal
für die Verwendung eines Client-Geheimnisses oderAzureServicePrincipalCert
für die Verwendung eines Zertifikats in Ihren Anwendungseinstellungen. - Legen Sie die Verbindungseigenschaften fest, die für beide Schemata gelten.
- Legen Sie die Verbindungseigenschaften fest, die für das ausgewählte Authentifizierungsschema spezifisch sind.
Für Client Secret und Zertifikat
Legen Sie diese Verbindungseigenschaften fest und fahren Sie dann mit dem entsprechenden Abschnitt unten fort:
InitiateOAuth
:GETANDREFRESH
. Sie können verwendenInitiateOAuth
um den OAuth-Austausch und das manuelle Setzen der zu vermeidenOAuthAccessToken
.AzureTenant
: Der Mandant, mit dem Sie sich verbinden möchten.
Client Secret
Fahren Sie mit Folgendem fort:
OAuthClientId
: Die Client-ID in Ihren Anwendungseinstellungen.OAuthClientSecret
: Das Client-Geheimnis in Ihren Anwendungseinstellungen.
Zertifikat
Fahren Sie mit Folgendem fort:
OAuthJWTCert
: Der JWT-Zertifikatspeicher.OAuthJWTCertType
: Der Typ des Zertifikatspeichers angegeben durchOAuthJWTCert
.
Erstellen einer benutzerdefinierten OAuth-Anwendung
Erstellen einer benutzerdefinierten OAuth-Anwendung
Microsoft Dynamics 365 unterstützt die Authentifizierung mit Entra ID und Microsoft Entra Service Principal, die beide auf OAuth basieren.
In diesem Thema wird Folgendes beschrieben:
- Erstellen und Registrieren einer benutzerdefinierten OAuth-Anwendung für Entra ID oder Microsoft Entra-Dienstprinzipal
- Erteilen Sie die Administratorzustimmung für eine benutzerdefinierte OAuth-Anwendung
- Erstellen Sie eine benutzerdefinierte OAuth-Anwendung zur Verwendung mit Client-Anmeldeinformationen
Microsoft Entra ID
In portal.azure.com
:
- Melden Sie sich an bei
https://portal.azure.com
. - Wählen Sie im linken Navigationsbereich
Microsoft Entra ID
, DannapplicationRegistrations
. - Klicken Sie auf
New registration
. - Geben Sie einen Namen für die Anwendung ein.
- Wählen Sie die gewünschte Mandantenkonfiguration aus: Einzel- oder Mehrmandant und öffentliche oder private Nutzung.
- Wenn Sie die Standardoption „Nur Konten in diesem Organisationsverzeichnis“ auswählen, müssen Sie die
AzureTenant
Verbindungseigenschaft an die ID des Microsoft Entra ID Tenants, wenn eine Verbindung mit dem Microsoft Dynamics 365 -Connector hergestellt wird. Andernfalls schlägt der Authentifizierungsversuch mit einem Fehler fehl. - Wenn Ihre Anwendung nur für den privaten Gebrauch bestimmt ist, geben Sie an
Accounts in this organization directory only
. - Wenn Sie Ihre Anwendung verteilen möchten, wählen Sie eine der Multi-Tenant-Optionen.
- Wenn Sie die Standardoption „Nur Konten in diesem Organisationsverzeichnis“ auswählen, müssen Sie die
- Setzen Sie die Weiterleitungs URL auf
http://localhost:33333
(Standard des Connectors) ODER geben Sie einen anderen Port an und setzen SieCallbackURL
an die genaue Antwort-URL, die Sie definiert haben. - Klicken Sie auf
Register
, um die neue Anwendung zu registrieren. Ein Anwendungsverwaltungsbildschirm wird angezeigt.
Notieren Sie den Wert inApplication (client) ID
alsOAuthClientId
und dasDirectory (tenant) ID
alsAzureTenant
. - Navigieren Sie zu
Certificates & Secrets
und definieren Sie den Authentifizierungstyp der Anwendung. Es stehen zwei Arten der Authentifizierung zur Verfügung: Zertifikat (empfohlen) oder Client-Geheimnis.- Für die Zertifikatauthentifizierung: In
Certificates & Secrets
, wählenUpload certificate
, und laden Sie dann das Zertifikat von Ihrem lokalen Computer hoch. - Zum Erstellen eines neuen Client-Geheimnisses: In
Certificates & Secrets
, wählenNew Client Secret
für die Anwendung und geben Sie deren Dauer an. Nachdem der geheime Clientschlüssel gespeichert wurde, zeigt Microsoft Dynamics 365 den Schlüsselwert an. Kopieren Sie diesen Wert, da er nur einmal angezeigt wird. Dieser Wert wird zumOAuthClientSecret
.
- Für die Zertifikatauthentifizierung: In
- Auswählen
API Permissions > Add > Delegated permissions
. Select Required Permissions > Add
. UnterSelect an API
, wählenDynamics ERP > Delegated Permissions for _OAuthGrantType_ = CODE
(Standard).- Speichern Sie Ihre Änderungen.
- Wenn Sie die Verwendung von Berechtigungen angegeben haben, für die die Zustimmung des Administrators erforderlich ist (z. B. Anwendungsberechtigungen), können Sie diese vom aktuellen Mandanten aus auf der Seite „API Berechtigungen“ erteilen.
Microsoft Entra-Dienstprinzipal
Um die Microsoft Entra-Dienstprinzipalauthentifizierung zu verwenden, müssen Sie die Möglichkeit einrichten, der Authentifizierungsanwendung eine Rolle zuzuweisen. Anschließend müssen Sie eine Anwendung beim Microsoft Entra ID Mandanten registrieren, um einen neuen Dienstprinzipal zu erstellen. Dieser neue Dienstprinzipal kann dann den zugewiesenen rollenbasierten Zugriff nutzen.
Kontrolle über den Zugriff auf Ressourcen in Ihrem Abonnement.
In portal.azure.com
:
- Erstellen Sie eine benutzerdefinierte OAuth AD-Anwendung, wie oben beschrieben.
- Verwenden Sie die Suchleiste, um nach dem Abonnementdienst zu suchen.
- Öffnen Sie die
Subscriptions
Seite. - Wählen Sie das Abonnement aus, dem die Anwendung zugewiesen werden soll.
- Öffnen Sie die
Access control (IAM)
. - Auswählen
Add > Add role assignment
. Microsoft Dynamics 365 öffnet dasAdd role assignment
Seite. - Weisen Sie Ihrer benutzerdefinierten Microsoft Entra ID Anwendung die Rolle zu
Owner
.
Zustimmung des Administrators
Einige benutzerdefinierte Anwendungen erfordern Administratorberechtigungen, um innerhalb eines Microsoft Entra ID Mandanten ausgeführt zu werden. Die Administratorzustimmung kann beim Erstellen einer neuen benutzerdefinierten OAuth-Anwendung erteilt werden, indem relevante Berechtigungen hinzugefügt werden, die bereits mit „Administratorzustimmung erforderlich“ gekennzeichnet sind. Die Administratorzustimmung ist auch erforderlich, um Clientanmeldeinformationen im OAuth-Flow zu verwenden.
So erteilen Sie die Administratoreinwilligung:
- Lassen Sie einen Administrator sich anmelden bei
portal.azure.com
. - Navigieren Sie zu
App Registrations
und suchen Sie die benutzerdefinierte OAuth-Anwendung, die Sie erstellt haben. - Unter
API Permissions
, klickGrant Consent
.
Dadurch erhält Ihre Anwendung Berechtigungen für den Mandanten, unter dem sie erstellt wurde.
Zustimmung zu Kundenanmeldeinformationen
OAuth unterstützt die Verwendung von Clientanmeldeinformationen zur Authentifizierung. In einem OAuth-Flow mit Clientanmeldeinformationen werden Anmeldeinformationen für die authentifizierende Anwendung selbst erstellt. Der Authentifizierungsflow verhält sich wie der übliche Authentifizierungsflow, mit der Ausnahme, dass ein zugeordneter Benutzer nicht aufgefordert wird, Anmeldeinformationen anzugeben.
Alle von der Anwendung akzeptierten Aufgaben werden außerhalb des Kontexts eines Standardbenutzers ausgeführt.
Hinweis
Da die eingebetteten OAuth-Anmeldeinformationen pro Benutzer authentifiziert werden, können Sie sie nicht
in einem Client-OAuth-Flow verwenden. Sie müssen immer eine benutzerdefinierte OAuth-Anwendung erstellen, um Client-Anmeldeinformationen zu verwenden.
In portal.azure.com
:
- Erstellen Sie eine benutzerdefinierte OAuth-Anwendung, wie oben beschrieben.
- Navigieren Sie zu
App Registrations
. - Suchen Sie die Anwendung, die Sie gerade erstellt haben, und öffnen Sie
API Permissions
. - Wählen Sie die Microsoft Graph-Berechtigungen aus. Es gibt zwei verschiedene Berechtigungssätze: Delegiert und Anwendung.
- Unter
Application Permissions
, wählen Sie die Berechtigungen aus, die Sie für Ihre Integration benötigen.
Erstellen einer benutzerdefinierten Microsoft Entra ID Service Principal-App
Bei der Authentifizierung mit einem Microsoft Entra-Dienstprinzipal ist das Erstellen einer benutzerdefinierten App-Registrierung und eines Dienstprinzipals erforderlich, das auf die erforderlichen Ressourcen zugreifen kann.
Schritte zum Erstellen einer Microsoft Entra ID SP-App
Befolgen Sie die nachstehenden Schritte, um eine benutzerdefinierte App-Registrierung zu erstellen und die Verbindungseigenschaften für die Microsoft Entra-Dienstprinzipalauthentifizierung abzurufen.
-
Melden Sie sich an bei
https://portal.azure.com
. -
Wählen Sie im linken Navigationsbereich
Microsoft Entra ID > App Registrations
und klickNew registration
. -
Geben Sie einen Anwendungsnamen ein und wählen Sie
Any Entra ID Directory - Multi Tenant
. Setzen Sie dann die Weiterleitungs URL aufhttp://localhost:33333
, der Standard des Connectors oder eine URL Ihrer Wahl. -
Kopieren Sie nach dem Erstellen der App den Wert der Anwendungs-ID (Client-ID), der im Abschnitt „Übersicht“ angezeigt wird, da dieser Wert als verwendet wird
OAuthClientId
-
Definieren Sie den Anwendungsauthentifizierungstyp, indem Sie zum Abschnitt „Zertifikate und Geheimnisse“ navigieren. Es stehen zwei Arten der Authentifizierung zur Verfügung: Clientgeheimnis und Zertifikat.
Die empfohlene Authentifizierungsmethode ist über ein Zertifikat.
Option 1 - Upload a certificate
: Wählen Sie unter „Zertifikate und Geheimnisse“Upload certificate
und das Zertifikat zum Hochladen von Ihrem lokalen Computer.Option 2 - Create a new application secret
: Wählen Sie unter „Zertifikate und Geheimnisse“New Client Secret
für die Anwendung und geben Sie deren Dauer an. Nach dem Speichern des Client-Geheimnisses wird der Schlüsselwert angezeigt. Kopieren Sie diesen Wert, da er nur einmal angezeigt wird. Sie verwenden ihn alsOAuthClientSecret
.
-
Auf der
Authentication
Tab, stellen Sie sicher, dass Sie die Option auswählenAccess tokens
(wird für implizite Flows verwendet).
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 Microsoft Dynamics 365 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.
Abfrageverarbeitung
Der Connector verlagert die Verarbeitung der SELECT-Anweisung so weit wie möglich auf Microsoft Dynamics 365 und verarbeitet den Rest der Abfrage dann im Speicher (clientseitig).
Benutzerdefinierte Ansichten
Mit dem Microsoft Dynamics 365 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 GoalHeadings WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Verwenden Sie die UserDefinedViews
Verbindungseigenschaft, um den Speicherort Ihrer JSON-Konfigurationsdatei anzugeben. Beispiel:
"UserDefinedViews", "C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json"
Definieren von Ansichten mit DDL-Anweisungen
Der Connector kann das Schema auch über DDL-Anweisungen wie CREATE LOCAL VIEW, ALTER LOCAL VIEW und DROP LOCAL VIEW erstellen und ändern.
Erstellen einer Ansicht
Um eine neue Ansicht mit DDL-Anweisungen zu erstellen, geben Sie den Ansichtsnamen und die Abfrage wie folgt an:
CREATE LOCAL VIEW`[MeinAnsichtsname] `AS SELECT * FROM Customers LIMIT 20;
Wenn keine JSON-Datei vorhanden ist, erstellt der obige Code eine. Die Ansicht wird dann in der JSON-Konfigurationsdatei erstellt und ist nun erkennbar. Der Speicherort der JSON-Datei wird durch angegeben UserDefinedViews
Verbindungseigenschaft.
Ändern einer Ansicht
Um eine vorhandene Ansicht zu ändern, geben Sie den Namen der vorhandenen Ansicht zusammen mit der neuen Abfrage an, die Sie stattdessen verwenden möchten:
ALTER LOCAL VIEW`[MeinAnsichtsname] `AS SELECT * FROM Customers WHERE TimeModified > '3/1/2020';
Die Ansicht wird dann in der JSON-Konfigurationsdatei aktualisiert.
Löschen einer Ansicht
Um eine vorhandene Ansicht zu löschen, geben Sie den Namen eines vorhandenen Schema neben der neuen Abfrage an, die Sie stattdessen verwenden möchten.
DROP LOCAL VIEW [MyViewName]
Dadurch wird die Ansicht aus der JSON-Konfigurationsdatei entfernt. Sie kann nicht mehr abgefragt werden.
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 festlegen 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 Microsoft Dynamics 365 Connector modelliert Microsoft Dynamics 365 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.
Ansichten
Ansichten beschreibt die verfügbaren Ansichten. Ansichten werden statisch definiert, um PicklistAttributeMetadata, MultiPicklistAttributeMetadata und mehr zu modellieren.
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 Microsoft Dynamics 365, um dynamisch eine Liste von Tabellen abzurufen. Alle Ihre Microsoft Dynamics 365 -Tabellen werden als verfügbar angezeigt, sobald Sie eine Verbindung herstellen.
Ansichten
Ansichten ähneln Tabellen in der Art und Weise, wie Daten dargestellt werden; Ansichten sind jedoch schreibgeschützt.
Abfragen können für eine Ansicht ausgeführt werden, als wäre sie eine normale Tabelle.
Microsoft Dynamics 365 Connector-Ansichten
Name | Beschreibung |
---|---|
MultiSelectPickListAttributeMetaData | Enthält die Picklist-Metadaten für einen Attributtyp MultiSelect OptionSet. Hinweis: Diese Ansicht ist nur verfügbar, wenn Edition ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt. |
MultiSelectPickListOptions | Enthält den Optionswert von MultiSelect PicklistMetadata. Hinweis: Diese Ansicht ist nur verfügbar, wenn Edition ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt. |
PickListAttributeMetaData | Enthält die Metadaten für einen Attributtyp „Picklist“. Hinweis: Diese Ansicht ist nur verfügbar, wenn Edition ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt. |
PickListOptions | Enthält den Optionswert von PickListMetaData. Hinweis: Diese Ansicht ist nur verfügbar, wenn Edition ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt. |
MultiSelectPickListAttributeMetaData
Enthält die Picklist-Metadaten für einen Attributtyp MultiSelect OptionSet. Hinweis: Diese Ansicht ist nur verfügbar, wenn Edition
ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt.
Wählen
Der Connector verwendet die Microsoft Dynamics 365 API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
TableName
unterstützt '=','IN'-Operatoren.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM MultiSelectPickListAttributeMetaData WHERE TableName = 'teams'
SELECT * FROM MultiSelectPickListAttributeMetaData WHERE TableName IN ('accounts', 'teams')
Spalten
Name | Typ | Beschreibung |
---|---|---|
ColumnName [KEY] | String | |
MetadataId | String | |
OptionSet_Description_LocalizedLabels | String | |
OptionSet_Description_UserLocalizedLabel_HasChanged | String | |
OptionSet_Description_UserLocalizedLabel_IsManaged | Boolean | |
OptionSet_Description_UserLocalizedLabel_Label | String | |
OptionSet_Description_UserLocalizedLabel_LanguageCode | Integer | |
OptionSet_Description_UserLocalizedLabel_MetadataId | String | |
OptionSet_DisplayName_LocalizedLabels | String | |
OptionSet_DisplayName_UserLocalizedLabel_HasChanged | String | |
OptionSet_DisplayName_UserLocalizedLabel_IsManaged | Boolean | |
OptionSet_DisplayName_UserLocalizedLabel_Label | String | |
OptionSet_DisplayName_UserLocalizedLabel_LanguageCode | Integer | |
OptionSet_DisplayName_UserLocalizedLabel_MetadataId | String | |
OptionSet_ExternalTypeName | String | |
OptionSet_HasChanged | String | |
OptionSet_IntroducedVersion | String | |
OptionSet_IsCustomizable_CanBeChanged | Boolean | |
OptionSet_IsCustomizable_ManagedPropertyLogicalName | String | |
OptionSet_IsCustomizable_Value | Boolean | |
OptionSet_IsCustomOptionSet | Boolean | |
OptionSet_IsGlobal | Boolean | |
OptionSet_IsManaged | Boolean | |
OptionSet_MetadataId | String | |
OptionSet_Name | String | |
OptionSet_OptionSetType | String | |
OptionSet_ParentOptionSetName | String | |
TableName | String |
MehrfachauswahlAuswahlListeOptionen
Enthält den Optionswert von MultiSelect PicklistMetadata. Hinweis: Diese Ansicht ist nur verfügbar, wenn Edition
ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt.
Wählen
Der Connector verwendet die Microsoft Dynamics 365 API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
TableName
unterstützt '=','IN'-Operatoren.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM MultiSelectPickListOptions WHERE TableName = 'teams'
SELECT * FROM MultiSelectPickListOptions WHERE TableName IN ('accounts', 'teams')
Spalten
Name | Typ | Beschreibung |
---|---|---|
ColumnName | String | |
Color | String | |
ExternalValue | String | |
HasChanged | String | |
IsManaged | Boolean | |
Label_LocalizedLabels | String | |
Label_UserLocalizedLabel_HasChanged | String | |
Label_UserLocalizedLabel_IsManaged | Boolean | |
Label_UserLocalizedLabel_Label | String | |
Label_UserLocalizedLabel_LanguageCode | Integer | |
Label_UserLocalizedLabel_MetadataId | String | |
Description_LocalizedLabels | String | |
Description_UserLocalizedLabel_HasChanged | String | |
Description_UserLocalizedLabel_IsManaged | Boolean | |
Description_UserLocalizedLabel_Label | String | |
Description_UserLocalizedLabel_LanguageCode | Integer | |
Description_UserLocalizedLabel_MetadataId | String | |
MetadataId | String | |
ParentValues | String | |
Value | Integer | |
TableName | String |
PickListAttributeMetaData
Enthält die Metadaten für einen Attributtyp „Picklist“. Hinweis: Diese Ansicht ist nur verfügbar, wenn Edition
ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt.
Wählen
Der Connector verwendet die Microsoft Dynamics 365 API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
TableName
unterstützt '=','IN'-Operatoren.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM PickListAttributeMetaData WHERE TableName = 'teams'
SELECT * FROM PickListAttributeMetaData WHERE TableName IN ('accounts', 'teams')
Spalten
Name | Typ | Beschreibung |
---|---|---|
ColumnName [KEY] | String | |
MetadataId | String | |
OptionSet_Description_LocalizedLabels | String | |
OptionSet_Description_UserLocalizedLabel_HasChanged | String | |
OptionSet_Description_UserLocalizedLabel_IsManaged | Boolean | |
OptionSet_Description_UserLocalizedLabel_Label | String | |
OptionSet_Description_UserLocalizedLabel_LanguageCode | Integer | |
OptionSet_Description_UserLocalizedLabel_MetadataId | String | |
OptionSet_DisplayName_LocalizedLabels | String | |
OptionSet_DisplayName_UserLocalizedLabel_HasChanged | String | |
OptionSet_DisplayName_UserLocalizedLabel_IsManaged | Boolean | |
OptionSet_DisplayName_UserLocalizedLabel_Label | String | |
OptionSet_DisplayName_UserLocalizedLabel_LanguageCode | Integer | |
OptionSet_DisplayName_UserLocalizedLabel_MetadataId | String | |
OptionSet_ExternalTypeName | String | |
OptionSet_HasChanged | String | |
OptionSet_IntroducedVersion | String | |
OptionSet_IsCustomizable_CanBeChanged | Boolean | |
OptionSet_IsCustomizable_ManagedPropertyLogicalName | String | |
OptionSet_IsCustomizable_Value | Boolean | |
OptionSet_IsCustomOptionSet | Boolean | |
OptionSet_IsGlobal | Boolean | |
OptionSet_IsManaged | Boolean | |
OptionSet_MetadataId | String | |
OptionSet_Name | String | |
OptionSet_OptionSetType | String | |
OptionSet_ParentOptionSetName | String | |
TableName | String |
Auswahllistenoptionen
Enthält den Optionswert von PickListMetaData. Hinweis: Diese Ansicht ist nur verfügbar, wenn Edition
ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt.
Wählen
Der Connector verwendet die Microsoft Dynamics 365 API, um WHERE-Klauselbedingungen zu verarbeiten, die mit der folgenden Spalte und dem folgenden Operator erstellt wurden. Der Rest des Filters wird clientseitig innerhalb des Connectors ausgeführt.
TableName
unterstützt '=','IN'-Operatoren.
Beispielsweise werden die folgenden Abfragen serverseitig verarbeitet:
SELECT * FROM PickListOptions WHERE TableName = 'teams'
SELECT * FROM PickListOptions WHERE TableName IN ('accounts', 'teams')
Spalten
Name | Typ | Beschreibung |
---|---|---|
ColumnName | String | |
Color | String | |
ExternalValue | String | |
HasChanged | String | |
IsManaged | Boolean | |
Label_LocalizedLabels | String | |
Label_UserLocalizedLabel_HasChanged | String | |
Label_UserLocalizedLabel_IsManaged | Boolean | |
Label_UserLocalizedLabel_Label | String | |
Label_UserLocalizedLabel_LanguageCode | Integer | |
Label_UserLocalizedLabel_MetadataId | String | |
Description_LocalizedLabels | String | |
Description_UserLocalizedLabel | String | |
MetadataId | String | |
ParentValues | String | |
Value | Integer | |
TableName | String |
Gespeicherte Prozeduren
Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen, die die Funktionalität des Connectors über einfache SELECT/INSERT/UPDATE/DELETE-Operationen mit Microsoft Dynamics 365 hinaus erweitern.
Gespeicherte Prozeduren akzeptieren eine Liste von Parametern, führen ihre beabsichtigte Funktion aus und geben dann alle relevanten Antwortdaten von Microsoft Dynamics 365 zurück, zusammen mit einer Angabe, ob die Prozedur erfolgreich war oder fehlgeschlagen ist.
Gespeicherte Prozeduren für den Microsoft Dynamics 365 Connector
Name | Beschreibung |
---|---|
CreateAssociation | Erstellt eine Verknüpfung zwischen zwei Entitäten basierend auf einer Navigationseigenschaft. Setzen Sie die Verbindungseigenschaft IncludeNavigationProperties auf true, um diese gespeicherte Prozedur zu verwenden. |
CreateSchema | Erstellt eine Schema für die angegebene Tabelle oder Ansicht. Hinweis: Diese gespeicherte Prozedur gilt nur, wenn Edition ist entweder auf FinOpsOnline, FinOpsOnPremise oder HumanResources eingestellt. |
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. |
ListAssociations | Listet Assoziationen für eine bestimmte Tabelle und Navigationseigenschaft auf. Setzen Sie die Verbindungseigenschaft IncludeNavigationProperties auf true, um diese gespeicherte Prozedur zu verwenden. |
ListNavigationProperties | Listet Navigationseigenschaften für eine bestimmte Tabelle und die Tabellen auf, mit denen sie verknüpft sind. Navigationseigenschaften werden von den gespeicherten Association-Prozeduren verwendet. Setzen Sie die Verbindungseigenschaft IncludeNavigationProperties auf true, um diese gespeicherte Prozedur zu verwenden. |
RefreshOAuthAccessToken | Ruft einen aktualisierten OAuthAccessToken ab, wenn ein Token zum Aktualisieren übergeben wurde. |
RemoveAssociation | Entfernt eine Verknüpfung zwischen zwei Entitäten basierend auf einer Navigationseigenschaft. Setzen Sie die Verbindungseigenschaft IncludeNavigationProperties auf true, um diese gespeicherte Prozedur zu verwenden. |
Verein erstellen
Erstellt eine Verbindung zwischen zwei Entitäten basierend auf einer Navigationseigenschaft. Setzen Sie die Verbindungseigenschaft IncludeNavigationProperties auf true, um diese gespeicherte Prozedur zu verwenden.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
FromId | String | Falsch | Die ID der Entität, für die Sie eine Zuordnung erstellen. |
UrlId | String | Falsch | Eine Alternative zur Angabe der FromId. Dies ist die vollständige URL zur Ressource, für die die Verknüpfung erstellt wird. Sie muss angegeben werden, wenn die Navigationseigenschaft abstrakt ist, oder um spezifischere untergeordnete Typen anzugeben, bei denen der Entitätstyp der Navigationseigenschaft als Basistyp verwendet wird. |
FromTable | String | True | Die Tabelle, aus der die Entität stammt, für die Sie eine Zuordnung erstellen. Wenn die FromId beispielsweise aus einer Tabelle namens „Kunden“ stammt, legen Sie diesen Parameter auf „Kunden“ fest. |
ToNavigationProperty | String | True | Die Navigationseigenschaft, für die Sie eine Verknüpfung erstellen. Sie kann aus ListNavigationProperties abgerufen werden. |
ToId | String | Falsch | Die ID der Navigationseinheit. Diese stammt aus der Tabelle, die mit der Navigationseigenschaft verknüpft ist. |
ToUrlId | String | Falsch | Eine Alternative zur Angabe der ToId. Dies ist die vollständige URL zur zuzuordnenden Ressource. Sie muss angegeben werden, wenn die Navigationseigenschaft abstrakt ist, oder um spezifischere untergeordnete Typen anzugeben, bei denen der Entitätstyp der Navigationseigenschaft als Basistyp verwendet wird. |
Schema erstellen
Erstellt eine Schema für die angegebene Tabelle oder Ansicht.
Schema erstellen
Erstellt eine lokale Schema (.rsd) aus einer vorhandenen Tabelle oder Ansicht im Datenmodell.
Die Schema wird in dem Verzeichnis erstellt, das in festgelegt ist Location
Verbindungseigenschaft, wenn dieses Verfahren ausgeführt wird. Sie können die Datei bearbeiten, um Spalten ein- oder auszuschließen, Spalten umzubenennen oder Spaltendatentypen anzupassen.
Der Connector überprüft die Location
um zu bestimmen, ob die Namen von .rsd-Dateien mit einer Tabelle oder Ansicht im Datenmodell übereinstimmen. Wenn ein Duplikat vorhanden ist, hat die Schema Vorrang vor der Standardinstanz dieser Tabelle im Datenmodell. Wenn eine Schema in vorhanden ist Location
das nicht mit einer vorhandenen Tabelle oder Ansicht übereinstimmt, wird dem Datenmodell des Connectors ein neuer Tabellen- oder Ansichtseintrag hinzugefügt.
Eingang
Name | Typ | Erforderlich | Akzeptiert Ausgabestreams | Beschreibung |
---|---|---|---|---|
TableName | String | True | False | Der Name der Tabelle oder Ansicht. |
FileName | String | Falsch | Falsch | Der vollständige Dateipfad und Name des zu generierenden Schema. Beispiel: „C:\Benutzer\Benutzer\Desktop\D365\Contents.rsd“ |
FileStream | String | Falsch | Wahr | Eine Instanz eines Ausgabestreams, in den Dateidaten geschrieben werden. Wird nur verwendet, wenn FileName nicht festgelegt ist. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
FileData | String | Dateidaten, die Base64 codiert ausgegeben werden, wenn die Eingaben FileName und FileStream nicht festgelegt sind. |
Result | String | Ob das Schema erfolgreich heruntergeladen wurde oder nicht. |
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 | Erforderlich | Beschreibung |
---|---|---|---|
CallbackUrl | String | Falsch | 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 | Falsch | Derselbe Statuswert, 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 | Erforderlich | Beschreibung |
---|---|---|---|
AuthMode | String | Falsch | Die Art der Authentifizierung, die Sie versuchen. Verwenden Sie App für eine Windows Anwendung oder Web für webbasierte Anwendungen. Der Standardwert ist APP. |
Verifier | String | Falsch | 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 | Falsch | Die URL, zu der der Benutzer nach der Autorisierung Ihrer Anwendung weitergeleitet wird. |
State | String | Falsch | Dieses Feld zeigt jeden Status an, der für Ihre Anwendung nach Erhalt der Antwort nützlich sein kann. 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 | Falsch | Standardmäßig ist „select_account“ eingestellt, wodurch der Benutzer bei der Authentifizierung aufgefordert wird, ein Konto auszuwählen. Auf „None“ eingestellt, um keine Eingabeaufforderung zu erhalten, auf „login“, um den Benutzer zur Eingabe seiner Anmeldeinformationen zu zwingen, oder auf „consent“, um nach der Anmeldung des Benutzers den OAuth-Zustimmungsdialog auszulösen, in dem der Benutzer aufgefordert wird, der App Berechtigungen zu erteilen. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
OAuthAccessToken | String | Das OAuth-Zugriffstoken. |
OAuthRefreshToken | String | Ein Token, der zum Abrufen eines neuen Zugriffstokens verwendet werden kann. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens. |
\* | 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 | Erforderlich | Beschreibung |
---|---|---|---|
CallbackURL | String | Falsch | Die URL, zu der der Benutzer nach der Autorisierung Ihrer Anwendung weitergeleitet wird. |
State | String | Falsch | Dieses Feld zeigt jeden Status an, der für Ihre Anwendung nach Erhalt der Antwort nützlich sein kann. 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 | Falsch | Standardmäßig ist „select_account“ eingestellt, wodurch der Benutzer bei der Authentifizierung aufgefordert wird, ein Konto auszuwählen. Auf „None“ eingestellt, um keine Eingabeaufforderung zu erhalten, auf „login“, um den Benutzer zur Eingabe seiner Anmeldeinformationen zu zwingen, oder auf „consent“, um nach der Anmeldung des Benutzers den OAuth-Zustimmungsdialog auszulösen, 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. |
ListeVerbände
Listet Assoziationen für eine bestimmte Tabelle und Navigationseigenschaft auf. Setzen Sie die Verbindungseigenschaft IncludeNavigationProperties auf true, um diese gespeicherte Prozedur zu verwenden.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
FromId | String | Falsch | Die ID der Entität, für die Sie Verknüpfungen auflisten. |
UrlId | String | Falsch | Eine Alternative zur Angabe der FromId. Dies ist die vollständige URL zur Ressource, für die Sie die Verknüpfungen auflisten. Sie muss angegeben werden, wenn die Navigationseigenschaft abstrakt ist, oder um spezifischere untergeordnete Typen anzugeben, bei denen der Entitätstyp der Navigationseigenschaft als Basistyp verwendet wird. |
FromTable | String | True | Die Tabelle, aus der die Entität stammt, für die Sie Entitäten auflisten. Wenn die FromId beispielsweise aus einer Tabelle namens „Kunden“ stammt, legen Sie diesen Parameter auf „Kunden“ fest. |
NavigationProperty | String | True | Die Navigationseigenschaft, für die Sie Zuordnungen auflisten. Sie kann von ListNavigationProperties abgerufen werden. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Uri | String | Die verlinkte URL. |
ListNavigationProperties
Listet Navigationseigenschaften für eine bestimmte Tabelle und die Tabellen auf, mit denen sie verknüpft sind. Navigationseigenschaften werden von den gespeicherten Zuordnungsprozeduren verwendet. Setzen Sie die Verbindungseigenschaft IncludeNavigationProperties auf true, um diese gespeicherte Prozedur zu verwenden.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
TableName | String | True | Der Name der Tabelle, für die die Navigationseigenschaften aufgelistet werden sollen. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
Name | String | Der Name der Navigationseigenschaft. |
AssociatedTable | String | Die Tabelle, mit der die Navigationseigenschaft verknüpft ist. |
Aktualisieren Sie das OAuthAccessToken
Erhält einen aktualisierten OAuthAccessToken, wenn ein Token zum Aktualisieren übergeben wird.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
OAuthRefreshToken | String | True | 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. |
Zuordnung entfernen
Entfernt eine Verknüpfung zwischen zwei Entitäten basierend auf einer Navigationseigenschaft. Setzen Sie die Verbindungseigenschaft IncludeNavigationProperties auf true, um diese gespeicherte Prozedur zu verwenden.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
FromId | String | Falsch | Die ID der Entität, für die Sie eine Zuordnung entfernen. |
UrlId | String | Falsch | Eine Alternative zur Angabe der FromId. Dies ist die vollständige URL zur Ressource, für die Sie eine Zuordnung entfernen. Sie muss angegeben werden, wenn die Navigationseigenschaft abstrakt ist, oder um spezifischere untergeordnete Typen anzugeben, bei denen der Entitätstyp der Navigationseigenschaft als Basistyp verwendet wird. |
FromTable | String | True | Die Tabelle, aus der die Entität stammt, für die Sie eine Zuordnung entfernen. Wenn die FromId beispielsweise aus einer Tabelle namens „Kunden“ stammt, legen Sie diesen Parameter auf „Kunden“ fest. |
ToNavigationProperty | String | True | Die Navigationseigenschaft, deren Zuordnung Sie entfernen. Sie kann aus ListNavigationProperties abgerufen werden. |
ToId | String | Falsch | Die ID der Navigationseinheit. Diese stammt aus der Tabelle, die mit der Navigationseigenschaft verknüpft ist. |
ToUrlId | String | Falsch | Eine Alternative zur Angabe der ToId. Dies ist die vollständige URL zur zuzuordnenden Ressource. Sie muss angegeben werden, wenn die Navigationseigenschaft abstrakt ist, oder um spezifischere untergeordnete Typen anzugeben, bei denen der Entitätstyp der Navigationseigenschaft als Basistyp verwendet wird. |
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 Microsoft Dynamics 365 zurück:
- sys_catalogs: Listet die verfügbaren Datenbanken auf.
- sys_schemas: Listet die verfügbaren Schemata auf.
- sys_tables: Listet die verfügbaren Tabellen und Ansichten auf.
- sys_tablecolumns: Beschreibt die Spalten der verfügbaren Tabellen und Ansichten.
- sys_procedures: Beschreibt die verfügbaren gespeicherten Prozeduren.
- sys_procedureparameters: Beschreibt Parameter gespeicherter Prozeduren.
- sys_keycolumns: Beschreibt die Primär- und Fremdschlüssel.
- sys_indexes: Beschreibt die verfügbaren Indizes.
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 „GoalHeadings“ zurück:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='GoalHeadings'
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. |
IsReadOnly | Boolean | Ob die Spalte schreibgeschützt ist. |
IsKey | Boolean | Gibt an, ob ein von sys_tablecolumns zurückgegebenes Feld der Primärschlüssel der Tabelle 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 „GoalHeadings“ ab:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='GoalHeadings'
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_primarykeys
Beschreibt die Primärschlüssel.
Die folgende Abfrage ruft die Primärschlüssel aus allen Tabellen und Ansichten ab:
SELECT * FROM sys_primarykeys
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. |
KeySeq | String | Die Sequenznummer des Primärschlüssels. |
KeyName | String | Der Name des Primärschlüssels. |
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:dynamics365: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.
Entdecken der SELECT-Funktionen der Datenquelle
Nachfolgend sehen Sie einen Beispieldatensatz mit SQL-Funktionen. 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.
Microsoft Dynamics 365 (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.
Eigenschaft | Beschreibung |
---|---|
AuthScheme | Der bei der Verbindung mit Microsoft Dynamics 365 zu verwendende Authentifizierungstyp. |
OrganizationURL | Die URL zu Ihrer Dynamics 365-Organisation. Beispiel: https://abc123.cloudax.dynamics.com/ . |
Edition | Die verwendete Edition von Microsoft Dynamics 365. |
ADFSServer | Der zur Authentifizierung verwendete ADFS-Server. Wird nur mit der FinOpsOnPremise-Edition verwendet. |
ApiVersion | Die verwendete API Version. Diese kann angegeben werden, um auf eine neue Version der API zuzugreifen, sobald diese veröffentlicht wird. |
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. |
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. |
OAuthAccessToken | Der Zugriffstoken für die Verbindung mittels OAuth. |
OAuthSettingsLocation | Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH gesetzt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://' . |
CallbackURL | Die OAuth-Rückruf URL, zu der bei der Authentifizierung zurückgekehrt werden soll. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben. |
OAuthGrantType | Der Berechtigungstyp für den OAuth-Flow. |
OAuthVerifier | Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. |
OAuthRefreshToken | Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken. |
OAuthExpiresIn | Die Lebensdauer des OAuth AccessToken in Sekunden. |
OAuthTokenTimestamp | Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde. |
Eigenschaft | Beschreibung |
---|---|
OAuthJWTCert | Der JWT-Zertifikatspeicher. |
OAuthJWTCertType | Der Typ des Schlüsselspeichers, der das JWT-Zertifikat enthält. |
OAuthJWTCertPassword | Das Passwort für das OAuth JWT-Zertifikat. |
OAuthJWTCertSubject | Der Betreff des OAuth-JWT-Zertifikats. |
OAuthJWTIssuer | Der Herausgeber des Java Web Token. |
OAuthJWTSubject | Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert. |
Eigenschaft | Beschreibung |
---|---|
SSLServerCert | Das vom Server zu akzeptierende Zertifikat bei einer Verbindung per TLS/SSL. |
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. |
Eigenschaft | Beschreibung |
---|---|
AllowDuplicateRecords | Gibt an, ob der Treiber die konfigurierten Regeln zur Duplikatserkennung überprüfen soll. |
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. |
IncludeFormattedValues | Gibt an, ob Spalten mit formatierten Werten angezeigt werden sollen. |
IncludeLookUpLogicalName | Gibt an, ob der referenzierte Entitätsname für ein LookUp-Feld angezeigt 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 GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln. |
Other | Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet. |
Pagesize | Die maximale Anzahl der Ergebnisse, die pro Seite von Microsoft Dynamics 365 zurückgegeben werden sollen. |
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 Microsoft Dynamics 365 mehrere Threads mit clientseitiger Paging verwenden soll oder nicht. |
UseDynamicStoredProcedures | Ein Boolescher Wert, der angibt, ob dynamische gespeicherte Prozeduren verfügbar gemacht werden sollen. |
UserDefinedViews | Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält. |
Authentifizierung
Dieser Abschnitt enthält eine vollständige Liste der Authentifizierungseigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
AuthScheme | Der bei der Verbindung mit Microsoft Dynamics 365 zu verwendende Authentifizierungstyp. |
OrganizationURL | Die URL zu Ihrer Dynamics 365-Organisation. Beispiel: https://abc123.cloudax.dynamics.com/ . |
Edition | Die verwendete Edition von Microsoft Dynamics 365. |
ADFSServer | Der zur Authentifizierung verwendete ADFS-Server. Wird nur mit der FinOpsOnPremise-Edition verwendet. |
ApiVersion | Die verwendete API Version. Diese kann angegeben werden, um auf eine neue Version der API zuzugreifen, sobald diese veröffentlicht wird. |
AuthScheme
Der bei der Verbindung mit Microsoft Dynamics 365 zu verwendende Authentifizierungstyp.
Datentyp
string
Standardwert
AzureAD
Hinweise
- Microsoft Entra ID: Legen Sie dies fest, um die Microsoft Entra ID OAuth-Authentifizierung durchzuführen.
- AzureMSI: Legen Sie dies fest, um beim Ausführen auf einer Azure-VM automatisch Anmeldeinformationen für die verwaltete Dienstidentität abzurufen.
- AzureServicePrincipal: Legen Sie dies fest, um die Authentifizierung als Microsoft Entra-Dienstprinzipal unter Verwendung eines Clientgeheimnisses durchzuführen.
- AzureServicePrincipalCert: Legen Sie dies fest, um sich mithilfe eines Zertifikats als Microsoft Entra-Dienstprinzipal zu authentifizieren.
OrganisationURL
Die URL zu Ihrer Dynamics 365-Organisation. Beispiel: https://abc123.cloudax.dynamics.com/
.
Datentyp
string
Standardwert
""
Hinweise
Dies kann auch als Ressource bezeichnet werden.
Für Edition=HumanResources, der Wert sollte wie folgt aussehen: https://{cluster}.hr.talent.dynamics.com/namespaces/{namespace_guid}/
Ausgabe
Die verwendete Edition von Microsoft Dynamics 365.
Datentyp
string
Standardwert
FinOpsOnline
Hinweise
Derzeit sind für Microsoft Dynamics 365 Finance and Operations zusätzlich FinOpsOnline und FinOpsOnPremise verfügbar. Bei Angabe von FinOpsOnPremise wird der ADFSServer muss ebenfalls angegeben werden.
ADFSServer
Der zur Authentifizierung verwendete ADFS-Server. Wird nur mit der FinOpsOnPremise-Edition verwendet.
Datentyp
string
Standardwert
""
Hinweise
Sollte nur angegeben werden, wenn Edition ist auf FinOpsOnPremise eingestellt. Andernfalls wird diese Eigenschaft ignoriert.
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.
Hinweis: Diese Eigenschaft gilt nur, wenn Edition ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt.
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: contoso.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, wenn der OAuthGrantType verwendet wird auf CODE (Standard) eingestellt. Es kann jedoch fehlschlagen, wenn der Benutzer mehreren Mandanten angehört. Zum Beispiel, wenn ein Administrator von Domäne A einen Benutzer von Domäne B als Gastbenutzer einlädt. Der Benutzer gehört nun beiden Mandanten an. Es ist eine gute Praxis, den Mandanten anzugeben, obwohl es im Allgemeinen funktionieren sollte, ohne ihn angeben zu müssen.
AzureTenant
ist beim Festlegen von OAuthGrantType erforderlich zu CLIENT. Bei der Verwendung von Client-Anmeldeinformationen gibt es keinen Benutzerkontext. Die Anmeldeinformationen werden aus dem Kontext der App selbst übernommen. Microsoft erlaubt zwar weiterhin den Abruf von Client-Anmeldeinformationen ohne Angabe des Mandanten, aber die Wahrscheinlichkeit, den spezifischen Mandanten auszuwählen, mit dem Sie arbeiten möchten, ist viel geringer. Aus diesem Grund benötigen wir AzureTenant
muss bei allen Client-Anmeldeinformationen-Verbindungen explizit angegeben werden, um sicherzustellen, dass Sie Anmeldeinformationen erhalten, die für die Domäne gelten, mit der Sie eine Verbindung herstellen möchten.
Azure-Umgebung
Die beim Herstellen einer Verbindung zu verwendende Azure-Umgebung.
Mögliche Werte
GLOBAL
, CHINA
, USGOVT
, USGOVTDOD
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. Die verfügbaren Werte sind GLOBAL, CHINA, USGOVT, USGOVTDOD.
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. |
OAuthAccessToken | Der Zugriffstoken für die Verbindung mittels OAuth. |
OAuthSettingsLocation | Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH gesetzt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://' . |
CallbackURL | Die OAuth-Rückruf URL, zu der bei der Authentifizierung zurückgekehrt werden soll. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben. |
OAuthGrantType | Der Berechtigungstyp für den OAuth-Flow. |
OAuthVerifier | Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. |
OAuthRefreshToken | Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken. |
OAuthExpiresIn | Die Lebensdauer des OAuth AccessToken in Sekunden. |
OAuthTokenTimestamp | Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde. |
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
OFF
, GETANDREFRESH
, REFRESH
Datentyp
string
Standardwert
OFF
Hinweise
Folgende Optionen stehen zur Verfügung:
OFF
: Gibt an, dass der OAuth-Flow vollständig vom Benutzer gehandhabt wird. Zur Authentifizierung ist ein OAuthAccessToken erforderlich.GETANDREFRESH
: Gibt an, dass der gesamte OAuth-Flow vom Connector verarbeitet wird. Wenn derzeit kein Token vorhanden ist, wird es durch eine entsprechende Aufforderung an den Benutzer über den Browser abgerufen. Wenn ein Token vorhanden ist, wird es bei Bedarf aktualisiert.REFRESH
: Gibt an, dass der Connector nur das Aktualisieren des OAuthAccessToken übernimmt. Der Benutzer wird vom Connector nie aufgefordert, sich über den Browser zu authentifizieren. Der Benutzer muss zunächst das Abrufen des OAuthAccessToken und des OAuthRefreshToken übernehmen.
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 die OAuthClientId, auch Consumer-Schlüssel genannt. Sie erhalten außerdem ein Client-Geheimnis, auch Consumer-Geheimnis genannt. Legen Sie das Client-Geheimnis im OAuthClientSecret
Eigentum.
OAuth-Zugriffstoken
Der Zugriffstoken für die Verbindung per OAuth.
Datentyp
string
Standardwert
""
Hinweise
Der OAuthAccessToken
Eigenschaft wird für die Verbindung über OAuth verwendet. Die OAuthAccessToken
wird im Rahmen des Authentifizierungsprozesses vom OAuth-Server abgerufen. Es hat ein serverabhängiges Timeout und kann zwischen Anfragen wiederverwendet werden.
Das Zugriffstoken wird anstelle Ihres Benutzernamens und Passworts verwendet. Das Zugriffstoken schützt Ihre Anmeldeinformationen, indem es sie auf dem Server speichert.
OAuthSettingsLocation
Der Speicherort der Einstellungsdatei, in der OAuth-Werte gespeichert werden, wenn InitiateOAuth auf GETANDREFRESH oder REFRESH eingestellt ist. Alternativ können Sie diesen Speicherort im Speicher halten, indem Sie einen Wert angeben, der mit beginnt 'memory://'
.
Datentyp
string
Standardwert
%APPDATA%\Dynamics365 Data Provider\OAuthSettings.txt
Hinweise
Wenn InitiateOAuth ist auf gesetzt GETANDREFRESH
oder REFRESH
, der Connector speichert OAuth-Werte, damit der Benutzer die OAuth-Verbindungseigenschaften nicht manuell eingeben muss und die Anmeldeinformationen über Verbindungen oder Prozesse hinweg gemeinsam genutzt werden können.
Anstatt einen Dateipfad anzugeben, können Sie den Speicher verwenden. Speicherorte werden durch einen Wert angegeben, der mit beginnt 'memory://'
gefolgt von einer eindeutigen Kennung für diesen Satz von Anmeldeinformationen (z. B. memory://user1). Die Kennung können Sie frei wählen, sie sollte jedoch für den Benutzer eindeutig sein. Im Gegensatz zur dateibasierten Speicherung, bei der die Anmeldeinformationen über Verbindungen hinweg bestehen bleiben, werden die Anmeldeinformationen bei der Speicherspeicherung in den statischen Speicher geladen und die Anmeldeinformationen werden für die Dauer des Prozesses unter Verwendung derselben Kennung zwischen Verbindungen geteilt. Um die Anmeldeinformationen außerhalb des aktuellen Prozesses beizubehalten, müssen Sie die Anmeldeinformationen vor dem Schließen der Verbindung manuell speichern. Auf diese Weise können Sie sie in der Verbindung festlegen, wenn der Prozess erneut gestartet wird. Sie können OAuth-Eigenschaftswerte mit einer Abfrage an abrufen sys_connection_props
Systemtabelle. Wenn mehrere Verbindungen mit denselben Anmeldeinformationen bestehen, werden die Eigenschaften aus der zuvor geschlossenen Verbindung gelesen.
Der Standardspeicherort ist „%APPDATA%\Dynamics365 Data Provider\OAuthSettings.txt“ mit %APPDATA%
auf das Konfigurationsverzeichnis des Benutzers gesetzt. Die Standardwerte sind
- Windows: "
register://%DSN
" - Unix: "%AppData%..."
- Mac: "%AppData%..."
wobei DSN der Name des aktuellen DSN ist, der in der offenen Verbindung verwendet wird.
Die folgende Tabelle listet den Wert von auf %APPDATA%
nach Operationssystem:
Plattform | %APPDATA% |
---|---|
Windows | Der Wert der Umfeld APPDATA |
Mac | ~/Bibliothek/Anwendungsunterstützung |
Linux | ~/.config |
Rückruf-URL
Die OAuth-Rückruf URL, zu der bei der Authentifizierung zurückgekehrt werden soll. Dieser Wert muss mit der Rückruf-URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben.
Datentyp
string
Standardwert
""
Hinweise
Während des Authentifizierungsprozesses leitet der OAuth-Autorisierungsserver den Benutzer an diese URL weiter. Dieser Wert muss mit der Rückruf URL übereinstimmen, die Sie in Ihren App-Einstellungen angeben.
OAuthGrantType
Der Berechtigungstyp für den OAuth-Flow.
Mögliche Werte
CODE
, CLIENT
, PASSWORD
Datentyp
string
Standardwert
CLIENT
Hinweise
Folgende Optionen stehen zur Verfügung: CODE,CLIENT,PASSWORT
OAuthVerifier
Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode.
Datentyp
string
Standardwert
""
Hinweise
Der von der OAuth-Autorisierungs URL zurückgegebene Prüfcode. Dieser kann auf Systemen verwendet werden, auf denen kein Browser gestartet werden kann, z. B. auf Headless-Systemen.
Authentifizierung auf Headless-Maschinen
Siehe, um die zu erhalten OAuthVerifier
Wert.
OAuthSettingsLocation festlegen zusammen mit OAuthVerifier
. Beim Verbinden tauscht der Connector die OAuthVerifier
für die OAuth-Authentifizierungstoken und speichert sie verschlüsselt am angegebenen Speicherort. Setzen Sie InitiateOAuth zu GETANDREFRESH, um den Austausch zu automatisieren.
Sobald die OAuth-Einstellungsdatei generiert wurde, können Sie entfernen OAuthVerifier
aus den Verbindungseigenschaften und verbinden Sie sich mit OAuthSettingsLocation festgelegt.
Um die OAuth-Tokenwerte automatisch zu aktualisieren, legen Sie OAuthSettingsLocation fest und setzen Sie zusätzlich InitiateOAuth zum AKTUALISIEREN.
OAuthRefreshToken
Das OAuth-Aktualisierungstoken für das entsprechende OAuth-Zugriffstoken.
Datentyp
string
Standardwert
""
Hinweise
Der OAuthRefreshToken
Eigenschaft wird verwendet, um den OAuthAccessToken zu aktualisieren bei Verwendung der OAuth-Authentifizierung.
OAuthLäuftAbIn
Die Lebensdauer des OAuth AccessToken in Sekunden.
Datentyp
string
Standardwert
""
Hinweise
Mit OAuthTokenTimestamp kombinieren, um zu bestimmen, wann der AccessToken abläuft.
OAuthTokenTimestamp
Der Unix-Epochenzeitstempel in Millisekunden, als das aktuelle Zugriffstoken erstellt wurde.
Datentyp
string
Standardwert
""
Hinweise
Kombinieren Sie es mit OAuthExpiresIn, um zu bestimmen, wann das AccessToken abläuft.
JWT OAuth
Dieser Abschnitt enthält eine vollständige Liste der JWT OAuth-Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
OAuthJWTCert | Der JWT-Zertifikatspeicher. |
OAuthJWTCertType | Der Typ des Schlüsselspeichers, der das JWT-Zertifikat enthält. |
OAuthJWTCertPassword | Das Passwort für das OAuth JWT-Zertifikat. |
OAuthJWTCertSubject | Der Betreff des OAuth-JWT-Zertifikats. |
OAuthJWTIssuer | Der Herausgeber des Java Web Token. |
OAuthJWTSubject | Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert. |
OAuthJWTCert
Der JWT-Zertifikatspeicher.
Datentyp
string
Standardwert
""
Hinweise
Der Name des Zertifikatspeichers für das Client-Zertifikat.
Der OAuthJWTCertType Feld gibt den Typ des durch angegebenen Zertifikatspeichers an OAuthJWTCert
. Wenn der Store kennwortgeschützt ist, geben Sie das Kennwort in OAuthJWTCertPassword an.
OAuthJWTCert
wird in Verbindung mit OAuthJWTCertSubject verwendet
Feld, um Client-Zertifikate anzugeben. Wenn OAuthJWTCert
hat einen Wert und OAuthJWTCertSubject gesetzt ist, wird eine Suche nach einem Zertifikat eingeleitet. Bitte beachten Sie das OAuthJWTCertSubject für weitere Einzelheiten.
Die Bezeichnungen der Zertifikatsspeicher sind plattformabhängig.
Nachfolgend sind die Bezeichnungen der gebräuchlichsten Benutzer- und Maschinen-Zertifikatspeicher in Windows aufgeführt:
Eigenschaft | Beschreibung |
---|---|
MY | Ein Zertifikatsspeicher, der persönliche Zertifikate mit den zugehörigen privaten Schlüsseln enthält. |
CA | Zertifikate der Zertifizierungsstelle. |
ROOT | Stammzertifikate. |
SPC | Zertifikate von Softwareherstellern. |
In Java ist der Zertifikatsspeicher normalerweise eine Datei, die Zertifikate und optionale private Schlüssel enthält.
Wenn der Zertifikatsspeichertyp PFXFile ist, muss diese Eigenschaft auf den Namen der Datei gesetzt werden. Wenn der Typ PFXBlob ist, muss die Eigenschaft auf den binären Inhalt einer PFX-Datei (d. h. PKCS12-Zertifikatsspeicher) gesetzt werden.
OAuthJWTCertType
Der Typ des Schlüsselspeichers, der das JWT-Zertifikat enthält.
Datentyp
string
Standardwert
USER
Hinweise
Diese Eigenschaft kann einen der folgenden Werte annehmen:
Eigenschaft | Beschreibung |
---|---|
USER | Unter Windows gibt dies an, dass es sich bei dem Zertifikatspeicher um einen Zertifikatspeicher handelt, der dem aktuellen Benutzer gehört. Hinweis: Dieser Speichertyp ist in Java nicht verfügbar. |
MACHINE | Für Windows gibt dies an, dass es sich bei dem Zertifikatspeicher um einen Maschinenspeicher handelt. Hinweis: Dieser Speichertyp ist in Java nicht verfügbar. |
PFXFILE | Der Zertifikatsspeicher ist der Name einer PFX-Datei (PKCS12), die Zertifikate enthält. |
PFXBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen Zertifikatsspeicher im PFX-Format (PKCS12) darstellt. |
JKSFILE | Der Zertifikatsspeicher ist der Name einer Java Key Store (JKS)-Datei, die Zertifikate enthält. Hinweis: Dieser Speichertyp ist nur in Java verfügbar. |
JKSBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen Zertifikatsspeicher im Java Key Store-Format (JKS) darstellt. Hinweis: Dieser Speichertyp ist nur in Java verfügbar. |
PEMKEY_FILE | Der Zertifikatsspeicher ist der Name einer PEM-codierten Datei, die einen privaten Schlüssel und ein optionales Zertifikat enthält. |
PEMKEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (base64-codiert), die einen privaten Schlüssel und ein optionales Zertifikat enthält. |
PUBLIC_KEY_FILE | Der Zertifikatsspeicher ist der Name einer Datei, die ein PEM- oder DER-codiertes öffentliches Schlüsselzertifikat enthält. |
PUBLIC_KEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die ein PEM- oder DER-codiertes öffentliches Schlüsselzertifikat enthält. |
SSHPUBLIC_KEY_FILE | Der Zertifikatsspeicher ist der Name einer Datei, die einen öffentlichen Schlüssel im SSH-Stil enthält. |
SSHPUBLIC_KEY_BLOB | Der Zertifikatsspeicher ist eine Zeichenfolge (Base-64-codiert), die einen öffentlichen Schlüssel im SSH-Stil enthält. |
P7BFILE | Der Zertifikatsspeicher ist der Name einer PKCS7-Datei, die Zertifikate enthält. |
PPKFILE | Der Zertifikatsspeicher ist der Name einer Datei, die einen PPK (PuTTY Private Key) enthält. |
XMLFILE | Der Zertifikatsspeicher ist der Name einer Datei, die ein Zertifikat im XML-Format enthält. |
XMLBLOB | Der Zertifikatsspeicher ist eine Zeichenfolge, die ein Zertifikat im XML-Format enthält. |
OAuthJWTCertPasswort
Das Passwort für das OAuth JWT-Zertifikat.
Datentyp
string
Standardwert
""
Hinweise
Wenn der Zertifikatspeicher von einem Typ ist, der ein Passwort erfordert, wird diese Eigenschaft verwendet, um dieses Passwort anzugeben, damit der Zertifikatspeicher geöffnet werden kann.
OAuthJWTCertSubject
Der Betreff des OAuth JWT-Zertifikats.
Datentyp
string
Standardwert
*
Hinweise
Beim Laden eines Zertifikats wird der Betreff verwendet, um das Zertifikat im Speicher zu lokalisieren.
Wenn keine genaue Übereinstimmung gefunden wird, wird der Speicher nach Betreffs durchsucht, die den Wert der Eigenschaft enthalten.
Wenn immer noch keine Übereinstimmung gefunden wird, wird die Eigenschaft auf eine leere Zeichenfolge gesetzt und kein Zertifikat ausgewählt.
Der spezielle Wert „*“ wählt das erste Zertifikat im Zertifikatspeicher aus.
Der Betreff des Zertifikats ist eine durch Kommas getrennte Liste von Distinguished Name-Feldern und-Werten. Zum Beispiel „CN=www.server.com, OU=test, C=US, E=example@jbexample.com“. Allgemeine Felder und ihre Bedeutungen werden unten angezeigt.
Feld | Bedeutung |
---|---|
CN | Allgemeiner Name. Dies ist normalerweise ein Host wie www.server.com. |
O | Organisation |
OU | Organisationseinheit |
L | Ort |
S | Staat |
C | Land |
E | Email Adresse |
Wenn ein Feldwert ein Komma enthält, muss es in Anführungszeichen gesetzt werden.
OAuthJWTIssuisse
Der Herausgeber des Java Web Token.
Datentyp
string
Standardwert
""
Hinweise
Der Aussteller des Java Web Token. Dies ist normalerweise entweder die Client-ID oder die Email Adresse der OAuth-Anwendung.
OAuthJWT-Betreff
Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert.
Datentyp
string
Standardwert
""
Hinweise
Der Benutzer, für den die Anwendung delegierten Zugriff anfordert. Normalerweise der Benutzerkontoname oder die Email-Adresse.
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%\Dynamics365 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 nichts angegeben wird, ist der Standardspeicherort „%APPDATA%\Dynamics365 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 |
---|---|
AllowDuplicateRecords | Gibt an, ob der Treiber die konfigurierten Regeln zur Duplikatserkennung überprüfen soll. |
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. |
IncludeFormattedValues | Gibt an, ob Spalten mit formatierten Werten angezeigt werden sollen. |
IncludeLookUpLogicalName | Gibt an, ob der referenzierte Entitätsname für ein LookUp-Feld angezeigt 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 GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln. |
Other | Diese versteckten Eigenschaften werden nur in bestimmten Anwendungsfällen verwendet. |
Pagesize | Die maximale Anzahl der Ergebnisse, die pro Seite von Microsoft Dynamics 365 zurückgegeben werden sollen. |
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 Microsoft Dynamics 365 mehrere Threads mit clientseitiger Paging verwenden soll oder nicht. |
UseDynamicStoredProcedures | Ein Boolescher Wert, der angibt, ob dynamische gespeicherte Prozeduren verfügbar gemacht werden sollen. |
UserDefinedViews | Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält. |
Duplizierte Datensätze zulassen
Gibt an, ob der Treiber die konfigurierten Regeln zur Duplikatserkennung überprüfen soll.
Datentyp
bool
Standardwert
true
Hinweise
Setzen Sie diesen Wert auf „false“, um das Hinzufügen doppelter Datensätze bei der Durchführung von INSERT-Vorgängen zu vermeiden.
Hinweis: Diese Eigenschaft gilt nur, wenn Edition ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt.
CrossCompany
Ob Daten für alle Unternehmen oder nur für das Standardunternehmen des Benutzers abgerufen werden sollen.
Datentyp
bool
Standardwert
false
Hinweise
Diese Eigenschaft gilt nur, wenn Edition ist entweder auf FinOpsOnline, FinOpsOnPremise oder HumanResources eingestellt.
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.
Formatierte Werte einschließen
Gibt an, ob Spalten mit formatierten Werten angezeigt werden sollen.
Datentyp
bool
Standardwert
false
Hinweise
Für jede Spalte wird eine zusätzliche Spalte hinzugefügt, um den formatierten Wert anzuzeigen. Neue Spalten haben das Suffix „_display“.
Hinweis: Diese Eigenschaft gilt nur, wenn Edition ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt.
IncludeLookUpLogicName
Gibt an, ob der referenzierte Entitätsname für ein LookUp-Feld angezeigt werden soll.
Datentyp
bool
Standardwert
false
Hinweise
Für jede Schlüsselspalte wird eine zusätzliche Spalte hinzugefügt, um den logischen LookUp-Namenswert anzuzeigen. Neue Spalten haben das Suffix „_lookuplogicalname“.
Hinweis: Diese Eigenschaft gilt nur, wenn Edition ist entweder auf CustomerService, FieldService, Marketing, ProjectOperations oder Sales eingestellt.
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 GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.
Datentyp
int
Standardwert
-1
Hinweise
Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.
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. |
Seitengröße
Die maximale Anzahl der Ergebnisse, die pro Seite von Microsoft Dynamics 365 zurückgegeben werden sollen.
Datentyp
int
Standardwert
5000
Hinweise
Der Pagesize
Die Eigenschaft beeinflusst die maximale Anzahl von Ergebnissen, die pro Seite von Microsoft Dynamics 365 zurückgegeben werden. Das Festlegen eines höheren Wertes kann zu einer besseren Leistung führen, allerdings auf Kosten des zusätzlichen Speichers, der pro verbrauchter Seite zugewiesen wird.
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-Provider für Microsoft Dynamics 365 mehrere Threads mit clientseitiger Paging verwenden soll oder nicht.
Datentyp
bool
Standardwert
false
Hinweise
Unabhängig von diesem Wert verwendet der Microsoft Dynamics 365 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.
Hinweis: Diese Eigenschaft gilt nur, wenn Edition ist entweder auf FinOpsOnline, FinOpsOnPremise oder HumanResources eingestellt.
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 verfügbar gemacht werden sollen.
Hinweis: Diese Eigenschaft gilt nur, wenn Edition ist entweder auf FinOpsOnline, FinOpsOnPremise oder HumanResources eingestellt.
BenutzerdefinierteAnsichten
Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält.
Datentyp
string
Standardwert
""
Hinweise
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 GoalHeadings WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Verwenden Sie UserDefinedViews
Verbindungseigenschaft, um den Speicherort Ihrer JSON-Konfigurationsdatei anzugeben. Beispiel:
"UserDefinedViews", C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json
Beachten Sie, dass der angegebene Pfad nicht in Anführungszeichen steht.