Details zur SAP Gateway-Verbindung
Einführung
Connector-Version
Diese Dokumentation basiert auf Version 23.0.8804 des Connectors.
Erste Schritte
Versionsunterstützung für SAP Gateway
Der Connector nutzt die SAP Gateway API, um bidirektionalen Zugriff auf SAP -Dienste zu ermöglichen, die das Gateway verwenden. Dies umfasst unter anderem S/4 HANA, S/4 HANA Cloud, ERP und alle anderen Editionen, die das SAP Gateway unterstützen.
Herstellen einer Verbindung
Herstellen einer Verbindung zum SAP Gateway
SAP Gateway bietet zwei Möglichkeiten, eine Verbindung zu Daten herzustellen:
-
Um über den Desktop eine Verbindung zu den eigenen lokalen Daten herzustellen (Verbindung ohne Browser, im Folgenden „Basisauthentifizierung“ genannt), verwenden Sie
die mitgelieferte eingebettete OAuth-Anwendung.
-
Um über das Netzwerk eine Verbindung zu freigegebenen Daten herzustellen (Browserverbindung), verwenden Sie eine benutzerdefinierte OAuth-Anwendung.
Um auf SAP Gateway-Tabellen zuzugreifen, legen Sie die folgenden Verbindungseigenschaften fest:
URL
= die URL Ihrer Umfeld oder die vollständige URL des Dienstes. Die vollständige URL könnte beispielsweise folgendermaßen aussehen:https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/
In diesem Beispiel wäre die Umfeld URL einfach:https://sapes5.sapdevcenter.com
. Fügen Sie mithilfe der Eigenschaft CustomUrlParams weitere Eigenschaften hinzu.Namespace
= der entsprechende Service-Namespace. Im obigen Beispiel ist IWBEP der Namespace. Es ist optional, ob die vollständige URL zum Service angegeben wird.- SAP Gateway = der Dienst, von dem Sie Daten abrufen möchten. Im obigen Beispiel ist der Dienst GWSAMPLE_BASIC. Dies ist nicht erforderlich, wenn die vollständige URL angegeben wird.
CustomUrlParams
= alle erforderlichen zusätzlichen Eigenschaften, die in die HTTP-Anforderung aufgenommen werden müssen; zum Beispielsap-client=001&sap-language=EN
.
Authentifizieren gegenüber SAP Gateway
SAP Gateway ermöglicht sowohl die Basisauthentifizierung als auch OAuth 2.0-Authentifizierung. Verwenden Sie die Basisauthentifizierung, um eine Verbindung mit Ihrem eigenen Konto herzustellen, oder verwenden Sie OAuth, um sich über eine Browserverbindung bei freigegebenen Daten zu authentifizieren.
Cookies-basis
Um die Basisauthentifizierung zu aktivieren, legen Sie die folgenden Eigenschaften fest:
AuthScheme
=Basic
.User
= der Benutzername, den Sie für die Anmeldung bei SAP Gateway verwenden.Password
= das Passwort, mit dem Sie sich bei SAP Gateway anmelden.
Nachdem Sie die oben genannten Eigenschaften festgelegt haben, können Sie eine Verbindung herstellen. Verwenden Sie Ihre persönlichen Anmeldeinformationen, um auf Ihre lokalen Daten zuzugreifen.
OAuth
Die folgenden Unterabschnitte enthalten Einzelheiten zur Authentifizierung über eine Desktop-Anwendung, das Web oder einen Headless-Computer. Informationen zum Erstellen einer benutzerdefinierten OAuth-Anwendung finden Sie unter Erstellen einer benutzerdefinierten OAuth-Anwendung.
Desktop-Anwendungen
Um sich mit den Anmeldeinformationen für eine benutzerdefinierte OAuth-Anwendung zu authentifizieren, müssen Sie das OAuth-Zugriffstoken abrufen und aktualisieren. Danach
können Sie eine Verbindung herstellen.
OAuth-Zugriffstoken abrufen und aktualisieren
OAuthClientId
= die Client-ID, die Ihnen bei der Registrierung Ihrer Anwendung zugewiesen wurde.OAuthClientSecret
= das Client-Geheimnis, das Ihnen bei der Registrierung Ihrer Anwendung zugewiesen wurde.CallbackURL
= die Umleitungs-URI, die bei der Registrierung Ihrer Anwendung definiert wurde.
Wenn Sie eine Verbindung herstellen, öffnet der Connector den OAuth-Endpoint von SAP Gateway in Ihrem Standardbrowser.
Melden Sie sich an und erteilen Sie der Anwendung Berechtigungen. Anschließend schließt der Connector den OAuth-Prozess ab:
- Der Connector erhält einen Zugriffstoken vom SAP Gateway und verwendet ihn, um Daten anzufordern.
- Die OAuth-Werte werden im in angegebenen Pfad gespeichert
OAuthSettingsLocation
. Diese Werte bleiben über Verbindungen hinweg bestehen.
Wenn das Zugriffstoken abläuft, aktualisiert der Connector das Zugriffstoken automatisch.
Erstellen einer benutzerdefinierten OAuth-Anwendung
Zum Erstellen einer OAuth-Anwendung für den Zugriff auf SAP Gateway müssen Sie in der SAP APAB Security and Identity Management Console einen Servicebenutzer erstellen und die neue OAuth 2.0-Client-ID mit dem Erstellungsassistenten registrieren.
Erstellen eines Servicebenutzers für den OAuth 2.0-Client
Durch dieses Verfahren wird ein Servicebenutzer erstellt, dessen Client-ID mit dem Benutzernamen identisch ist, den der OAuth-Client zum Anfordern eines Zugriffstokens verwendet.
Dieser Benutzer heißt normalerweise LEAVEAPP.
-
Navigieren Sie zur SAP ABAP Security and Identity Management-Konsole.
-
Transaktion starten
SU01
. Die Konsole zeigt den Benutzerwartungsbildschirm: Anfangsbildschirm an. -
Geben Sie den Benutzernamen für den Servicebenutzer des OAuth-Clients ein, zum Beispiel
LEAVEAPP
. -
Klicken Sie auf
Create
oder drücken SieF8
. Die Konsole zeigt den Bildschirm „Benutzer verwalten“ an. -
Stellen Sie sicher, dass
Address
Tab ist ausgewählt, und geben Sie einen Nachnamen für den neuen Benutzer ein, zum BeispielLEAVEAPP
. -
Klicken Sie im Fenster „Benutzer verwalten“ auf
Logon Data
Tab. -
Wählen Sie im Dropdown-Menü „Benutzertyp“
System
. -
Wählen Sie im Abschnitt „Passwort“ im Feld „Neues Passwort“
Generate
. Das System generiert ein Passwort für den neuen Benutzerund zeigt es im Nachrichtenbereich „Benutzer verwalten“ an.
-
Kopieren Sie das angezeigte Passwort und verwenden Sie es in der Konfiguration Ihrer Client-Anwendung.
-
Klicken Sie auf
Save
Symbol und Transaktion beendenSU01
.
Registrieren des neuen Benutzers mit dem Erstellungsassistenten
Dieses Verfahren registriert den neuen Benutzer, den Sie gerade erstellt haben, und erstellt eine neue Urlaubsantragsanwendung, ebenfalls LEAVEAPP genannt.
-
Navigieren Sie zur SAP ABAP Security and Identity Management-Konsole.
-
Transaktion starten
SU02
. Die Konsole zeigt den OAuth 2.0-Verwaltungsbildschirm an. -
Wählen Sie
Create
. Die Konsole startet den Assistenten „OAuth 2.0-Client erstellen“. -
Geben Sie im Feld „Client-ID“ ein:
LEAVEAPP
. -
Geben Sie eine kurze Beschreibung für den neuen Client ein.
-
Passen Sie bei Bedarf den Wert im Feld „Token-Lebensdauer“ an. (Die Standardlebensdauer eines ausgestellten Zugriffstokens beträgt eine Stunde, ausgedrückt als
3600 s. Sie können diese Lebensdauer aus Sicherheitsgründen verkürzen.)
-
Klicken Sie auf
Next
. Die Konsole zeigt den Bildschirm „Client-Authentifizierungsdetails“ an. -
Definieren Sie die Authentifizierungsdetails des Ressourcenbesitzers:
- Um die Authentifizierung des Forschungseigentümers mit dem Autorisierungscodetyp „Grand“ zuzulassen, wählen Sie „Autorisierungscode vom Gewährungstyp aktiv“ aus.
- Geben Sie eine Weiterleitungs URL von an
https://oauth.cdata.com/oauth/
.
-
Klicken Sie auf
Next
. Die Konsole zeigt den Bildschirm „Bereichszuweisung“ an. -
Fügen Sie unter „Bereichszuweisung“ die folgenden beiden Bereiche hinzu:
ZLEAVEREQUEST_0001
UndZLEAVEREQUESTAPPR_0001
. (Für eine Übersicht der verfügbaren OAuth 2.0 Scope IDs drücken SieF4-Help
.) -
Klicken Sie auf
Next
. Die Konsole zeigt den Bildschirm „OAuth 2.0-Client-Zusammenfassung“ an. -
Überprüfen Sie die OAuth 2.0-Client-Zusammenfassung, um sicherzustellen, dass sie Ihren Erwartungen entspricht, und klicken Sie dann auf
Finish
.
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 SAP Gateway-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 das SAP Gateway und verarbeitet den Rest der Abfrage dann im Speicher (clientseitig).
Benutzerdefinierte Ansichten
Mit dem SAP Gateway-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 SampleTable_1 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"
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 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 SAP Gateway Connector modelliert SAP Gateway Entitäten in relationalen Tabellen, Ansichten und gespeicherten Prozeduren. Die Tabellendefinitionen werden dynamisch vom OData Dienst abgerufen, mit dem Sie eine Verbindung herstellen. Alle Änderungen in den Metadaten, z. B. hinzugefügte oder entfernte Spalten oder Änderungen im Datentyp, können durch erneutes Herstellen der Verbindung geladen werden.
Tabellen
Der Connector modelliert die im Service-Metadatendokument beschriebenen beschreibbaren Entity-Sets und Singletons als bidirektionale Tabellen.
Ansichten
Auf einige OData-Entitäten kann nur über Navigationseigenschaften zugegriffen werden. Standardmäßig modelliert der Connector Navigationseigenschaften als separate Ansichten. Siehe Ansichten für weitere Informationen zum Abfragen von Navigationseigenschaften.
Gespeicherte Prozeduren
Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen zur Datenquelle. Sie können zum Suchen, Aktualisieren und Ändern von Informationen
in der Datenquelle verwendet werden.
Tabellen
Der Connector stellt Tabellen für jeden Entitätssatz und jedes Singleton bereit, das im OData Dienstdokument definiert ist. Entitäten in diesen Tabellen können mithilfe von standardmäßigen SQL-Anweisungen zum Einfügen, Aktualisieren oder Löschen eingefügt, aktualisiert oder gelöscht werden.
Ausführen von Deep Inserts mit SQL
Der Connector unterstützt OData Deep Inserts, bei denen Sie gleichzeitig eine Basisentität erstellen und diese mit verwandten Entitäten verknüpfen, indem Sie Navigationseigenschaften angeben. Um Navigationseigenschaften anzugeben für eine Entität erstellen Sie eine temporäre Tabelle für die Navigationseigenschaft und verweisen dann im Insert auf die temporäre Tabelle in der Basistabelle. Verweisen Sie in der entsprechenden Navigationseigenschaftsspalte in der Basistabelle auf die temporäre Tabelle. Jede Navigationseigenschaftsspalte ist mit dem Wort „Linked“ gekennzeichnet.
Beachten Sie, dass Sie die temporären Tabellen definieren und in derselben Verbindung in die Basisentität einfügen müssen. Alternativ können Sie anstelle der temporären Tabelle ein JSON/XML-Aggregat bereitstellen.
Beispiel: Deep Inserts im SAP Gateway
Betrachten Sie beispielsweise den Dienst GWSAMPLE_BASIC. Auf GWSAMPLE_BASIC gibt es eine SalesOrder-Tabelle. Beim Erstellen einer SalesOrder müssen Sie ein neues SalesOrderLineItem und einen vorhandenen BusinessPartner angeben. Dazu können Sie die folgenden Navigationseigenschaften angeben.
Erstellen temporärer Tabellen
Fügen Sie die zugehörigen Entitäten in temporäre Tabellen ein, die den einzelnen Navigationseigenschaften entsprechen. Sie können den Primärschlüssel einer vorhandenen Entität angeben oder eine neue Entität einfügen.
-
SalesOrderLineItems
: Die folgenden Anweisungen fügen der SalesOrder zwei SalesOrderLineItems hinzu:INSERT INTO SalesOrderLineItems#TEMP (ProductID, Quantity) VALUES ('P001', 15) INSERT INTO SalesOrderLineItems#TEMP (ProductID, Quantity) VALUES ('P002', 10)
-
BusinessPartners
: Die folgende Anweisung gibt den vorhandenen BusinessPartner an:INSERT INTO BusinessPartners#TEMP (BusinessPartnerID) VALUES ('BP001')
Notiz
BusinessPartner kann auch über die CustomerID-Eigenschaft direkt in der SalesOrder angegeben werden. In diesem Beispiel wird diese Spalte nicht verwendet, da möglicherweise nicht immer ein geeigneter Fremdschlüssel verfügbar ist.
Der SAP Gateway Connector geht davon aus, dass der BusinessPartner bereits vorhanden ist, und verknüpft nur die vorhandenen Referenzen, da nur die Primärschlüssel angegeben wurden. Wenn mehr als nur der Primärschlüssel definiert ist, wie im Beispiel für SalesOrderLines, versucht der SAP Gateway-Connector, neue Einträge zu erstellen - und löst damit den Deep Insert aus.
Einfügen der Entität
Verweisen Sie in der INSERT-Anweisung für die Basisentität auf die temporären Tabellen in den Spalten LinkedToLineItems und LinkedToBusinessPartner:
INSERT INTO SalesOrders (Note, LinkedToLineItems, LinkedToBusinessPartner)
VALUES ('New sales order', 'SalesOrderLineItems#TEMP', 'BusinessPartners#TEMP')
Codebeispiel
Nachfolgend finden Sie den vollständigen Code zum Erstellen des neuen ExternalUser:
Connection conn = DriverManager.getConnection(connectionStr);
Statement stat = conn.createStatement();
stat.executeUpdate("INSERT INTO SalesOrderLineItems#TEMP (ProductID, Quantity) VALUES ('P001', 15)");
stat.executeUpdate("INSERT INTO SalesOrderLineItems#TEMP (ProductID, Quantity) VALUES ('P002', 10)");
stat.executeUpdate("INSERT INTO BusinessPartners#TEMP (BusinessPartnerID) VALUES ('BP001')");
stat.executeUpdate("INSERT INTO SalesOrders (Note, LinkedToLineItems, LinkedToBusinessPartner) VALUES ('New sales order', 'SalesOrderLineItems#TEMP', 'BusinessPartners#TEMP')");
stat.close();
Verwenden von Aggregaten
Nachfolgend sehen Sie ein Beispiel für die Bereitstellung mehrerer Bestellpositionen als JSON-Aggregat:
INSERT INTO SalesOrderSet (Note, CustomerID, LinkedToLineItems) VALUES ('New sales order', '0100000001', '
[
{
"ProductID": "HT-1001",
"Quantity": 2,
"Note": "Test aggregate 1",
"DeliveryDate": "2024-12-20 13:20:10"
},
{
"ProductID": "HT-1001",
"Quantity": 4,
"Note": "Test aggregate 2",
"DeliveryDate": "2024-12-20 13:20:10"
}
]
')
Ansichten
Modellieren von Navigationseigenschaften
Standardmäßig werden die Connector-Modelle Navigationseigenschaften als separate Ansichten. Die Ansichten werden im Format ParentTable_NavigationProperty benannt.
Abfragen von Navigationseigenschaften
Ein Beispiel für die Arbeit mit einer Navigationseigenschaft als Ansicht finden Sie im Dienst GWSAMPLE_BASIC. Die Entität SalesOrder hat die Navigationseigenschaft ToLineItems. Der SAP Gateway-Connector zeigt eine Ansicht namens SalesOrders_ToLineItems an. Beim Abrufen von Daten aus SalesOrders_ToLineItems werden die SalesOrderLineItems-Objekte angezeigt, die einer bestimmten SalesOrder zugeordnet sind. Die Ansicht SalesOrders_ToLineItems hat einen Primärschlüssel, der aus der ID der übergeordneten Entität und der ID der verknüpften Entität besteht.
Beachten Sie, dass der Beispieldienst GWSAMPLE_BASIC auch Fremdschlüssel direkt für jede Entität enthält, z. B. eine SalesOrderID direkt für die Tabelle SalesOrderLineItems. In diesem Fall kann derselbe Effekt erzielt werden, indem Daten einfach direkt aus der Tabelle SalesOrderLineItems abgerufen werden. In OData ist es jedoch keine Voraussetzung, diese Fremdschlüssel zu haben, und es gibt auch keine Garantie dafür, dass jede Navigationseigenschaft einzeln als eigene Tabelle angezeigt wird. Da es keine Möglichkeit gibt, im Voraus zu wissen, was auf seinem eigenen Endpoint angezeigt werden könnte, zeigt der SAP Gateway Connector sowohl die Ansicht als auch die Tabelle an. Im Allgemeinen ist es am besten, Tabellen zu verwenden, wenn sie verfügbar sind, und Ansichten nur, wenn sie erforderlich sind (d. h.: Es wird keine Tabelle angezeigt oder es können keine Fremdschlüssel zum Identifizieren von Beziehungen verwendet werden).
Navigationseigenschaften
In OData ist eine Navigationseigenschaft eine Eigenschaft einer Entität, die selbst entweder eine einzelne Entität oder eine Liste von Entitäten ist.
Eine Navigationseigenschaft für eine einzelne Entität bedeutet eine Eins-zu-eins-Beziehung. Betrachten Sie beispielsweise den SAP Gateway Endpoint GWSAMPLE_BASIC. Das ProductSet enthält eine ToSupplier-Navigationseigenschaft, die auf eine einzelne BusinessPartner-Entität verweist.
Eine Navigationseigenschaft eines Entitätssatzes bedeutet eine Eins-zu-viele-Beziehung. Betrachten Sie beispielsweise den SAP Gateway Endpoint GWSAMPLE_BASIC. Das ProductSet enthält eine Navigationseigenschaft ToSalesOrderLineItems, die auf viele SalesOrderLineItem-Objekte verweist.
Relationales Arbeiten mit Navigationseigenschaften
Navigationseigenschaften in OData verknüpfen verwandte Entitäten. In einer relationalen Datenbank dient ein Fremdschlüssel auf ähnliche Weise zum Verknüpfen von Tabellen. Beispielsweise enthält der Datensatz SalesOrderLineItem die Spalte ProductID, die eindeutig identifiziert, welches Produkt das SalesOrderLineItem verwendet.
Wählen
Es kann verwendet werden, um zugehörige Entitäten abzurufen. Siehe Ansichten für weitere Informationen zum Abfragen von Navigationseigenschaften.
Einfügen
Der Connector unterstützt OData Deep Inserts. Siehe Tabellen für weitere Informationen zum Festlegen von Navigationseigenschaften beim Erstellen einer Entität.
Gespeicherte Prozeduren
Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen, die die Funktionalität des Connectors über einfache SELECT/INSERT/UPDATE/DELETE-Operationen mit SAP Gateway hinaus erweitern.
Gespeicherte Prozeduren akzeptieren eine Liste von Parametern, führen ihre beabsichtigte Funktion aus und geben dann alle relevanten Antwortdaten vom SAP Gateway zurück, zusammen mit einer Angabe, ob die Prozedur erfolgreich war oder fehlgeschlagen ist.
Gespeicherte Prozeduren für den SAP Gateway Connector
Name | Beschreibung |
---|---|
GetOAuthAccessToken | Ruft den OAuth-Zugriffstoken von SAPGateway ab. |
GetOAuthAuthorizationURL | Ruft die Autorisierungs URL für SAPGateway ab. Greifen Sie in einem Webbrowser auf die in der Ausgabe zurückgegebene URL zu. Dadurch wird das Zugriffstoken angefordert, das als Teil der Verbindungszeichenfolge für SAPGateway verwendet werden kann. |
RefreshOAuthAccessToken | Aktualisiert den OAuth-Zugriffstoken, der für die Authentifizierung mit SAPGateway verwendet wird. |
GetOAuthAccessToken
Ruft den OAuth-Zugriffstoken von SAPGateway ab.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
AuthMode | String | Falsch | Der zu verwendende Authentifizierungsmodustyp. Die zulässigen Werte sind APP, WEB. Die zulässigen Werte sind APP, WEB. Der Standardwert ist WEB. |
Verifier | String | Falsch | Das von SAPGateway zurückgegebene Verifier-Token nach Verwendung der mit GetOAuthAuthorizationURL erhaltenen URL. Erforderlich, wenn AuthMode auf WEB eingestellt ist. |
CallbackUrl | String | Falsch | Die URL, zu der der Benutzer nach der Autorisierung Ihrer Anwendung weitergeleitet wird. |
Scope | String | Falsch | Der Bereich oder die Berechtigungen, die Sie anfordern. Der Bereich ist erforderlich, wenn er nicht als Verbindungseigenschaft festgelegt ist. |
State | String | Falsch | Jeder Wert, der mit dem Rückruf gesendet werden soll. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
OAuthAccessToken | String | Das von SAPGateway zurückgegebene Authentifizierungstoken. |
OAuthRefreshToken | String | Ein Token, der zum Abrufen eines neuen Zugriffstokens verwendet werden kann. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens in Sekunden. |
GetOAuthAuthorizationURL
Ruft die Autorisierungs-URL für SAPGateway ab. Greifen Sie in einem Webbrowser auf die in der Ausgabe zurückgegebene URL zu. Dadurch wird das Zugriffstoken angefordert, das als Teil der Verbindungszeichenfolge für SAPGateway verwendet werden kann.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
CallbackUrl | String | Falsch | Die URL, zu der SAPGateway zurückkehrt, nachdem der Benutzer Ihre App autorisiert hat. |
Scope | String | True | Der Umfang oder die Berechtigungen, die Sie anfordern. |
State | String | Falsch | Ein undurchsichtiger Wert, der vom Client verwendet wird, um den Status zwischen der Anforderung und dem Rückruf beizubehalten. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
URL | String | Die URL, die in einen Webbrowser eingegeben werden muss, um das Prüftoken abzurufen und den Datenanbieter damit zu autorisieren. |
Aktualisieren Sie das OAuthAccessToken
Aktualisiert das OAuth-Zugriffstoken, das für die Authentifizierung mit SAPGateway verwendet wird.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
OAuthRefreshToken | String | True | Das Aktualisierungstoken, das zum Aktualisieren des alten Tokens verwendet wurde. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
OAuthAccessToken | String | Das von SAPGateway zurückgegebene Authentifizierungstoken. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens. |
Systemtabellen
Sie können die in diesem Abschnitt beschriebenen Systemtabellen Abfrage, um auf Schema, Informationen zur Datenquellenfunktionalität und Statistiken zu Operation Charge.
Schematabellen
Die folgenden Tabellen geben Datenbankmetadaten für SAP Gateway 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:
- 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 SampleTable_1 zurück:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='SampleTable_1'
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 SampleProcedure zurück:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='SampleProcedure' 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 SampleTable_1 ab:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='SampleTable_1'
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:sapgateway: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 | Diverse 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. |
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 für die Verbindung mit SAP Gateway zu verwendende Authentifizierungstyp. |
URL | Legen Sie hier die URL Ihrer SAP Gateway Umfeld oder die vollständige URL des OData Dienstes fest. Alle weiteren Eigenschaften müssen mithilfe der Eigenschaft CustomUrlParams hinzugefügt werden. |
Namespace | Geben Sie den Service-Namespace an, aus dem Sie Daten abrufen möchten. Dies ist erforderlich, wenn der Service nicht in der URL angegeben ist. |
Service | Geben Sie den Dienst an, von dem Sie Daten abrufen möchten. Dies ist erforderlich, wenn der Dienst nicht in der URL angegeben ist. |
User | Das zur Authentifizierung verwendete SAP Gateway Benutzerkonto. |
Password | Das zur Authentifizierung des Benutzers verwendete Kennwort. |
APIKey | Setzen Sie hier den Schlüssel der von Ihnen erstellten Anwendung. Wenn Sie dies festlegen, werden Benutzer und Passwort nicht zur Authentifizierung verwendet. |
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://' . |
Scope | Die Berechtigungsbereiche in durch Leerzeichen getrennten Werten. Dies ist bei der Authentifizierung über den OAuth2.0-Flow erforderlich. |
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. |
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 |
---|---|
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. |
UseDisplayNames | Boolescher Wert, der bestimmt, ob SAP -Beschriftungen verwendet werden sollen oder nicht. |
Eigenschaft | Beschreibung |
---|---|
CustomUrlParams | Die benutzerdefinierte Abfrage, die in die Anforderung aufgenommen werden soll. |
DataFormat | Das Datenformat, in dem die Daten abgerufen werden sollen. Wählen Sie entweder XML oder JSON. |
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 vom SAP Gateway 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. |
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 für die Verbindung mit SAP Gateway zu verwendende Authentifizierungstyp. |
URL | Legen Sie hier die URL Ihrer SAP Gateway Umfeld oder die vollständige URL des OData Dienstes fest. Alle weiteren Eigenschaften müssen mithilfe der Eigenschaft CustomUrlParams hinzugefügt werden. |
Namespace | Geben Sie den Service-Namespace an, aus dem Sie Daten abrufen möchten. Dies ist erforderlich, wenn der Service nicht in der URL angegeben ist. |
Service | Geben Sie den Dienst an, von dem Sie Daten abrufen möchten. Dies ist erforderlich, wenn der Dienst nicht in der URL angegeben ist. |
User | Das zur Authentifizierung verwendete SAP Gateway Benutzerkonto. |
Password | Das zur Authentifizierung des Benutzers verwendete Kennwort. |
APIKey | Setzen Sie hier den Schlüssel der von Ihnen erstellten Anwendung. Wenn Sie dies festlegen, werden Benutzer und Passwort nicht zur Authentifizierung verwendet. |
AuthScheme
Der bei der Verbindung mit SAP Gateway zu verwendende Authentifizierungstyp.
Mögliche Werte
Auto
, OAuth
, Basic
, Token
Datentyp
string
Standardwert
Auto
Hinweise
- Automatisch: Lässt den Treiber automatisch basierend auf den anderen von Ihnen festgelegten Verbindungseigenschaften entscheiden.
- OAuth: Legen Sie dies fest, um eine OAuth-Authentifizierung durchzuführen.
- Basic: Legen Sie diese Option fest, um die BASIC-Benutzer-/Passwort-Authentifizierung zu verwenden.
- Token: Legen Sie dies fest, um die Authentifizierung mit einem APIKey zu ermöglichen.
URL
Legen Sie dies auf die URL Ihrer SAP Gateway Umfeld oder auf die vollständige URL des OData Dienstes fest. Alle zusätzlichen Eigenschaften müssen mithilfe der Eigenschaft CustomUrlParams hinzugefügt werden.
Datentyp
string
Standardwert
""
Hinweise
Legen Sie dies auf die URL Ihrer SAP Gateway Umfeld oder auf die vollständige URL des OData Dienstes fest. Alle zusätzlichen Eigenschaften müssen mithilfe der Eigenschaft CustomUrlParams hinzugefügt werden.
Namensraum
Geben Sie den Dienst-Namespace an, aus dem Sie Daten abrufen möchten. Dies ist erforderlich, wenn der Dienst nicht in der URL angegeben ist.
Datentyp
string
Standardwert
""
Hinweise
Geben Sie den Namespace an, aus dem Sie Daten abrufen möchten. Beispielsweise im externen OData-Dienst: http://services.odata.org/Northwind/Northwind.svc/
, „Northwind“ ist der Service-Namespace. Dies ist erforderlich, wenn der Service nicht in der URL angegeben ist.
Service
Geben Sie den Dienst an, von dem Sie Daten abrufen möchten. Dies ist erforderlich, wenn der Dienst nicht in der URL angegeben ist.
Datentyp
string
Standardwert
""
Hinweise
Geben Sie den Dienst an, von dem Sie Daten abrufen möchten. Dies ist erforderlich, wenn der Dienst nicht in der URL angegeben ist.
Benutzer
Das zur Authentifizierung verwendete SAP Gateway-Benutzerkonto.
Datentyp
string
Standardwert
""
Hinweise
Zusammen mit Passwort, wird dieses Feld zur Authentifizierung gegenüber dem SAP Gateway Server verwendet.
Passwort
Das zur Authentifizierung des Benutzers verwendete Passwort.
Datentyp
string
Standardwert
""
Hinweise
Der Benutzer Und Password
werden zusammen zur Authentifizierung beim Server verwendet.
APISchlüssel
Setzen Sie hier den Schlüssel der von Ihnen erstellten Anwendung. Wenn Sie dies festlegen, werden Benutzer und Passwort nicht zur Authentifizierung verwendet.
Datentyp
string
Standardwert
""
Hinweise
Setzen Sie hier den Schlüssel der von Ihnen erstellten Anwendung. Wenn Sie dies festlegen, werden Benutzer und Passwort nicht zur Authentifizierung verwendet.
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://' . |
Scope | Die Berechtigungsbereiche in durch Leerzeichen getrennten Werten. Dies ist bei der Authentifizierung über den OAuth2.0-Flow erforderlich. |
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. |
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 per 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%\CData\Acumatica Data Provider\OAuthSettings.txt
Hinweise
Wenn InitiateOAuth ist auf gesetzt GETANDREFRESH
oder REFRESH
, der Treiber 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 auch den Speicherort angeben. Speicherorte werden durch einen Wert angegeben, der mit '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%\CData\ Acumatica Data Provider\OAuthSettings.txt“ mit %APPDATA%
auf das Konfigurationsverzeichnis des Benutzers gesetzt. Die Standardwerte sind
- Windows: "
register://%DSN
" - Unix: "%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 |
Linux | ~/.config |
Umfang
Die Berechtigungsbereiche in durch Leerzeichen getrennten Werten. Dies ist bei der Authentifizierung über den OAuth2.0-Flow erforderlich.
Datentyp
string
Standardwert
""
Hinweise
Die Berechtigungsbereiche, die Sie beim Erstellen des Servicebenutzers für den OAuth 2.0-Client konfiguriert haben, in durch Leerzeichen getrennten Werten. Dies ist bei der Authentifizierung über den OAuth2.0-Flow erforderlich.
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.
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.
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 per 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. |
UseDisplayNames | Boolescher Wert, der bestimmt, ob SAP -Beschriftungen verwendet werden sollen oder nicht. |
Standort
Ein Pfad zum Verzeichnis, das die Schema enthält, die Tabellen, Ansichten und gespeicherte Prozeduren definieren.
Datentyp
string
Standardwert
%APPDATA%\SAPGateway 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%\SAPGateway 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.
Anzeigenamen verwenden
Boolescher Wert, der bestimmt, ob SAP -Beschriftungen verwendet werden sollen oder nicht.
Datentyp
bool
Standardwert
false
Hinweise
Boolescher Wert, der bestimmt, ob SAP -Beschriftungen verwendet werden sollen oder nicht.
Wenn dieser Wert auf „true“ gesetzt ist, dienen die Beschriftungen, die Sie in Ihrem Konto für die OData-Eigenschaften konfiguriert haben, als Spaltennamen. Andernfalls wird der Name der Eigenschaft zum Spaltennamen.
Verschiedenes
Dieser Abschnitt enthält eine vollständige Liste verschiedener Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
CustomUrlParams | Die benutzerdefinierte Abfrage, die in die Anforderung aufgenommen werden soll. |
DataFormat | Das Datenformat, in dem die Daten abgerufen werden sollen. Wählen Sie entweder XML oder JSON. |
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 vom SAP Gateway 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. |
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. |
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 aufgenommen 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.
Datenformat
Das Datenformat, in dem Daten abgerufen werden sollen. Wählen Sie entweder XML oder JSON.
Mögliche Werte
XML
, JSON
Datentyp
string
Standardwert
XML
Hinweise
Das Datenformat, in dem die Daten abgerufen werden. Mögliche Werte sind JSON und XML. Wenn nicht angegeben, wird standardmäßig XML verwendet.
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 vom SAP Gateway zurückgegeben werden sollen.
Datentyp
int
Standardwert
5000
Hinweise
Der Pagesize
Die Eigenschaft beeinflusst die maximale Anzahl von Ergebnissen, die pro Seite von SAP Gateway 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.
Verwenden Sie DynamicStoredProcedures
Ein Boolescher Wert, der angibt, ob dynamische gespeicherte Prozeduren angezeigt werden sollen.
Datentyp
bool
Standardwert
false
Hinweise
Ein Boolescher Wert, der angibt, ob dynamische gespeicherte Prozeduren angezeigt werden sollen.
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 SampleTable_1 WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
Verwenden Sie die UserDefinedViews
Verbindungseigenschaft zur Angabe des Speicherorts Ihrer JSON-Konfigurationsdatei. Beispiel:
"UserDefinedViews", C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json
Beachten Sie, dass der angegebene Pfad nicht in Anführungszeichen steht.