Apache CouchDB Connector for CData Sync

Build 23.0.8839
  • Apache CouchDB
    • 接続の確立
      • データアクセスのファインチューニング
    • NoSQL データベース
      • 自動スキーマ検出
      • フリーフォームクエリ
      • 垂直フラット化
      • JSON 関数
      • クエリマッピング
    • 接続文字列オプション
      • Authentication
        • AuthScheme
        • URL
        • User
        • Password
        • PublicDatabases
      • SSL
        • SSLServerCert
      • Firewall
        • FirewallType
        • FirewallServer
        • FirewallPort
        • FirewallUser
        • FirewallPassword
      • Proxy
        • ProxyAutoDetect
        • ProxyServer
        • ProxyPort
        • ProxyAuthScheme
        • ProxyUser
        • ProxyPassword
        • ProxySSLType
        • ProxyExceptions
      • Logging
        • LogModules
      • Schema
        • Location
        • BrowsableSchemas
        • Tables
        • Views
        • ListViews
      • Miscellaneous
        • FlattenArrays
        • FlattenObjects
        • FlexibleSchema
        • MaxRows
        • Other
        • Pagesize
        • PseudoColumns
        • RowScanDepth
        • SeparatorCharacter
        • Timeout
        • TypeDetectionScheme
        • UserDefinedViews

Apache CouchDB Connector for CData Sync

概要

CData Sync App は、Apache CouchDB データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。

Apache CouchDB コネクタはCData Sync アプリケーションから使用可能で、Apache CouchDB からデータを取得して、サポートされている任意の同期先に移動できます。

Apache CouchDB バージョンサポート

Sync App はCouchDB version 1.6 以降をサポートします。SQL-to-ApacheCouchDB-query のマッピング、およびSQL を介したApache CouchDB の非構造化データへのアクセスについて詳しくは、クエリマッピング を参照してください。

Apache CouchDB Connector for CData Sync

接続の確立

Apache CouchDB への接続を追加

Apache CouchDB への接続を追加するには:

  1. アプリケーションコンソールで、接続ページに移動します。
  2. 接続の追加パネルで、追加したい接続のアイコンを選択します。
  3. Apache CouchDB アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからApache CouchDB コネクタをダウンロードおよびインストールします。

必須プロパティについては、設定タブを参照してください。

通常必須ではない接続プロパティについては、高度な設定タブを参照してください。

Apache CouchDB への接続

Basic 認証またはAnonymous(認証なし)のいずれかを選択できます。

Basic 認証

データに接続するには以下を設定します。

  • AuthScheme:Basic。
  • Url:Apache CouchDB インスタンスのURL。例:http://localhost:5984
  • User:認証に使用されるApache CouchDB ユーザーアカウント。
  • Password:認証するユーザーに関連付けられたApache CouchDB パスワード。

Anonymous

データに接続するには以下を設定します。

  • AuthScheme:None。
  • Url:Apache CouchDB インスタンスのURL。例:http://localhost:5984
  • PublicDatabases:テーブルとしてリストする公開データベースのカンマ区切りリスト。

Apache CouchDB Connector for CData Sync

データアクセスのファインチューニング

データ型の推測

次のプロパティを使って、自動データ型検出を設定できます。デフォルトは有効です。

  • TypeDetectionScheme:このプロパティを使って、RowScanDepth で指定された値に基づく自動型検出を有効化/無効化できます。
  • RowScanDepth:このプロパティは、カラムのデータ型を判定するためにスキャンされる行数を指定します。

Apache CouchDB Connector for CData Sync

NoSQL データベース

Apache CouchDB is a schema-less document database that provides high performance, availability, and scalability. These features are not necessarily incompatible with a standards-compliant query language like SQL-92. The following sections show various schemes that the Sync App offers to bridge the gap with relational SQL and a document database.

Automatic Schema Discovery

The 自動スキーマ検出 scheme automatically finds the data types in an Apache CouchDB object by scanning a configured number of rows of the object. You can use RowScanDepth, FlattenArrays, and FlattenObjects to control the relational representation of the collections in Apache CouchDB.

Parsing Nested Data

The Sync App models the schemaless Apache CouchDB objects into relational tables and translates SQL queries into Apache CouchDB queries to get the requested data.

Free-Form Queries

The schema of the table is necessary to report metadata, but you can write フリーフォームクエリ not tied to the schema to select, insert, update, or delete data from columns that do not exist in the schema (without flattening).

Vertical Flattening

See 垂直フラット化 to process JSON arrays as separate tables.

JSON Functions

See JSON 関数 for query examples that can access specific nested data manually.

Query Mapping

See クエリマッピング for more details on how various Apache CouchDB operations are represented as SQL.

Dynamic Views

The Sync App supports listing Apache CouchDB views and retrieving data from them. This is controlled by the ListViews property, which is set to false by default. Set this property to true for Apache CouchDB views to be displayed when listing tables.

Apache CouchDB Connector for CData Sync

自動スキーマ検出

Sync App は、コレクション内のApache CouchDB ドキュメントをサンプルとして調べ、リレーショナルスキーマを提案します。RowScanDepth プロパティを使って、Sync App がスキャンするドキュメント数を設定することができます。検出プロセスで特定されるカラムはFlattenArrays およびFlattenObjects プロパティに依存します。

オブジェクトのフラット化

FlattenObjects が設定されている場合、すべてのネストされたオブジェクトは連続したカラムにフラット化されます。例えば、次のドキュメントを考えましょう。

{
  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
}
このドキュメントは次のカラムにより表されます:

カラム名データ型サンプル値
idInteger12
nameStringLohia Manufacturers Inc.
address.streetStringMain Street
address.cityStringChapel Hill
address.stateStringNC
officesString["Chapel Hill", "London", "New York"]
annual_revenueDouble35,600,000

FlattenObjects が設定されていない場合、address.street、address.city、およびaddress.state カラムは別々にはなりません。文字列型の住所カラムは一つのオブジェクトとして表されます。値は次のようになります {street:"Main Street", city:"Chapel Hill", state:"NC"}。JSON アグリゲートの詳細についてはJSON 関数 を参照してください。

カラム名の区切り文字をドットから変更するには、SeparatorCharacter を設定します。

配列のフラット化

FlattenArrays プロパティは配列の値をフラット化してそれぞれのカラムとするために使われます。これは次の例のように短い配列の場合にのみ推奨されます。

"coord": [ -73.856077, 40.848447 ]
FlattenArrays プロパティは2に設定して上の配列を次のように表すことができます:

カラム名データ型サンプル値
coord.0Float-73.856077
coord.1Float40.848447

アンバウンドの配列をそのままにしておき、必要な際にJSON 関数 を使ってデータを取り出すことをお勧めします。

Apache CouchDB Connector for CData Sync

フリーフォームクエリ

自動スキーマ検出 の説明にあるとおり、直感的なテーブルスキーマは非構造化Apache CouchDB データへのSQL アクセスを可能にします。JSON 関数 は標準のJSON 関数を使ってApache CouchDB データをサマライズし、あらゆるネスト構造から値を抽出できます。 しかし、これらのスキーマに限定されません。

接続後は、どんなネストされた構造でもデータをフラット化せずにクエリできますFlattenArrays やFlattenObjects でアクセスできるあらゆるリレーションへは、アドホックなSQL クエリを使ってもアクセスが可能です。

次のRestaurant データセットからのサンプルドキュメントを考えてみましょう。

 
{
  "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"
} 
このドキュメントのあらゆるネスト構造にカラムとしてアクセスできます。以下のクエリで示すように、ドット表記法を使ってアクセスしたい値にドリルダウンします。配列のインデックスはゼロオリジンです。例えば、次のクエリではサンプル内のrestaurant のsecond grade を取得します。
SELECT [address.building], [grades.1.grade] FROM restaurants WHERE restaurant_id = '30075445'
先のクエリは、次の結果を返します。

カラム名データ型サンプル値
address.buildingString1007
grades.1.gradeStringA

Apache CouchDB Connector for CData Sync

垂直フラット化

ドキュメントの配列を、個別のテーブルのように取得することが可能です。例えば、restaurants コレクションから次のJSON 構造を取得します。

{
  "_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"
}
垂直フラット化ではgrades 配列を別々のテーブルとして取得することを許可します。
SELECT * FROM [restaurants.grades]
このクエリは、次のデータセットを返します。

dategradescoreP_id_index
2014-03-03T00:00:00.000ZA2568c37b748ddf53c5ed989321
2013-09-11T00:00:00.000ZA6568c37b748ddf53c5ed989322
2013-01-24T00:00:00.000ZA10568c37b748ddf53c5ed989323

ベースのrestaurants テーブルからの情報も含めたい場合は、結合を使って実現できます。フラット化された配列はルートドキュメントでのみ結合できます。Sync App では、結合の左部分を、垂直にフラット化したい配列ドキュメントだと判断します。SupportEnhancedSQL を無効にして、ネストされたApache CouchDB ドキュメントを結合します。このタイプのクエリはApache CouchDB API 経由でサポートされています。

SELECT [restaurants].[restaurant_id], [restaurants.grades].* FROM [restaurants.grades] JOIN [restaurants] WHERE [restaurants].name = 'Morris Park Bake Shop'
このクエリは、次のデータセットを返します。

restaurant_iddategradescoreP_id_index
300754452014-03-03T00:00:00.000ZA2568c37b748ddf53c5ed989321
300754452013-09-11T00:00:00.000ZA6568c37b748ddf53c5ed989322
300754452013-01-24T00:00:00.000ZA10568c37b748ddf53c5ed989323
300754452011-11-23T00:00:00.000ZA9568c37b748ddf53c5ed989324
300754452011-03-10T00:00:00.000ZB14568c37b748ddf53c5ed989325

Apache CouchDB Connector for CData Sync

JSON 関数

Sync App では、JSON ストラクチャーをカラム値として返すことができます。Sync App を使って、これらのJSON ストラクチャーにおいて標準SQL 関数を使用できます。このセクションの例では、次の配列を使用します。

[
     { "grade": "A", "score": 2 },
     { "grade": "A", "score": 6 },
     { "grade": "A", "score": 10 },
     { "grade": "A", "score": 9 },
     { "grade": "B", "score": 14 }
]

JSON_EXTRACT

JSON_EXTRACT でJSON オブジェクトから個別の値を抜き出すことができます。次のクエリは、関数に第二引数として渡されたJSON パスに基づいて、以下に示す値を返します。
SELECT Name, JSON_EXTRACT(grades,'[0].grade') AS Grade, JSON_EXTRACT(grades,'[0].score') AS Score FROM Students;

カラム名サンプル値
GradeA
Score2

JSON_COUNT

JSON_COUNT 関数はJSON オブジェクト内のJSON 配列のエレメント数を返します。次のクエリは、関数に第二引数として渡されたJSON パスにより指定されたエレメント数を返します。
SELECT Name, JSON_COUNT(grades,'[x]') AS NumberOfGrades FROM Students;

カラム名サンプル値
NumberOfGrades5

JSON_SUM

JSON_SUM 関数は、JSON オブジェクト内のJSON 配列の数値の合計を返します。次のクエリは、関数に第二引数として渡されたJSON パスにより指定された合計値を返します。
SELECT Name, JSON_SUM(score,'[x].score') AS TotalScore FROM Students;

カラム名サンプル値
TotalScore 41

JSON_MIN

JSON_MIN 関数は、JSON オブジェクト内のJSON 配列の最小値を返します。次のクエリは、関数に第二引数として渡されたJSON パスにより指定された最小値を返します。
SELECT Name, JSON_MIN(score,'[x].score') AS LowestScore FROM Students;

カラム名サンプル値
LowestScore2

JSON_MAX

JSON_MAX 関数は、JSON オブジェクト内のJSON 配列の最大値を返します。次のクエリは、関数に第二引数として渡されたJSON パスにより指定された最大値を返します。
SELECT Name, JSON_MAX(score,'[x].score') AS HighestScore FROM Students;

カラム名サンプル値
HighestScore14

DOCUMENT

DOCUMENT 関数はすべてのドキュメントをJSON 文字列として取得する場合に用いられます。例として、次のクエリとその結果をご覧ください。

SELECT DOCUMENT(*) FROM Customers;
上のクエリはすべてのドキュメントを返します。
{ "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 }

Apache CouchDB Connector for CData Sync

クエリマッピング

The Sync App maps SQL queries into the corresponding Apache CouchDB queries. The Sync App uses the Selector syntax to compute the desired results.

A detailed description of all the transformations is out of scope, but we will describe some of the common elements that are used.

SELECT Queries

The SELECT statement is mapped to the GET and POST methods. Below are example queries and the corresponding request payloads.

SQL QueryApache CouchDB Query

SELECT *
FROM sales

For this query a GET request is sent to the /_all_docs endpoint.


SELECT _id, value
FROM sales

{
  "fields": [
    "_id",
    "value"
  ],
  "skip": 0,
  "selector": {
    "_id": {
      "$exists": true
    }
  }
}

SELECT * 
FROM sales 
WHERE value=175033291697

{
  "selector": {
    "value": {
      "$eq": 175033291697
    }
  },
  "skip": 0
}

SELECT * 
FROM sales 
WHERE value = 175033291697 OR month='June'

{
  "selector": {
    "$or": [
      {
        "value": {
          "$eq": 175033291697
        }
      },
      {
        "month": {
          "$eq": "June"
        }
      }
    ]
  },
  "skip": 0
}

SELECT * 
FROM sales
WHERE name LIKE 'A%'

{
  "selector": {
    "name": {
      "$regex": "A%"
    }
  },
  "skip": 0
}

SELECT * FROM sales
WHERE month='June'
ORDER BY _id ASC

{
  "skip": 0,
  "sort": [
    {
      "_id": "asc"
    }
  ],
  "selector": {
    "month": {
      "$eq": "June"
    }
  }
}

SELECT *
FROM sales
WHERE month='June'
ORDER BY _id DESC

{
  "skip": 0,
  "sort": [
    {
      "_id": "desc"
    }
  ],
  "selector": {
    "month": {
      "$eq": "June"
    }
  }
}

INSERT Statements

The INSERT statement is mapped to the HTTP POST request, as shown in the following query and request payload.

SQL Query

INSERT INTO users (_id, age, status, [address.city], [address.postalcode]) 
VALUES ('bcd001', 45, 'A', 'Chapel Hill', 27517)

Apache CouchDB Query

{
  "address": {
    "city": "Chapel Hill",
    "postalcode": 27517
  },
  "_id": "bcd001",
  "age": 45,
  "status": "A"
}

UPDATE Statements

The UPDATE statement is mapped to the HTTP PUT method, as shown in the following query and request payload.

SQL Query

UPDATE users 
SET status = 'C', [address.postalcode] = 90210
WHERE _id = 'bcd001'

Apache CouchDB Query

{
  "_id": "bcd001",
  "_rev": "1-446f6c67e3a483feae8eaf112f18892c",
  "status": "C",
  "age": 45,
  "address": {
    "city": "Chapel Hill",
    "postalcode": 90210
  }
}

DELETE Statements

The DELETE statement is mapped to the DELETE method as shown below.

SQL Query

DELETE FROM users WHERE _id = 'bcd001'

Apache CouchDB Query

For this query, a DELETE request is sent to the users/{_id}?rev={_rev} endpoint.

Apache CouchDB Connector for CData Sync

接続文字列オプション

接続文字列プロパティは、接続を確立するために使用できるさまざまなオプションです。このセクションでは、本プロバイダーの接続文字列で設定できるオプションの一覧を示します。詳細については各リンクをクリックしてください。

接続を確立する方法について詳しくは、接続の確立を参照してください。

Authentication


プロパティ説明
AuthSchemeThe type of authentication to use when connecting to Apache CouchDB.
URLThe URL used to connect to the Apache CouchDB.
User認証で使用されるApache CouchDB ユーザーアカウント。
Passwordユーザーの認証で使用されるパスワード。
PublicDatabasesSpecify a comma-separated list of public databases to list as tables.

SSL


プロパティ説明
SSLServerCertTLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。

Firewall


プロパティ説明
FirewallTypeプロキシベースのファイアウォールで使われるプロトコル。
FirewallServerプロキシベースのファイアウォールの名前もしくはIP アドレス。
FirewallPortプロキシベースのファイアウォールのTCP ポート。
FirewallUserプロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallPasswordプロキシベースのファイアウォールへの認証に使われるパスワード。

Proxy


プロパティ説明
ProxyAutoDetectこれは、システムプロキシ設定を使用するかどうかを示します。
ProxyServerHTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
ProxyPortProxyServer プロキシが起動しているTCP ポート。
ProxyAuthSchemeProxyServer プロキシへの認証で使われる認証タイプ。
ProxyUserProxyServer プロキシへの認証に使われるユーザー名。
ProxyPasswordProxyServer プロキシへの認証に使われるパスワード。
ProxySSLTypeProxyServer プロキシへの接続時に使用するSSL タイプ。
ProxyExceptionsProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。

Logging


プロパティ説明
LogModulesログファイルに含めるコアモジュール。

Schema


プロパティ説明
Locationテーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
BrowsableSchemasこのプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
Tablesこのプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
Views使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
ListViewsWhether to list views from Apache CouchDB or not.

Miscellaneous


プロパティ説明
FlattenArraysSet FlattenArrays to the number of array elements to flatten into columns. Otherwise, arrays are returned as JSON strings.
FlattenObjectsSet FlattenObjects to true to flatten object properties into columns of their own. Otherwise, embedded objects as raw JSON strings.
FlexibleSchemaSet FlexibleSchema to true to scan for additional metadata on the query result set. Otherwise, the metadata will remain the same.
MaxRowsクエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
Otherこれらの隠しプロパティは特定のユースケースでのみ使用されます。
PagesizeApache CouchDB から返されるページあたりの結果の最大数。
PseudoColumnsこのプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
RowScanDepthテーブルで利用可能なカラムを探すためにスキャンする行数の最大値。
SeparatorCharacterThe character or characters used to denote hierarchy.
Timeoutタイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
TypeDetectionSchemeDetermines how the provider will scan the data to determine the fields and data types in each document collection.
UserDefinedViewsカスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
Apache CouchDB Connector for CData Sync

Authentication

このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。


プロパティ説明
AuthSchemeThe type of authentication to use when connecting to Apache CouchDB.
URLThe URL used to connect to the Apache CouchDB.
User認証で使用されるApache CouchDB ユーザーアカウント。
Passwordユーザーの認証で使用されるパスワード。
PublicDatabasesSpecify a comma-separated list of public databases to list as tables.
Apache CouchDB Connector for CData Sync

AuthScheme

The type of authentication to use when connecting to Apache CouchDB.

解説

  • Basic: Set this to use basic User/Password authentication.
  • None: No authentication is used.

Apache CouchDB Connector for CData Sync

URL

The URL used to connect to the Apache CouchDB.

解説

The URL used to connect to the Apache CouchDB in the format http://{server}:{port}.

Apache CouchDB Connector for CData Sync

User

認証で使用されるApache CouchDB ユーザーアカウント。

解説

このフィールドは、Password とともに、Apache CouchDB サーバーに対して認証をするために使われます。

Apache CouchDB Connector for CData Sync

Password

ユーザーの認証で使用されるパスワード。

解説

User およびPassword を一緒に使用してサーバーで認証を行います。

Apache CouchDB Connector for CData Sync

PublicDatabases

Specify a comma-separated list of public databases to list as tables.

解説

This is needed for anonymous access (AuthScheme=None) because the database listing call requires user authentication.

Apache CouchDB Connector for CData Sync

SSL

このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。


プロパティ説明
SSLServerCertTLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
Apache CouchDB Connector for CData Sync

SSLServerCert

TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。

解説

TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。

このプロパティは、次のフォームを取ります:

説明 例
フルPEM 証明書(例では省略されています) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
証明書を保有するローカルファイルへのパス。 C:\cert.cer
公開鍵(例では省略されています) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
MD5 Thumbprint (hex 値はスペースおよびコロン区切り) ecadbdda5a1529c58a1e9e09828d70e4
SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) 34a929226ae0819f2ec14b4a3d904f801cbb150d

これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。

すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。

Apache CouchDB Connector for CData Sync

Firewall

このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。


プロパティ説明
FirewallTypeプロキシベースのファイアウォールで使われるプロトコル。
FirewallServerプロキシベースのファイアウォールの名前もしくはIP アドレス。
FirewallPortプロキシベースのファイアウォールのTCP ポート。
FirewallUserプロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallPasswordプロキシベースのファイアウォールへの認証に使われるパスワード。
Apache CouchDB Connector for CData Sync

FirewallType

プロキシベースのファイアウォールで使われるプロトコル。

解説

このプロパティは、Sync App がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。

タイプ デフォルトポート 説明
TUNNEL 80 これが設定されている場合、Sync App はApache CouchDB への接続を開き、プロキシを経由して通信が行われます。
SOCKS4 1080 これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。
SOCKS5 1080 これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。

HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。

Apache CouchDB Connector for CData Sync

FirewallServer

プロキシベースのファイアウォールの名前もしくはIP アドレス。

解説

ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。

Sync App はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。

Apache CouchDB Connector for CData Sync

FirewallPort

プロキシベースのファイアウォールのTCP ポート。

解説

ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。

Apache CouchDB Connector for CData Sync

FirewallUser

プロキシベースのファイアウォールに認証するために使うユーザー名。

解説

FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。

Apache CouchDB Connector for CData Sync

FirewallPassword

プロキシベースのファイアウォールへの認証に使われるパスワード。

解説

このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。

Apache CouchDB Connector for CData Sync

Proxy

このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。


プロパティ説明
ProxyAutoDetectこれは、システムプロキシ設定を使用するかどうかを示します。
ProxyServerHTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
ProxyPortProxyServer プロキシが起動しているTCP ポート。
ProxyAuthSchemeProxyServer プロキシへの認証で使われる認証タイプ。
ProxyUserProxyServer プロキシへの認証に使われるユーザー名。
ProxyPasswordProxyServer プロキシへの認証に使われるパスワード。
ProxySSLTypeProxyServer プロキシへの接続時に使用するSSL タイプ。
ProxyExceptionsProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
Apache CouchDB Connector for CData Sync

ProxyAutoDetect

これは、システムプロキシ設定を使用するかどうかを示します。

解説

これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。

HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。

Apache CouchDB Connector for CData Sync

ProxyServer

HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。

解説

HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Sync App はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。

SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。

デフォルトで、Sync App はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。

Apache CouchDB Connector for CData Sync

ProxyPort

ProxyServer プロキシが起動しているTCP ポート。

解説

HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。

Apache CouchDB Connector for CData Sync

ProxyAuthScheme

ProxyServer プロキシへの認証で使われる認証タイプ。

解説

この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。

Sync App は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

認証タイプは、次のどれかになります。

  • BASIC: Sync App はHTTP BASIC 認証を行います。
  • DIGEST: Sync App はHTTP DIGEST 認証を行います。
  • NEGOTIATE: Sync App は認証において有効なプロトコルに応じて、NTLM もしくはKerberos トークンを取得します。
  • PROPRIETARY: Sync App はNTLM もしくはKerberos トークンを発行しません。このトークンを、HTTP リクエストのAuthorization ヘッダーに含める必要があります。

SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。

Apache CouchDB Connector for CData Sync

ProxyUser

ProxyServer プロキシへの認証に使われるユーザー名。

解説

ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。

ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。

user@domain
domain\user

Apache CouchDB Connector for CData Sync

ProxyPassword

ProxyServer プロキシへの認証に使われるパスワード。

解説

このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。

HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。

NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。

SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。

デフォルトで、Sync App はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。

Apache CouchDB Connector for CData Sync

ProxySSLType

ProxyServer プロキシへの接続時に使用するSSL タイプ。

解説

このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。

AUTOデフォルト設定。URL がHTTPS URL の場合、Sync App は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。
ALWAYS接続は、常にSSL 有効となります。
NEVER接続は、SSL 有効になりません。
TUNNEL接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。

Apache CouchDB Connector for CData Sync

ProxyExceptions

ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。

解説

ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。

Sync App は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

Apache CouchDB Connector for CData Sync

Logging

このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。


プロパティ説明
LogModulesログファイルに含めるコアモジュール。
Apache CouchDB Connector for CData Sync

LogModules

ログファイルに含めるコアモジュール。

解説

指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。

概要はログ ページを参照してください。

Apache CouchDB Connector for CData Sync

Schema

このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。


プロパティ説明
Locationテーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
BrowsableSchemasこのプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
Tablesこのプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
Views使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
ListViewsWhether to list views from Apache CouchDB or not.
Apache CouchDB Connector for CData Sync

Location

テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。

解説

Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。

指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\ApacheCouchDB Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:

Platform %APPDATA%
Windows APPDATA 環境変数の値
Linux ~/.config

Apache CouchDB Connector for CData Sync

BrowsableSchemas

このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。

解説

スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。

Apache CouchDB Connector for CData Sync

Tables

このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。

解説

テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

Apache CouchDB Connector for CData Sync

Views

使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。

解説

ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

Apache CouchDB Connector for CData Sync

ListViews

Whether to list views from Apache CouchDB or not.

解説

Set this property to true for Apache CouchDB views to show up when listing tables.

Apache CouchDB Connector for CData Sync

Miscellaneous

このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。


プロパティ説明
FlattenArraysSet FlattenArrays to the number of array elements to flatten into columns. Otherwise, arrays are returned as JSON strings.
FlattenObjectsSet FlattenObjects to true to flatten object properties into columns of their own. Otherwise, embedded objects as raw JSON strings.
FlexibleSchemaSet FlexibleSchema to true to scan for additional metadata on the query result set. Otherwise, the metadata will remain the same.
MaxRowsクエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
Otherこれらの隠しプロパティは特定のユースケースでのみ使用されます。
PagesizeApache CouchDB から返されるページあたりの結果の最大数。
PseudoColumnsこのプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
RowScanDepthテーブルで利用可能なカラムを探すためにスキャンする行数の最大値。
SeparatorCharacterThe character or characters used to denote hierarchy.
Timeoutタイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
TypeDetectionSchemeDetermines how the provider will scan the data to determine the fields and data types in each document collection.
UserDefinedViewsカスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
Apache CouchDB Connector for CData Sync

FlattenArrays

Set FlattenArrays to the number of array elements to flatten into columns. Otherwise, arrays are returned as JSON strings.

解説

By default, nested arrays are returned as strings of JSON. The FlattenArrays property can be used to flatten the elements of nested arrays into columns of their own: Set FlattenArrays to the number of elements you want to return from nested arrays. The zero-based index is concatenated to the column name with a dot or the character specified by SeparatorCharacter. Other elements are ignored.

For example, you can return an arbitrary number of elements from an array of strings:

["FLOW-MATIC","LISP","COBOL"]
When FlattenArrays is set to 1, the preceding array is flattened into the following table:

Column NameColumn Value
languages.0FLOW-MATIC

Setting FlattenArrays to -1 will flatten all the elements of nested arrays.

Using FlattenArrays is only recommended for arrays that are expected to be short. See NoSQL データベース for other ways to access nested arrays.

Apache CouchDB Connector for CData Sync

FlattenObjects

Set FlattenObjects to true to flatten object properties into columns of their own. Otherwise, embedded objects as raw JSON strings.

解説

The property name is concatenated onto the object name with a dot or the character specified by SeparatorCharacter.

For example, you can flatten the nested objects below at connection time:

[
  { "grade": "A", "score": 2 },
  { "grade": "A", "score": 6 },
  { "grade": "A", "score": 10 },
  { "grade": "A", "score": 9 },
  { "grade": "B", "score": 14 }
]
When FlattenObjects is set to true and FlattenArrays is set to 1, the preceding array is flattened into the following table:

Column NameColumn Value
grades.0.gradeA
grades.0.score2

Apache CouchDB Connector for CData Sync

FlexibleSchema

Set FlexibleSchema to true to scan for additional metadata on the query result set. Otherwise, the metadata will remain the same.

解説

If false, the metadata will remain the same.

Apache CouchDB Connector for CData Sync

MaxRows

クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。

解説

クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。

Apache CouchDB Connector for CData Sync

Other

これらの隠しプロパティは特定のユースケースでのみ使用されます。

解説

以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。

複数のプロパティをセミコロン区切りリストで指定します。

統合およびフォーマット

DefaultColumnSizeデータソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。
ConvertDateTimeToGMT日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。
RecordToFile=filename基底のソケットデータ転送を指定のファイルに記録します。

Apache CouchDB Connector for CData Sync

Pagesize

Apache CouchDB から返されるページあたりの結果の最大数。

解説

Pagesize プロパティは、Apache CouchDB から返されるページあたりの結果の最大数に影響を与えます。より大きい値を設定すると、1ページあたりの消費メモリが増える代わりに、パフォーマンスが向上する場合があります。

Apache CouchDB Connector for CData Sync

PseudoColumns

このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。

解説

Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。

Apache CouchDB Connector for CData Sync

RowScanDepth

テーブルで利用可能なカラムを探すためにスキャンする行数の最大値。

解説

テーブルのカラムはテーブル行をスキャンすることで決定される必要があります。この値はスキャンされる行数の最大値を設定します。

大きい値を設定すると、パフォーマンスが低下する場合があります。小さい値を設定すると、特にnull データがある場合には、データ型を正しく判定できない場合があります。

Apache CouchDB Connector for CData Sync

SeparatorCharacter

The character or characters used to denote hierarchy.

解説

In order to flatten out hierarchical structures, the Sync App needs some specifier that states the path to a column through the hierarchy. If this value is "." and a column comes back with the name address.city, this indicates that there is a mapped attribute with a child called city. If your data has columns that already use a single period within the attribute name, set the SeparatorCharacter to a different character or characters.

Apache CouchDB Connector for CData Sync

Timeout

タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。

解説

Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。

Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。

Apache CouchDB Connector for CData Sync

TypeDetectionScheme

Determines how the provider will scan the data to determine the fields and data types in each document collection.

解説

Since Apache CouchDB is schema-less, the columns in a table must be determined by scanning table rows. Set TypeDetectionScheme to toggle the automatic discovery of data types. Set RowScanDepth to configure type detection.

NoneSetting TypeDetectionScheme to None will return all columns as a string type.
RowScanSetting TypeDetectionScheme to RowScan will scan rows to heuristically determine the data type. The RowScanDepth property determines the number of rows to be scanned.

See Also

Type detection is part of 自動スキーマ検出. Set FlattenArrays and FlattenObjects to configure how the Sync App projects columns over the hierarchical data.

You can fine-tune the discovered columns and data types by calling CreateSchema to generate a schema file. Schema files have a simple format that makes it easy to change column behavior.

Apache CouchDB Connector for CData Sync

UserDefinedViews

カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。

解説

ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。

また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。

このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。

  • 各ルートエレメントはビューの名前を定義します。
  • 各ルートエレメントには、query と呼ばれる子エレメントが含まれており、この子エレメントにはビューのカスタムSQL クエリが含まれています。

次に例を示します。

{
	"MyView": {
		"query": "SELECT * FROM Movies WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}
UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json
指定されたパスは引用符で囲まれていないことに注意してください。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839