IBM Cloudant-Verbindungsdetails
Einführung
Connector-Version
Diese Dokumentation basiert auf Version 23.0.8803 des Connectors.
Erste Schritte
Cloudant-Versionsunterstützung
Der Connector nutzt die Cloudant API, um bidirektionalen Zugriff auf Cloudant-Daten über Standard-SQL zu ermöglichen. Siehe Query Mapping für SQL-zu-Cloudant-Abfragezuordnungen und weitere Informationen zum Zugriff auf unstrukturierte Daten in Cloudant über SQL.
Herstellen einer Verbindung
Authentifizieren bei Cloudant
Cloudant unterstützt drei Arten der Authentifizierung:
-
Auto (Standard): Der Connector entscheidet, wie Sie authentifiziert werden, basierend auf
den anderen Verbindungseigenschaften, die Sie festgelegt haben.
-
Basic: Einfache Benutzername/Passwort-Authentifizierung. festlegen
AuthScheme
ZuBasic
. -
OAuth: Führt eine Authentifizierung auf Basis des OAuth-Standards durch. Set
AuthScheme
ZuOAuth
und geben Sie die Werte für die Cloudant-Instanz anAPIKey
UndURL
.
IBM Cloudant Legacy
Um eine Verbindung über IBM Cloudant Legacy herzustellen, stellen Sie sicher, dass Sie über gültige IBM Cloudant-Serviceanmeldeinformationen verfügen.
So erstellen Sie Anmeldeinformationen für den IBM Cloudant-Service:
- Melden Sie sich beim an
IBM Cloud dashboard
. - Navigieren Sie zu
Menu icon > Resource List
und öffnen Sie Ihre IBM Cloudant-Serviceinstanz. - Klicken Sie im Menü auf
Service credentials
. - Klicken Sie auf
New credential
. Cloudant zeigt ein anAdd new credential
Fenster. - Geben Sie einen Namen für die neue Anmeldeinformation ein.
- Klicken Sie auf
Add
. Ihre Anmeldeinformationen werden der Tabelle „Dienstanmeldeinformationen“ hinzugefügt. - Klicken Sie auf
Actions > View credentials
. - Extrahieren Sie die Werte für
User
UndPassword
aus der JSON-Datei.
Verwenden Sie die gerade erhaltenen Werte, um festzulegen User
Und Password
.
Authentifizieren gegenüber einer lokalen Instanz
Cloudant unterstützt die Authentifizierung bei Daten in lokalen Instanzen ab Version 1.1.0. Um sich bei Ihrer lokalen Instanz zu authentifizieren, legen Sie diese Parameter fest:
URL
: Die URL Ihrer lokalen Instanz. Beispiel:http://localhost:8006
User
: Ihr Benutzername.Password
: Ihr Passwort.
Optimieren des Datenzugriffs
Optimieren des Datenzugriffs
Mit den folgenden Eigenschaften können Sie das Spaltenverhalten in Automatischer Schemaerkennung steuern.
RowScanDepth
: Diese Eigenschaft bestimmt die Anzahl der Zeilen, die beim Generieren von Tabellenmetadaten gescannt werden, um Spaltendatentypen zu erkennen.TypeDetectionScheme
: Diese Eigenschaft ermöglicht mehr Kontrolle über die von implementierte StrategieRowScanDepth
Eigentum.
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.
NoSQL-Datenbank
Cloudant ist eine schemalose Dokumentdatenbank, die hohe Leistung, Verfügbarkeit und Skalierbarkeit bietet. Diese Funktionen sind nicht unbedingt inkompatibel mit einer standardkonformen Abfrage wie SQL-92. Die folgenden Abschnitte zeigen verschiedene Schemata, die der Connector bietet, um die Lücke zwischen relationalem SQL und einer Dokumentdatenbank zu schließen.
Der Connector modelliert die schemalosen Cloudant-Objekte in relationale Tabellen und übersetzt SQL-Abfragen in Cloudant-Abfragen, um die angeforderten Daten abzurufen. Siehe Abfragezuordnung für weitere Einzelheiten dazu, wie verschiedene Cloudant-Operationen als SQL dargestellt werden.
Die Automatische Schemaerkennung-Schema findet automatisch die Datentypen in einem Cloudant-Objekt, indem es eine konfigurierte Anzahl von Zeilen des Objekts scannt. Sie können verwenden RowScanDepth
, FlattenArrays
, Und FlattenObjects
um die relationale Darstellung der Sammlungen in Cloudant zu steuern.
Das Schema der Tabelle ist notwendig, um Metadaten zu melden, aber Sie können Freiformabfragen schreiben nicht an das Schema gebunden, um Daten aus Spalten auszuwählen, einzufügen, zu aktualisieren oder zu löschen, die im Schema nicht vorhanden sind.
Der Connector unterstützt das Auflisten von Cloudant-Ansichten und das Abrufen von Daten aus diesen. Dies wird durch die Eigenschaft ListViews gesteuert, die standardmäßig auf „false“ gesetzt ist. Setzen Sie diese Eigenschaft auf „true“, damit beim Auflisten von Tabellen Cloudant-Ansichten angezeigt werden.
Automatische Schemaerkennung
Der Connector leitet automatisch ein relationales Schema ab, indem er eine Reihe von Cloudant-Dokumenten in einer Sammlung überprüft. Sie können die RowScanDepth
Eigenschaft, um die Anzahl der Dokumente zu definieren, die der Connector zu diesem Zweck scannt. Die während des Erkennungsprozesses identifizierten Spalten hängen von der ab FlattenArrays
Und FlattenObjects
Eigenschaften.
Objekte abflachen
Wenn FlattenObjects
gesetzt ist, werden alle verschachtelten Objekte in eine Reihe von Spalten zusammengefasst. Betrachten Sie beispielsweise das folgende Dokument:
{
id: 12,
name: "Lohia Manufacturers Inc.",
address: {street: "Main Street", city: "Chapel Hill", state: "NC"},
offices: ["Chapel Hill", "London", "New York"],
annual_revenue: 35,600,000
}
Dieses Dokument wird durch die folgenden Spalten dargestellt:
Spaltenname | Datentyp | Beispielwert |
---|---|---|
id | Ganzzahl | 12 |
Name | Zeichenfolge | Lohia Manufacturers Inc. |
Adresse.Straße | String | Hauptstraße |
Adresse.Stadt | Zeichenfolge | Chapel Hill |
Adresse.Status | Zeichenfolge | NC |
Büros | String | ["Chapel Hill", "London", "New York"] |
Jahresumsatz | Doppelt | 35.600.000 |
Wenn FlattenObjects
nicht gesetzt ist, werden die Spalten address.street, address.city und address.state nicht aufgeteilt. Die Adressspalte vom Typ string stellt stattdessen das gesamte Objekt dar. Ihr Wert wäre {street: "Main Street", city: "Chapel Hill", state: "NC"}
. Siehe JSON-Funktionen für weitere Details zum Arbeiten mit JSON-Aggregaten. Sie können das Trennzeichen im Spaltennamen von einem Punkt ändern, indem Sie SeparatorCharacter
.
Arrays abflachen
Der FlattenArrays
-Eigenschaft kann verwendet werden, um Array-Werte in eigene Spalten zu reduzieren. Dies wird nur für Arrays empfohlen, die voraussichtlich kurz sind, beispielsweise die folgenden Koordinaten:
"coord": [-73.856077, 40.848447 ]
Die FlattenArrays
Eigenschaft kann auf 2 gesetzt werden, um das obige Array wie folgt darzustellen:
Spaltenname | Datentyp | Beispielwert |
---|---|---|
Koordinate.0 | Float | -73.856077 |
Koordinate 1 | Float | 40,848447 |
Andere unbegrenzte Arrays lassen Sie am besten so, wie sie sind, und teilen die Daten bei Bedarf mithilfe von JSON-Funktionen aus.
Freiformabfragen
Wie in Automatische Schemaerkennung besprochen, intuitive Tabellenschemata ermöglichen SQL-Zugriff auf unstrukturierte Cloudant-Daten. JSON-Funktionen ermöglichen Ihnen die Verwendung von JSON-Standardfunktionen, um Cloudant-Daten zusammenzufassen und Werte aus beliebigen verschachtelten Strukturen zu extrahieren. Sie sind jedoch nicht auf diese Schemata beschränkt.
Nach dem Verbinden können Sie jede verschachtelte Struktur Abfrage, ohne die Daten zu reduzieren. Alle Beziehungen, auf die Sie mit zugreifen können,FlattenArrays
Und FlattenObjects
kann auch mit einer Ad-hoc-SQL- Abfrage aufgerufen werden.
Betrachten wir ein Beispieldokument aus dem folgenden Restaurant-Datensatz:
{
"address": {
"building": "1007",
"coord": [
-73.856077,
40.848447
],
"street": "Morris Park Ave",
"zipcode": "10462"
},
"borough": "Bronx",
"cuisine": "Bakery",
"grades": [
{
"grade": "A",
"score": 2,
"date": {
"$date": "1393804800000"
}
},
{
"date": {
"$date": "1378857600000"
},
"grade": "B",
"score": 6
},
{
"score": 10,
"date": {
"$date": "1358985600000"
},
"grade": "C"
}
],
"name": "Morris Park Bake Shop",
"restaurant_id": "30075445"
}
Sie können auf jede verschachtelte Struktur in diesem Dokument als Spalte zugreifen. Verwenden Sie die Punktnotation, um zu den Werten zu gelangen, auf die Sie zugreifen möchten, wie in der folgenden Abfrage gezeigt. Beachten Sie, dass Arrays einen nullbasierten Index haben. Die folgende Abfrage ruft beispielsweise die zweite Klasse für das Restaurant im Beispiel ab:
SELECT [address.building],`[Noten.1.Klasse] `FROM restaurants WHERE restaurant_id = '30075445'
Die obige Abfrage gibt die folgenden Ergebnisse zurück:
Spaltenname | Datentyp | Beispielwert |
---|---|---|
Adresse.Gebäude | Zeichenfolge | 1007 |
Noten.1.Klasse | Zeichenfolge | A |
Vertikale Abflachung
Es ist möglich, ein Array von Dokumenten abzurufen, als wäre es eine separate Tabelle. Nehmen Sie zum Beispiel die folgende JSON-Struktur aus der Restaurantsammlung:
{
"_id" : ObjectId("568c37b748ddf53c5ed98932"),
"address" : {
"building" : "1007",
"coord" : [-73.856077, 40.848447],
"street" : "Morris Park Ave",
"zipcode" : "10462"
},
"borough" : "Bronx",
"cuisine" : "Bakery",
"grades" : [{
"date" : ISODate("2014-03-03T00:00:00Z"),
"grade" : "A",
"score" : 2
}, {
"date" : ISODate("2013-09-11T00:00:00Z"),
"grade" : "A",
"score" : 6
}, {
"date" : ISODate("2013-01-24T00:00:00Z"),
"grade" : "A",
"score" : 10
}, {
"date" : ISODate("2011-11-23T00:00:00Z"),
"grade" : "A",
"score" : 9
}, {
"date" : ISODate("2011-03-10T00:00:00Z"),
"grade" : "B",
"score" : 14
}],
"name" : "Morris Park Bake Shop",
"restaurant_id" : "30075445"
}
Durch vertikales Abflachen können Sie das Noten-Array als separate Tabelle abrufen:
SELECT * FROM [restaurants.grades]
Diese Abfrage gibt den folgenden Datensatz zurück:
Datum | Note | Punktzahl | P_id | _index |
---|---|---|---|---|
2014-03-03T00:00:00.000Z | A | 2 | 568c37b748ddf53c5ed98932 | 1 |
2013-09-11T00:00:00.000Z | A | 6 | 568c37b748ddf53c5ed98932 | 2 |
2013-01-24T00:00:00.000Z | A | 10 | 568c37b748ddf53c5ed98932 | 3 |
Möglicherweise möchten Sie auch Informationen aus der Basistabelle „Restaurants“ einschließen. Dies können Sie mit einem Join tun. Abgeflachte Arrays können nur mit dem Stammdokument verknüpft werden. Der Connector erwartet, dass der linke Teil des Joins das Array-Dokument ist, das Sie vertikal abflachen möchten. Deaktivieren Sie SupportEnhancedSQL
zum Verbinden verschachtelter Cloudant-Dokumente - dieser Abfrage wird durch die Cloudant API unterstützt.
SELECT [restaurants].[restaurant_id], [restaurants.grades].* FROM`[Restaurants.Noten] `JOIN` [Restaurants] `WHERE [restaurants].name = 'Morris Park Bake Shop'
Diese Abfrage gibt den folgenden Datensatz zurück:
restaurant_id | Datum | Note | Punktzahl | P_id | _index |
---|---|---|---|---|---|
30075445 | 2014-03-03T00:00:00.000Z | A | 2 | 568c37b748ddf53c5ed98932 | 1 |
30075445 | 2013-09-11T00:00:00.000Z | A | 6 | 568c37b748ddf53c5ed98932 | 2 |
30075445 | 2013-01-24T00:00:00.000Z | A | 10 | 568c37b748ddf53c5ed98932 | 3 |
30075445 | 23.11.2011T00:00:00.000Z | A | 9 | 568c37b748ddf53c5ed98932 | 4 |
30075445 | 2011-03-10T00:00:00.000Z | B | 14 | 568c37b748ddf53c5ed98932 | 5 |
JSON-Funktionen
Der Connector kann JSON-Strukturen als Spaltenwerte zurückgeben. Der Connector ermöglicht Ihnen die Verwendung von Standard-SQL-Funktionen zum Arbeiten mit diesen JSON-Strukturen. Die Beispiele in diesem Abschnitt verwenden das folgende Array:
[
{ "grade": "A", "score": 2 },
{ "grade": "A", "score": 6 },
{ "grade": "A", "score": 10 },
{ "grade": "A", "score": 9 },
{ "grade": "B", "score": 14 }
]
JSON_EXTRACT
Die Funktion JSON_EXTRACT kann einzelne Werte aus einem JSON-Objekt extrahieren. Die folgende Abfrage gibt die unten gezeigten Werte basierend auf dem JSON-Pfad zurück, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_EXTRACT(grades,'[0].grade') AS Grade, JSON_EXTRACT(grades,'[0].score') AS Score FROM Students;
Spaltenname | Beispielwert |
---|---|
Grade | EIN |
Score | 2 |
JSON_ANZAHL
Die Funktion JSON_COUNT gibt die Anzahl der Elemente in einem JSON-Array innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt die Anzahl der Elemente zurück, die durch den JSON-Pfad angegeben werden, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;
Spaltenname | Beispielwert |
---|---|
NumberOfGrades | 5 |
JSON_SUM
Die Funktion JSON_SUM gibt die Summe der numerischen Werte eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt die Summe der Werte zurück, die durch den JSON-Pfad angegeben werden, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_SUM(score,'[x].score') AS TotalScore FROM Students;
Spaltenname | Beispielwert |
---|---|
TotalScore | 41 |
JSON_MIN
Die Funktion JSON_MIN gibt den niedrigsten numerischen Wert eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt den Mindestwert zurück, der durch den JSON-Pfad angegeben wird, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_MIN(score,'[x].score') AS LowestScore FROM Students;
Spaltenname | Beispielwert |
---|---|
LowestScore | 2 |
JSON_MAX
Die Funktion JSON_MAX gibt den höchsten numerischen Wert eines JSON-Arrays innerhalb eines JSON-Objekts zurück. Die folgende Abfrage gibt den Maximalwert zurück, der durch den JSON-Pfad angegeben wird, der als zweites Argument an die Funktion übergeben wird:
SELECT Name, JSON_MAX(score,'[x].score') AS HighestScore FROM Students;
Spaltenname | Beispielwert |
---|---|
HighestScore | 14 |
DOKUMENTIEREN
Mit der Funktion DOCUMENT kann das gesamte Dokument als JSON-Zeichenfolge abgerufen werden. Sehen Sie sich als Beispiel die folgende Abfrage und ihr Ergebnis an:
SELECT DOCUMENT(*) FROM Customers;
Die obige Abfrage gibt das gesamte Dokument wie gezeigt zurück.
{ "id": 12, "name": "Lohia Manufacturers Inc.", "address": { "street": "Main Street", "city": "Chapel Hill", "state": "NC"}, "offices":`[ "Chapel Hill", "London", "New York" ], `"annual_revenue": 35,600,000 }
Abfragezuordnung
Der Connector ordnet SQL-Abfragen den entsprechenden Cloudant-Abfragen zu. Der Connector verwendet die Selector-Syntax, um die gewünschten Ergebnisse zu berechnen.
Eine detaillierte Beschreibung aller Transformations liegt außerhalb des Rahmens, wir werden jedoch einige der verwendeten allgemeinen Elemente beschreiben.
SELECT-Abfragen
Die SELECT-Anweisung wird den GET- und POST-Methoden zugeordnet. Nachfolgend finden Sie Beispielabfragen und die entsprechenden Anforderungsnutzdaten.
SQL-Abfrage | Cloudant-Abfrage |
| Für diese Abfrage wird eine GET-Anfrage an den Endpoint/_all_docs gesendet. |
|
|
|
|
|
|
|
|
|
|
|
|
INSERT-Anweisungen
Die INSERT-Anweisung wird der HTTP-POST-Anforderung zugeordnet, wie in der folgenden Abfrage und Payload gezeigt.
SQL Query
INSERT INTO users (_id, age, status,`[Adresse.Stadt], `[address.postalcode])
VALUES ('bcd001', 45, 'A', 'Chapel Hill', 27517)
Cloudant-Abfrage
{
"address": {
"city": "Chapel Hill",
"postalcode": 27517
},
"_id": "bcd001",
"age": 45,
"status": "A"
}
UPDATE-Anweisungen
Die UPDATE-Anweisung wird der HTTP-PUT-Methode zugeordnet, wie in der folgenden Abfrage und Payload gezeigt.
SQL-Abfrage
UPDATE users
SET status = 'C',`[Adresse.Postleitzahl] `= 90210
WHERE _id = 'bcd001'
Cloudant-Abfrage
{
"_id": "bcd001",
"_rev": "1-446f6c67e3a483feae8eaf112f18892c",
"status": "C",
"age": 45,
"address": {
"city": "Chapel Hill",
"postalcode": 90210
}
}
DELETE-Anweisungen
Die DELETE-Anweisung wird wie unten gezeigt der DELETE-Methode zugeordnet.
SQL-Abfrage
DELETE FROM users WHERE _id = 'bcd001'
Cloudant-Abfrage
Für diese Abfrage wird eine DELETE-Anforderung an den users/{_id}?rev={_re}
Endpoint.
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 Cloudant 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 „Movies“ zurück:
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Movies'
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 SelectEntries zurück:
SELECT * FROM sys_procedureparameters WHERE ProcedureName='SelectEntries' 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 „Movies“ ab:
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Movies'
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:cloudant: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 Verbindung erforderlich ist. |
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 Sie die 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 Uhrzeit 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 NoSQL-Datenbank 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. |
Gespeicherte Prozeduren
Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen, die die Funktionalität des Connectors über einfache SELECT/INSERT/UPDATE/DELETE-Operationen mit Cloudant hinaus erweitern.
Gespeicherte Prozeduren akzeptieren eine Liste von Parametern, führen ihre beabsichtigte Funktion aus und geben dann alle relevanten Antwortdaten von Cloudant zurück, zusammen mit einer Angabe, ob die Prozedur erfolgreich war oder fehlgeschlagen ist.
Jitterbit-Connector für gespeicherte Prozeduren in Cloudant
Name | Beschreibung |
---|---|
CreateSchema | Erstellt eine Schema einer Tabelle in Cloudant. Steuern Sie die Spaltenerkennung mit FlattenObjects, FlattenArrays, TypeDetectionScheme und RowScanDepth. |
GetOAuthAccessToken | Ruft ein Authentifizierungstoken von IBM Cloud ab. Beim Aufrufen dieser gespeicherten Prozedur muss die Verbindungseigenschaft ApiKey angegeben werden. |
RefreshOAuthAccessToken | Aktualisiert das OAuth-Zugriffstoken, das für die Authentifizierung bei IBM Cloud verwendet wird. Beim Aufrufen dieser gespeicherten Prozedur muss die Verbindungseigenschaft ApiKey angegeben werden. |
Schema erstellen
Erstellt eine Schema einer Tabelle in Cloudant. Steuern Sie die Spaltenerkennung mit FlattenObjects, FlattenArrays, TypeDetectionScheme und RowScanDepth.
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. |
FileName | String | Falsch | Falsch | Der vollständige Dateipfad und Name des zu generierenden Schema. Wenn nicht festgelegt, wird stattdessen die FileData-Ausgabe verwendet. Beispiel: „C:\Benutzer\Benutzer\Desktop\Cloudant\sheet.rsd“ |
SimplifyNames | String | Falsch | Falsch | Ob einfache Namen für Spalten ausgegeben werden sollen oder nicht. Standardmäßig wird vereinfacht. |
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 |
---|---|---|
Result | String | Ob das Schema erfolgreich heruntergeladen wurde oder nicht. |
FileData | String | Das generierte Schema ist in Base64 kodiert. Wird nur zurückgegeben, wenn FileName oder FileStream nicht festgelegt ist. |
GetOAuthAccessToken
Ruft ein Authentifizierungstoken von IBM Cloud ab. Beim Aufrufen dieser gespeicherten Prozedur muss die Verbindungseigenschaft ApiKey angegeben werden.
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
OAuthAccessToken | String | Das für die Kommunikation mit IBM Cloud verwendete Zugriffstoken. |
OAuthRefreshToken | String | Das OAuth-Aktualisierungstoken. Dies ist dasselbe wie das Zugriffstoken im Fall von IBM Cloud. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens. Eine -1 bedeutet, dass es nicht abläuft. |
Aktualisieren Sie das OAuthAccessToken
Aktualisiert das OAuth-Zugriffstoken, das für die Authentifizierung mit IBM Cloud verwendet wird. Die Verbindungseigenschaft ApiKey muss beim Aufruf dieser gespeicherten Prozedur angegeben werden.
Eingang
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
OAuthRefreshToken | String | True | Das vom ursprünglichen Autorisierungscode-Austausch zurückgegebene Aktualisierungstoken. |
Ergebnissatzspalten
Name | Typ | Beschreibung |
---|---|---|
OAuthAccessToken | String | Das von IBM Cloud zurückgegebene Authentifizierungstoken. Dieses kann in nachfolgenden Aufrufen anderer Vorgänge für diesen bestimmten Dienst verwendet werden. |
OAuthRefreshToken | String | Ein Token, der zum Abrufen eines neuen Zugriffstokens verwendet werden kann. |
ExpiresIn | String | Die verbleibende Lebensdauer des Zugriffstokens. |
Erweiterte Funktionen
In diesem Abschnitt wird eine Auswahl erweiterter Funktionen des Cloudant-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 Cloudant und verarbeitet den Rest der Abfrage dann im Speicher (clientseitig).
Benutzerdefinierte Ansichten
Mit dem Jitterbit Connector für Cloudant 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 Movies 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"
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.
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 Cloudant zu verwendende Authentifizierungstyp. |
URL | Die für die Verbindung mit Cloudant verwendete URL. |
User | Das zur Authentifizierung verwendete Cloudant-Benutzerkonto. |
Password | Das zur Authentifizierung des Benutzers verwendete Kennwort. |
ApiKey | Der API Schlüssel, der zur Identifizierung des Benutzers gegenüber IBM Cloud verwendet wird. |
Eigenschaft | Beschreibung |
---|---|
InitiateOAuth | Legen Sie diese Eigenschaft fest, um den Prozess zum Abrufen oder Aktualisieren des OAuth-Zugriffstokens beim Herstellen einer Verbindung zu starten. |
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://' . |
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. |
ListViews | Ob Ansichten von Cloudant aufgelistet werden sollen oder nicht. |
Eigenschaft | Beschreibung |
---|---|
FlattenArrays | Legen Sie FlattenArrays auf die Anzahl der Array-Elemente fest, die in Spalten zusammengefasst werden sollen. Andernfalls werden Arrays als JSON-Strings zurückgegeben. |
FlattenObjects | Setzen Sie FlattenObjects auf „true“, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden eingebettete Objekte als reine JSON-Zeichenfolgen angezeigt. |
FlexibleSchema | Setzen Sie FlexibleSchema auf „true“, um nach zusätzlichen Metadaten im Abfrage zu suchen. Andernfalls bleiben die Metadaten gleich. |
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 Cloudant zurückgegeben werden sollen. |
PseudoColumns | Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht. |
RowScanDepth | Die maximale Anzahl der zu scannenden Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen. |
SeparatorCharacter | Das oder die Zeichen, die zur Kennzeichnung der Hierarchie verwendet werden. |
Timeout | Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird. |
TypeDetectionScheme | Option, wie der Anbieter die Daten scannt, um die Felder und Datentypen in jeder Dokumentsammlung zu bestimmen. |
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 Cloudant zu verwendende Authentifizierungstyp. |
URL | Die für die Verbindung mit Cloudant verwendete URL. |
User | Das zur Authentifizierung verwendete Cloudant-Benutzerkonto. |
Password | Das zur Authentifizierung des Benutzers verwendete Kennwort. |
ApiKey | Der API Schlüssel, der zur Identifizierung des Benutzers gegenüber IBM Cloud verwendet wird. |
AuthScheme
Die Art der Authentifizierung, die bei der Verbindung mit Cloudant verwendet werden soll.
Mögliche Werte
Auto
, Basic
, OAuth
Datentyp
string
Standardwert
Auto
Hinweise
- Automatisch: Lässt den Treiber automatisch basierend auf den anderen von Ihnen festgelegten Verbindungseigenschaften entscheiden.
- Basic: Legen Sie diese Option fest, um die BASIC-Benutzer-/Passwort-Authentifizierung zu verwenden.
- OAuth: Legen Sie dies fest, um eine OAuth-Authentifizierung durchzuführen. Für diese Methode benötigen Sie den API-Schlüssel und die URL der Cloudant-Instanz.
URL
Die für die Verbindung mit Cloudant verwendete URL.
Datentyp
string
Standardwert
""
Hinweise
Die zur Verbindung mit Cloudant verwendete HTTP- oder HTTPS- URL im Format https://{instance id}-bluemix.cloudantnosqldb.appdomain.cloud
oder im Falle eines selbst gehosteten Servers http[s]://{server}:{Port}
Benutzer
Das zur Authentifizierung verwendete Cloudant-Benutzerkonto.
Datentyp
string
Standardwert
""
Hinweise
Zusammen mit Passwort, dieses Feld wird zur Authentifizierung gegenüber dem Cloudant-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.
API-Schlüssel
Der API Schlüssel, der zur Identifizierung des Benutzers gegenüber IBM Cloud verwendet wird.
Datentyp
string
Standardwert
""
Hinweise
Der Zugriff auf Ressourcen in der Cloudant REST API wird über einen API Schlüssel geregelt, um Token abzurufen. Ein API Schlüssel wird erstellt, indem Sie zu Verwalten --> Zugriff (IAM) --> Benutzer navigieren und auf „Erstellen“ klicken.
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. |
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://' . |
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.
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%\Cloudant 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%\Cloudant 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 |
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. |
ListViews | Ob Ansichten von Cloudant aufgelistet 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%\Cloudant 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%\Cloudant 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.
Listenansichten
Ob Ansichten von Cloudant aufgelistet werden sollen oder nicht.
Datentyp
bool
Standardwert
false
Hinweise
Setzen Sie diese Eigenschaft auf „true“, damit Cloudant-Ansichten beim Auflisten von Tabellen angezeigt werden.
Verschiedenes
Dieser Abschnitt enthält eine vollständige Liste verschiedener Eigenschaften, die Sie konfigurieren können.
Eigenschaft | Beschreibung |
---|---|
FlattenArrays | Legen Sie FlattenArrays auf die Anzahl der Array-Elemente fest, die in Spalten zusammengefasst werden sollen. Andernfalls werden Arrays als JSON-Strings zurückgegeben. |
FlattenObjects | Setzen Sie FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden eingebettete Objekte als reine JSON-Zeichenfolgen angezeigt. |
FlexibleSchema | Setzen Sie FlexibleSchema auf „true“, um nach zusätzlichen Metadaten im Abfrage zu suchen. Andernfalls bleiben die Metadaten gleich. |
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 Cloudant zurückgegeben werden sollen. |
PseudoColumns | Diese Eigenschaft gibt an, ob Pseudospalten als Spalten in die Tabelle aufgenommen werden sollen oder nicht. |
RowScanDepth | Die maximale Anzahl der zu scannenden Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen. |
SeparatorCharacter | Das oder die Zeichen, die zur Kennzeichnung der Hierarchie verwendet werden. |
Timeout | Der Wert in Sekunden, bis der Timeout-Fehler auftritt und der Operation abgebrochen wird. |
TypeDetectionScheme | Option, wie der Anbieter die Daten scannt, um die Felder und Datentypen in jeder Dokumentsammlung zu bestimmen. |
UserDefinedViews | Ein Dateipfad, der auf die JSON-Konfigurationsdatei verweist, die Ihre benutzerdefinierten Ansichten enthält. |
Arrays abflachen
Setzen Sie FlattenArrays auf die Anzahl der Array-Elemente, die in Spalten zusammengefasst werden sollen. Andernfalls werden Arrays als JSON-Strings zurückgegeben.
Datentyp
string
Standardwert
""
Hinweise
Standardmäßig werden verschachtelte Arrays als JSON-Strings zurückgegeben. Das FlattenArrays
-Eigenschaft kann verwendet werden, um die Elemente verschachtelter Arrays in eigene Spalten zu reduzieren: Set FlattenArrays
zur Anzahl der Elemente, die Sie aus verschachtelten Arrays zurückgeben möchten. Der nullbasierte Index wird mit einem Punkt oder dem durch SeparatorCharacter angegebenen Zeichen an den Spaltennamen angehängt. Andere Elemente werden ignoriert.
Sie können beispielsweise eine beliebige Anzahl von Elementen aus einem Array von Zeichenfolgen zurückgeben:
["FLOW-MATIC","LISP","COBOL"]
Wenn FlattenArrays
auf 1 gesetzt ist, wird das vorhergehende Array in die folgende Tabelle abgeflacht:
Spaltenname | Spaltenwert |
---|---|
languages.0 | FLOW-MATIC |
Einstellung FlattenArrays
auf -1 reduziert alle Elemente verschachtelter Arrays.
Die Verwendung von FlattenArrays
wird nur für Arrays empfohlen, von denen erwartet wird, dass sie kurz sind. Siehe NoSQL-Datenbank für andere Möglichkeiten, auf verschachtelte Arrays zuzugreifen.
Objekte abflachen
Setzen Sie FlattenObjects auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden eingebettete Objekte als reine JSON-Zeichenfolgen angezeigt.
Datentyp
bool
Standardwert
true
Hinweise
Satz FlattenObjects
auf true, um Objekteigenschaften in eigene Spalten zu reduzieren. Andernfalls werden eingebettete Objekte als reine JSON-Zeichenfolgen angezeigt. Der Eigenschaftsname wird mit einem Punkt oder dem durch SeparatorCharacter angegebenen Zeichen an den Objektnamen angehängt.
Sie können beispielsweise die folgenden verschachtelten Objekte zum Zeitpunkt der Verbindung abflachen:
[
{ "grade": "A", "score": 2 },
{ "grade": "A", "score": 6 },
{ "grade": "A", "score": 10 },
{ "grade": "A", "score": 9 },
{ "grade": "B", "score": 14 }
]
Wenn FlattenObjects
ist auf true gesetzt und FlattenArrays auf 1 gesetzt ist, wird das vorhergehende Array in die folgende Tabelle abgeflacht:
Spaltenname | Spaltenwert |
---|---|
grades.0.grade | EIN |
grades.0.score | 2 |
FlexiblesSchema
Setzen Sie FlexibleSchema auf „true“, um den Abfrage nach zusätzlichen Metadaten zu durchsuchen. Andernfalls bleiben die Metadaten unverändert.
Datentyp
bool
Standardwert
true
Hinweise
Satz FlexibleSchema
auf „true“, um nach zusätzlichen Metadaten im Abfrage zu suchen. Andernfalls bleiben die Metadaten unverändert.
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 von Ergebnissen, die pro Seite von Cloudant zurückgegeben werden sollen.
Datentyp
int
Standardwert
1000
Hinweise
Der Pagesize
Eigenschaft beeinflusst die maximale Anzahl von Ergebnissen, die pro Seite von Cloudant 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. „*=*“.
Zeilenscantiefe
Die maximale Anzahl zu scannender Zeilen, um nach den in einer Tabelle verfügbaren Spalten zu suchen.
Datentyp
int
Standardwert
50
Hinweise
Die Spalten in einer Tabelle müssen durch Scannen der Tabellenzeilen ermittelt werden. Dieser Wert bestimmt die maximale Anzahl der zu scannenden Zeilen.
Das Festlegen eines hohen Wertes kann die Leistung beeinträchtigen. Das Festlegen eines niedrigen Wertes kann dazu führen, dass der Datentyp nicht richtig ermittelt wird, insbesondere wenn Nulldaten vorhanden sind.
Trennzeichen
Das oder die Zeichen, die zur Bezeichnung der Hierarchie verwendet werden.
Datentyp
string
Standardwert
.
Hinweise
Um hierarchische Strukturen abzuflachen, benötigt der Connector einen Spezifizierer, der den Pfad zu einer Spalte durch die Hierarchie angibt. Wenn dieser Wert „.“ lautet und eine Spalte mit dem Namen Adresse.Stadt zurückgegeben wird, deutet dies darauf hin, dass es ein zugeordnetes Attribut mit einem untergeordneten Attribut namens Stadt gibt. Wenn Ihre Daten Spalten enthalten, die bereits einen einzelnen Punkt im Attributnamen verwenden, setzen Sie das SeparatorCharacter
zu einem oder mehreren anderen Charakteren.
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.
Typerkennungsschema
Option, wie der Anbieter die Daten scannt, um die Felder und Datentypen in jeder Dokumentsammlung zu bestimmen.
Datentyp
string
Standardwert
RowScan
Hinweise
Da Cloudant schemalos ist, müssen die Spalten einer Tabelle durch Scannen der Tabellenzeilen ermittelt werden. Set TypeDetectionScheme
um die automatische Erkennung von Datentypen umzuschalten. Setzen Sie RowScanDepth, um die Typerkennung zu konfigurieren.
Eigenschaft | Beschreibung |
---|---|
None | Einstellung TypeDetectionScheme to None gibt alle Spalten als Zeichenfolgentyp zurück. |
RowScan | Einstellung TypeDetectionScheme to RowScan scannt Zeilen, um den Datentyp heuristisch zu bestimmen. Die RowScanDepth-Eigenschaft bestimmt die Anzahl der zu scannenden Zeilen. |
Siehe auch
Die Typerkennung ist Teil der Automatischen Schemaerkennung. Setze FlattenArrays und FlattenObjects, um zu konfigurieren, wie der Connector Spalten über die hierarchischen Daten projiziert.
Sie können die erkannten Spalten und Datentypen optimieren, indem Sie CreateSchema aufrufen, um eine Schema zu generieren. Schemadateien haben ein einfaches Format, mit dem sich das Spaltenverhalten leicht ändern lässt.
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 Movies 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
Beachten Sie, dass der angegebene Pfad nicht in Anführungszeichen steht.