Zum Inhalt springen

Apache CouchDB Verbindungsdetails

Einführung

Connector-Version

Diese Dokumentation basiert auf Version 23.0.9039 des Connectors.

Erste Schritte

Versionsunterstützung für Apache CouchDB

Der Connector unterstützt CouchDB Version 1.6 und höher. Siehe Query Mapping für SQL-zu-ApacheCouchDB-Abfragezuordnungen und weitere Informationen zum Zugriff auf unstrukturierte Daten in Apache CouchDB über SQL.

Herstellen einer Verbindung

Herstellen einer Verbindung zu Apache CouchDB

Apache CouchDB unterstützt drei Arten der Authentifizierung:

  • Basic: Einfache Benutzername/Passwort-Authentifizierung.
  • JWT: Authentifizierung mit JWT-Token.
  • Keine: Anonymer Zugriff auf öffentliche Datenbanken.

Wenn Sie möchten, dass Ihre Benutzer (oder JWT-Token) nur auf bestimmte Datenbanken zugreifen können, müssen Sie die Option admin_only_all_dbs konfigurieren Option in der Apache CouchDB Instanz, um allen Benutzern Zugriff auf die zu gewähren "/_all_dbs" Endpoint, der vom Connector zum Auflisten von Tabellen benötigt wird. Andernfalls kann der Connector keine Verbindung herstellen, da der Endpoint einen Authentifizierungsfehler ausgibt.

Grundlegende Authentifizierung

Stellen Sie Folgendes ein, um eine Verbindung zu Daten herzustellen:

  • AuthScheme: Basic.
  • URL: Die URL Ihrer Apache CouchDB Instanz. Beispiel: http://localhost:5984
  • User Das zur Authentifizierung verwendete Apache CouchDB Benutzerkonto.
  • Password Das mit dem authentifizierenden Benutzer verknüpfte Apache CouchDB -Passwort.
JWT-Authentifizierung

Folgende Verbindungseigenschaften sind erforderlich und müssen immer angegeben werden:

  • AuthScheme: JWT.
  • URL: Die URL Ihrer Apache CouchDB Instanz. Beispiel: http://localhost:5984.

Von hier aus können Sie:

1. Folgendes so einstellen, dass the connector automatically generates (and refreshes if applicable) the tokens für Sie:

Erforderlich

  • JWTSubject: Der Name des Benutzers, der dem JWT-Token zugewiesen werden soll.
  • JWTAlgorithm: Der für die JWT-Token-Signatur zu verwendende Algorithmus.
  • JWTKeyType: Der Typ des Verschlüsselung.
  • JWTKey: Der Verschlüsselung, der zum Signieren des vom Connector generierten JWT-Tokens verwendet wird.

Optional

  • JWTIssuer: Der Herausgeber des JWT-Tokens.
  • JWTExpiration: Wie lange das JWT-Token gültig bleiben soll (in Sekunden).
  • JWTHeaders: Eine Sammlung zusätzlicher Header, die im JWT- Header enthalten sein sollten.
  • JWTClaims: Eine Sammlung zusätzlicher Ansprüche, die in die JWT- Payload aufgenommen werden sollten.
  • CredentialsLocation: Der Speicherort der Einstellungsdatei, in der das JWT-Token gespeichert ist.

2. Oder Sie können generate the tokens yourself manually und übergeben Sie sie an den Connector, indem Sie verwenden JWTToken Verbindungseigenschaft.

Generieren des Schlüsselpaars

Wenn Sie asymmetrische Algorithmen zum Signieren der Token verwenden, müssen Sie ein privates/öffentliches Schlüsselpaar generieren. Dazu kann eine kryptografische Bibliothek wie OpenSSL verwendet werden. Beispiel:

# generate private key
openssl genrsa --out private_rsa256.pem 2048

# extract public key
openssl rsa -in private_rsa256.pem -pubout > public_rsa256.pem
JWT-Konfigurationen

Siehe CouchDB JWT-Authentifizierungsdokumentation für Folgendes.

Die alg Und sub sind erforderliche Ansprüche und werden immer von der Apache CouchDB Instanz validiert. Andere erforderliche Ansprüche können im Server konfiguriert werden (siehe erforderliche_Ansprüche). In diesem Fall müssen Sie verwenden JWTHeaders Und JWTClaims, damit der Connector diese zusätzlichen Ansprüche beim Generieren des JWT-Tokens einbeziehen kann.

Sie können roles_claim_name verwenden oder den roles_claim_path Optionen zum Zuweisen von Rollen zu den JWT-Tokens.

Informationen zum Konfigurieren des Servers und des Connectors finden Sie im folgenden Beispiel:

Serverkonfiguration

[chttpd]
...
authentication_handlers = {chttpd_auth, jwt_authentication_handler}, {chttpd_auth, cookie_authentication_handler}, {chttpd_auth, default_authentication_handler}
admin_only_all_dbs = false
...

[jwt_auth]
...
required_claims = exp
roles_claim_path = my.nested._couchdb\.roles
rsa:rsa_256 = -----BEGIN PUBLIC KEY-----\nYOUR_PUBLIC_KEY\n-----END PUBLIC KEY-----\n

...

Anschlusskonfiguration

Url=http://localhost:5984;
JWTSubject=JWT User 1;
JWTAlgorithm=RS256;
JWTKeyType=PEMKEY_FILE;
JWTKey=PATH_TO_FOLDER\private_rsa256.pem;
JWTHeaders=kid : rsa_256 | Custom Header 1 : Test 1;

JWTClaims= my : eyJuZXN0ZWQiOnsiX2NvdWNoZGIucm9sZXMiOlsidXNlcjIiXX19 | Custom Claim 1 : Test 1;
Anonym

Stellen Sie Folgendes ein, um eine Verbindung zu Daten herzustellen:

  • AuthScheme: None.
  • URL: Die URL Ihrer Apache CouchDB Instanz. Beispiel: http://localhost:5984
  • PublicDatabases: Eine durch Kommas getrennte Liste öffentlicher Datenbanken, die als Tabellen aufgelistet werden sollen.

Optimieren des Datenzugriffs

Ableiten des Datentyps

Mit den folgenden Eigenschaften können Sie die automatische Datentyperkennung konfigurieren, die standardmäßig aktiviert ist.

  • TypeDetectionScheme: Mit dieser Eigenschaft können Sie die automatische Typerkennung basierend auf dem in angegebenen Wert aktivieren oder deaktivieren RowScanDepth.
  • RowScanDepth: Diese Eigenschaft bestimmt die Anzahl der Zeilen, die gescannt werden, um die Spaltendatentypen zu bestimmen.

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

Apache CouchDB 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.

Automatische Schemaerkennung

Die Automatische Schemaerkennung Schema findet automatisch die Datentypen in einem Apache CouchDB 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 Apache CouchDB zu steuern.

Verschachtelte Daten analysieren

Der Connector modelliert die schemalosen Apache CouchDB Objekte in relationale Tabellen und übersetzt SQL-Abfragen in Apache CouchDB -Abfragen, um die angeforderten Daten zu erhalten.

Freiformabfragen

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 (ohne Abflachung).

Vertikale Abflachung

Siehe Vertikale Abflachung, um JSON-Arrays als separate Tabellen zu verarbeiten.

JSON-Funktionen

Siehe JSON-Funktionen für Abfrage, die manuell auf bestimmte verschachtelte Daten zugreifen können.

Abfragezuordnung

Siehe Query Mapping für weitere Einzelheiten dazu, wie verschiedene Apache CouchDB -Operationen als SQL dargestellt werden.

Dynamische Ansichten

Der Connector unterstützt das Auflisten von Apache CouchDB Ansichten und das Abrufen von Daten aus ihnen. Dies wird gesteuert durch ListViews-Eigenschaft, die standardmäßig auf „false“ gesetzt ist. Setzen Sie diese Eigenschaft auf true für die Anzeige von Apache CouchDB Ansichten beim Auflisten von Tabellen.

Automatische Schemaerkennung

Der Connector leitet automatisch ein relationales Schema ab, indem er eine Reihe von Apache CouchDB -Dokumenten in einer Sammlung untersucht. Sie können den 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 Apache CouchDB Daten. JSON-Funktionen ermöglichen Ihnen die Verwendung von Standard-JSON-Funktionen, um Apache CouchDB 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 Apache CouchDB Dokumente - dieser Abfrage wird durch die Apache CouchDB 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 Apache CouchDB 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 Apache CouchDB Abfrage

AUSWÄHLEN *
VON Verkäufen
Für diese Abfrage wird eine GET-Anfrage an den Endpoint/_all_docs gesendet.

SELECT _id, Wert
VON Verkäufen

{
"Felder": [
"_id",
"Wert"
],
"Überspringen": 0,
„Selektor“: {
"_id": {
"$exists": wahr
}
}
}

AUSWÄHLEN *
Vom Verkauf
WO Wert=175033291697

{
„Selektor“: {
"Wert": {
„$eq“: 175033291697
}
},
"Überspringen": 0
}

AUSWÄHLEN *
Vom Verkauf
WO Wert = 175033291697 ODER Monat = 'Juni'

{
„Selektor“: {
"$oder": [
{
"Wert": {
„$eq“: 175033291697
}
},
{
"Monat": {
„$eq“: „Juni“
}
}
]
},
"Überspringen": 0
}

AUSWÄHLEN *
Vom Verkauf
WO Name WIE 'A%'

{
„Selektor“: {
"Name": {
„$regex“: „A%“
}
},
"Überspringen": 0
}

SELECT * FROM Verkäufe
WO Monat='Juni'
ORDER BY _id ASC

{
"Überspringen": 0,
"sortieren": [
{
„_id“: „aufsteigend“
}
],
„Selektor“: {
"Monat": {
„$eq“: „Juni“
}
}
}

AUSWÄHLEN *
Vom Verkauf
WO Monat='Juni'
ORDER BY _id DESC

{
"Überspringen": 0,
"sortieren": [
{
„_id“: „desc“
}
],
„Selektor“: {
"Monat": {
„$eq“: „Juni“
}
}
}

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)

Apache CouchDB 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'

Apache CouchDB 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'

Apache CouchDB 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 Apache CouchDB zurück:

Datenquellentabellen

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

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

Abfrageinformationstabellen

Die folgende Tabelle gibt Abfrage für Datenänderungsabfragen zurück:

  • 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:apachecouchdb: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 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 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.

Systeminformationen

Beschreibt die verfügbaren Systeminformationen.

Die folgende Abfrage ruft alle Spalten ab:

SELECT * FROM sys_information
Spalten
Name Typ Beschreibung
Product String Der Name des Produkts.
Version String Die Versionsnummer des Produkts.
Datasource String Der Name der Datenquelle, mit der das Produkt eine Verbindung herstellt.
NodeId String Die eindeutige Kennung der Maschine, auf der das Produkt installiert ist.
HelpURL String Die URL zur Hilfedokumentation des Produkts.
License String Die Lizenzinformationen für das Produkt. (Wenn diese Informationen nicht verfügbar sind, kann das Feld leer gelassen oder als „N/A“ markiert werden.)
Location String Der Dateipfad, in dem die Produktbibliothek gespeichert ist.
Environment String Die Version der Umfeld oder Rumtine, unter der das Produkt derzeit ausgeführt wird.
DataSyncVersion String Die zur Verwendung dieses Connectors erforderliche Synchronisierungsebene.
DataSyncCategory String Die Kategorie der Synchronisierungsfunktionalität (z. B. Quelle, Ziel).

Gespeicherte Prozeduren

Gespeicherte Prozeduren sind funktionsähnliche Schnittstellen, die die Funktionalität des Connectors über einfache SELECT/INSERT/UPDATE/DELETE-Operationen mit Apache CouchDB hinaus erweitern.

Gespeicherte Prozeduren akzeptieren eine Liste von Parametern, führen ihre beabsichtigte Funktion aus und geben dann alle relevanten Antwortdaten von Apache CouchDB zurück, zusammen mit einer Angabe, ob die Prozedur erfolgreich war oder fehlgeschlagen ist.

Gespeicherte Prozeduren für den Apache CouchDB Connector

Name Beschreibung
CreateSchema Erstellt eine Schema einer Tabelle in Apache CouchDB. Steuern Sie die Spaltenerkennung mit den Verbindungseigenschaften FlattenObjects, FlattenArrays, TypeDetectionScheme und RowScanDepth.

Schema erstellen

Erstellt eine Schema einer Tabelle in Apache CouchDB. Steuern Sie die Spaltenerkennung mit den Verbindungseigenschaften 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 Beschreibung
TableName String True Der Name der Tabelle.
FileName String 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\ Apache CouchDB\sheet.rsd“
SimplifyNames String Falsch Ob einfache Namen für Spalten ausgegeben werden sollen oder nicht. Standardmäßig wird vereinfacht.
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 nicht festgelegt 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.

Authentifizierung

Eigenschaft Beschreibung
AuthScheme Der zu verwendende Authentifizierungstyp bei der Verbindung mit Apache CouchDB.
URL Die für die Verbindung mit Apache CouchDB verwendete URL.
User Das zur Authentifizierung verwendete Apache CouchDB Benutzerkonto.
Password Das zur Authentifizierung des Benutzers verwendete Kennwort.
PublicDatabases Geben Sie eine durch Kommas getrennte Liste öffentlicher Datenbanken an, die als Tabellen aufgelistet werden sollen.

JWT-Authentifizierung

Eigenschaft Beschreibung
JWTToken Das zur Authentifizierung zu verwendende JWT-Token.
JWTSubject Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert.
JWTIssuer Der Herausgeber des JWT-Tokens.
JWTAlgorithm Der zum Signieren des JWT-Tokens verwendete Verschlüsselung.
JWTExpiration Wie lange das JWT-Token gültig bleiben soll (in Sekunden).
JWTKeyType Der Typ des Verschlüsselung, der zum Signieren des JWT-Tokens verwendet wird.
JWTKey Der Verschlüsselung zum Signieren des JWT-Tokens.
JWTHeaders Eine Sammlung zusätzlicher Header, die im JWT- Header enthalten sein sollten.
JWTClaims Eine Sammlung zusätzlicher Ansprüche, die in die JWT - Payload aufgenommen werden sollten.
CredentialsLocation Der Speicherort der Einstellungsdatei, in der das JWT-Token gespeichert ist.

SSL

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

Schema

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

Verschiedenes

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 Apache CouchDB 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 Bestimmt, 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 zu verwendende Authentifizierungstyp bei der Verbindung mit Apache CouchDB.
URL Die für die Verbindung mit Apache CouchDB verwendete URL.
User Das zur Authentifizierung verwendete Apache CouchDB Benutzerkonto.
Password Das zur Authentifizierung des Benutzers verwendete Kennwort.
PublicDatabases Geben Sie eine durch Kommas getrennte Liste öffentlicher Datenbanken an, die als Tabellen aufgelistet werden sollen.

AuthScheme

Der zu verwendende Authentifizierungstyp bei der Verbindung mit Apache CouchDB.

Mögliche Werte

Basic, JWT, None

Datentyp

string

Standardwert

Basic

Hinweise
  • Basic: Legen Sie dies fest, um die grundlegende Benutzer-/Passwort-Authentifizierung zu verwenden.

  • JWT: JWT-Token-Authentifizierung.

  • Keine: Es wird keine Authentifizierung verwendet.

URL

Die für die Verbindung mit Apache CouchDB verwendete URL.

Datentyp

string

Standardwert

""

Hinweise

Die zur Verbindung mit Apache CouchDB verwendete URL im Format http://{server}:{port}.

Benutzer

Das zur Authentifizierung verwendete Apache CouchDB Benutzerkonto.

Datentyp

string

Standardwert

""

Hinweise

Zusammen mit Passwort, wird dieses Feld zur Authentifizierung gegenüber dem Apache CouchDB 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.

Öffentlichedatenbanken

Geben Sie eine durch Kommas getrennte Liste öffentlicher Datenbanken an, die als Tabellen aufgelistet werden sollen.

Datentyp

string

Standardwert

""

Hinweise

Dies ist für den anonymen Zugriff (AuthScheme=None) erforderlich, da der Datenbankaufruf eine Benutzerauthentifizierung erfordert.

JWT-Authentifizierung

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

Eigenschaft Beschreibung
JWTToken Das zur Authentifizierung zu verwendende JWT-Token.
JWTSubject Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert.
JWTIssuer Der Herausgeber des JWT-Tokens.
JWTAlgorithm Der zum Signieren des JWT-Tokens verwendete Verschlüsselung.
JWTExpiration Wie lange das JWT-Token gültig bleiben soll (in Sekunden).
JWTKeyType Der Typ des Verschlüsselung, der zum Signieren des JWT-Tokens verwendet wird.
JWTKey Der Verschlüsselung zum Signieren des JWT-Tokens.
JWTHeaders Eine Sammlung zusätzlicher Header, die im JWT- Header enthalten sein sollten.
JWTClaims Eine Sammlung zusätzlicher Ansprüche, die in die JWT - Payload aufgenommen werden sollten.
CredentialsLocation Der Speicherort der Einstellungsdatei, in der das JWT-Token gespeichert ist.

JWTToken

Das zur Authentifizierung zu verwendende JWT-Token.

Datentyp

string

Standardwert

""

Hinweise

Diese Verbindungseigenschaft kann verwendet werden, wenn Sie das Token selbst generieren und direkt hier übergeben möchten. In diesem Fall generiert der Connector das Token nicht selbst, sondern verwendet das Token aus der Verbindung.

JWTBetreff

Das Benutzersubjekt, für das die Anwendung delegierten Zugriff anfordert.

Datentyp

string

Standardwert

""

Hinweise

Dies wird als Unteranspruch im JWT-Token verwendet.

Apache CouchDB verwendet dies als Benutzernamen bei der Validierung des JWT-Tokens.

JWTIssuisse

Der Herausgeber des JWT-Tokens.

Datentyp

string

Standardwert

""

Hinweise

Der Herausgeber des JWT-Tokens. Obwohl der Standardwert oben nicht dokumentiert ist, hat diese Verbindungseigenschaft einen Standardwert und dieser Wert enthält lediglich Informationen zum Connector. Beispiel: „ApacheCouchDB JDBC v24“.

JWTAlogismus

Der zum Signieren des JWT-Tokens verwendete Verschlüsselung.

Mögliche Werte

HS512, ES384, RS256, ES512, RS384, HS256, RS512, HS384, ES256

Datentyp

string

Standardwert

RS256

Hinweise

Dies wird als alg-Anspruch im JWT-Token verwendet. Diese Eigenschaft kann einen der folgenden Werte annehmen:

Eigenschaft Beschreibung
RS256, RS384, RS512 RSA-Signatur mit SHA-Hashing (SHA-256, SHA-384, SHA-512)
ES256, ES384, ES512 ECDSA-Signatur mit NIST-Kurven (P-256, P-384, P-512) und SHA-Hashing (SHA-256, SHA-384, SHA-512)
HS256, HS384, HS512 HMAC-Signatur mit SHA-Hashing (SHA-256, SHA-384, SHA-512)

JWTAblauf

Wie lange das JWT-Token gültig bleiben soll, in Sekunden.

Datentyp

int

Standardwert

-1

Hinweise

Dies wird verwendet, um den exp-Anspruch im JWT-Token zu berechnen. Standardmäßig ist dies auf -1 eingestellt, was bedeutet, dass der Treiber nach der Generierung des ersten Tokens nie aktualisiert wird.

JWTSchlüsseltyp

Der Typ des Verschlüsselung, der zum Signieren des JWT-Tokens verwendet wird.

Mögliche Werte

PEMKEY_FILE, PEMKEY_BLOB, SYMMETRIC

Datentyp

string

Standardwert

PEMKEY_FILE

Hinweise

Diese Eigenschaft kann einen der folgenden Werte annehmen:

Eigenschaft Beschreibung
PEMKEY_FILE Ein absoluter Pfad zu einer PEM-codierten Datei, die den privaten Schlüssel enthält.
PEMKEY_BLOB Ein Base64-codierter Wert des privaten Schlüssels.
SYMMETRISCH Ein base64-codierter Wert des symmetrischen Schlüssels. Verwenden Sie dies, wenn Sie das JWT-Token mit einem symmetrischen Algorithmus signieren (z. B. HS256, HS384, HS512 usw.). Der Schlüssel selbst kann eine beliebige Länge haben. Bei Bedarf füllt der Connector den Schlüssel auf oder hasht ihn, um den Anforderungen des gewählten JWTAlgorithm zu entsprechen. Für optimale Sicherheit sollte der Schlüssel mindestens so lang sein wie die Hash-Ausgabe (z. B. 32 Bytes für SHA-256).

JWTSchlüssel

Der Verschlüsselung zum Signieren des JWT-Tokens.

Datentyp

string

Standardwert

""

Hinweise

Der Verschlüsselung, der zum Signieren des vom Connector generierten JWT-Tokens verwendet wird. Der JWTKeyType gibt den Typ des verwendeten Schlüssels an.

JWTHeader

Eine Sammlung zusätzlicher Header, die im JWT- Header enthalten sein sollten.

Datentyp

string

Standardwert

""

Hinweise

Die Zeichenfolge darf keine einfachen oder doppelten Anführungszeichen und enthalten `:** and **|` have to be used as delimiters. For example:

JWTHeaders = Kind: Schlüssel_1 | Benutzerdefinierter Header 1: Wert;

If you need to use more complex values such as JSON objects or arrays, they have to be base64 encoded. For example:

JWTHeaders = Kind: Schlüssel_1 | mein: eyJjdXN0b20iOlsianNvbiIsIm9iamVjdCJdfQ==;

By default, not all the headers in the JWT token are validated by the Apache CouchDB (only alg). See the documentation of required_claims zum Erzwingen der Validierung zusätzlicher Header. In diesem Fall können Sie diese Verbindungseigenschaft auch so konfigurieren, dass der Connector sie beim Generieren des Tokens einschließt.

JWTClaims

Eine Sammlung zusätzlicher Ansprüche, die in die JWT- Payload aufgenommen werden sollten.

Datentyp

string

Standardwert

""

Hinweise

Die Zeichenfolge darf keine einfachen oder doppelten Anführungszeichen und enthalten `:** and **|` have to be used as delimiters. For example:

JWTClaims = aud: https://my.couchdb.server | nbf: 1720444762;

If you need to use more complex values such as JSON objects or arrays, they have to be base64 encoded. For example:

JWTClaims = my : eyJuZXN0ZWQiOnsiX2NvdWNoZGIucm9sZXMiOlsidXNlcjIiXX19 | nbf: 1720444762;

By default, not all the claims in the JWT token are validated by the Apache CouchDB (only sub). See the documentation of required_claims, um die Validierung zusätzlicher Ansprüche zu erzwingen. In diesem Fall können Sie diese Verbindungseigenschaft auch so konfigurieren, dass der Connector sie beim Generieren des Tokens einbezieht.

ReferenzenStandort

Der Speicherort der Einstellungsdatei, in der das JWT-Token gespeichert ist.

Datentyp

string

Standardwert

%APPDATA%\ApacheCouchDB Data Provider\CredentialsFile.txt

Hinweise

Wenn nichts angegeben wird, ist der Standardspeicherort „%APPDATA%\ApacheCouchDB Data Provider\CredentialsFile.txt“ mit %APPDATA% wird auf das Konfigurationsverzeichnis des Benutzers eingestellt:

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

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 Apache CouchDB 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%\ApacheCouchDB 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%\ApacheCouchDB 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 Apache CouchDB aufgelistet werden sollen oder nicht.

Datentyp

bool

Standardwert

false

Hinweise

Setzen Sie diese Eigenschaft auf „true“, damit Apache CouchDB 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 Apache CouchDB 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 Bestimmt, 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

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

Wenn „false“, 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.

Datentyp

int

Standardwert

-1

Hinweise

Begrenzt die Anzahl der zurückgegebenen Zeilen, wenn in der Abfrage keine Aggregation oder GROUP BY verwendet wird. Dies hat Vorrang vor LIMIT-Klauseln.

Andere

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

Datentyp

string

Standardwert

""

Hinweise

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

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

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

Seitengröße

Die maximale Anzahl der Ergebnisse, die pro Seite von Apache CouchDB zurückgegeben werden sollen.

Datentyp

int

Standardwert

1000

Hinweise

Der Pagesize -Eigenschaft beeinflusst die maximale Anzahl von Ergebnissen, die pro Seite von Apache CouchDB 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 das 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

Bestimmt, wie der Anbieter die Daten scannt, um die Felder und Datentypen in jeder Dokumentsammlung zu bestimmen.

Datentyp

string

Standardwert

RowScan

Hinweise

Da Apache CouchDB schemalos ist, müssen die Spalten einer Tabelle durch das 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 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.