GoogleSheetsGet - GoogleSheetsからの入力

GoogleSheetsへSELECT文を発行して結果セットをストリームとして出力します。

GoogleSheetsへのアクセスはCData Software Inc.社の提供する技術を利用してRDBのようにSQLでアクセスする手段を提供します。利用できるSQLなどの詳細についてはこちらも参考にしてください。

その他CDataアダプターをご利用する際の注意事項に関してはこちらをご覧ください。

ストリーム情報

入力フォーマットすべて
接続数無制限
説明

入力ストリームは使用せず、すべて無視します。

出力フォーマットRecord

コンポーネントプロパティ

名前データ型マッピング説明
コネクション名connection- 接続先のGoogleSheetsを指定します。 コネクションペインまたは管理コンソールにて作成されたGoogleSheets接続名を選択します。
SQL文stringIn & Out 実際にGoogleSheetsに対して発行されるSQLを指定します。
SQLビルダーによって自動作成したり、さらに編集したりすることができます。詳細については下記トピック「SQLビルダーの使い方」を参照してください。SQLビルダーを使わずに、前に連結したマッパーからSQL文の文字列をマッピングすることもできます。
フィルターを指定boolean- 取得した結果セットに対して読込み開始行取出す件数でフィルタリングを行うかどうかを指定します。
はい [true] - 結果セットを読込み開始行取出す件数でフィルタリングします。
いいえ [false] - 結果セットのフィルタリングは行われません。
読込み開始行intIn & Outフィルターを指定が「はい」の場合に出力するレコードの開始行を指定します。
行のインデックスは1ベースのインデックスです。
読込み開始行が結果セットの件数よりも大きい場合はレコードが無いが発生します。(レコードが無い場合エラーが「いいえ」の場合は空の結果セットが出力されます。)
取出す件数intIn & Outフィルターを指定が「はい」の場合に出力するレコードの行数を指定します。
例えば読込み開始行=11、取出す件数=10の場合は入力レコードセットの11行目から10行が出力されます。
取出す件数に達する前に入力レコードが最終行に達した場合はそこまでのレコードが出力されます。
取出す件数が0の場合は、読込み開始行以降のすべての行が出力されます。
タイムアウト(秒)intIn & Out GoogleSheetsへSELECT文を発行してから結果が返ってくるまでの待ち時間を秒単位で指定します。
指定時間を経過しても実行が終わらない場合は汎用となります。
0の場合はタイムアウトすることはありません。
ループを開始loopProcess- 結果セットをまとめて出力するかループ時に取出す件数での指定行数ずつループして出力するかを選択します。
はい [true] - ループの起点となって1レコードずつストリームに出力します。
いいえ [false] - すべてのレコードがまとめてストリームに出力します。
ループ時に取出す件数intIn & Outループを開始はいの場合に一度の実行で出力する行数を指定します。
レコードが無い場合エラーboolean- 結果セットのレコード件数が0件だった場合にエラーを発生するかどうかを選択します。
はい [true] - エラーを発生します。
いいえ [false] - 空のストリームを出力します。
トランザクションに含めるboolean- このプロパティの値は無視されます。
はい [true] - コンポーネントの処理をトランザクションに含めます。
いいえ [false] - コンポーネントの処理をトランザクションに含めません。
フェッチサイズint- JDBCのsetFetchSize()に設定する値を指定します。
SQLパラメーターを使用するboolean- $,? をSQL文で使用したいときにこのプロパティを「いいえ」にするとSQLパラメーター置換処理をせずコンポーネントを実行できます。 また、この場合はSQLパラメーターが設定されていても無視されるので注意してください。
はい [true] - SQL文のSQLパラメーター書式の文字を置換します。
いいえ [false] - SQL文のSQLパラメーター書式の文字を置換をしません。
SQLパラメーターcategoryIn & OutSQL文中にパラメーター書式を埋め込むことにより、SQLパラメーターの値をパラメーターまたは置換文字列として使用することができます。
SQLパラメーターはSQLビルダーを使って定義します。詳細については下記トピック「SQLビルダーの使い方」を参照してください。

ループ処理

ループを開始が「はい」の場合、このコンポーネントがループの起点となって結果セットのレコードを1レコードずつ出力します。

エラー処理

タイプパラメータエラー処理フローへのストリームエラー
コード
説明
汎用 なし コンポーネントの入力ストリーム例外コードSQL文が不正な場合
なし コネクション名に指定したコネクションが見つからない場合
例外コードSQL文がタイムアウトした場合
接続エラー なし コンポーネントの入力ストリーム なし GoogleSheetsとの接続に失敗した場合
レコードが無い なし コンポーネントの入力ストリーム3レコードが無い場合エラーが「はい」の場合で、レコードが0件の場合
4レコードが無い場合エラーが「はい」の場合で、フィルターを指定を適用した結果出力レコードが0件になった場合

フローの強制終了

フローを強制終了すると、通常は実行中のコンポーネントの処理が終了してから次のコンポーネントに制御が遷移する時点でフローがアボートしますが、本コンポーネントでは実行中の処理を強制的に終了してフローがアボートします。

SELECT文中のカラムと出力ストリームのフィールドの関係

SQLビルダーを終了後、「フィールド定義を更新しますか?」メッセージダイアログボックスが表示されます。「はい」をクリックすると、SQLビルダーで選択したSELECT文中のカラムがストリームペインで出力ストリームとして定義されます。「いいえ」をクリックすると、ストリームペインには定義されません。

本コンポーネントの出力ストリームとしてレコードを取得するには、ストリームペインにフィールドを定義する必要がありますが、SQLビルダーで生成したSELECT文中の各カラムと出力ストリームのフィールドは順序によってマッピングされるため、カラム名とフィールド名は一致する必要はありません。

SELECTされたカラム数が出力ストリームで定義されたフィールド数と異なる場合や、カラムのデータ型が対応するフィールドのデータ型と異なる場合でも、順序によってマッピングされます。

SQLビルダーの使い方

SQLビルダーは、SQL文を自動生成する専用ツールです。SQLビルダーを使うと、簡単な操作で以下のようなことができます。

●SQLビルダーを起動する

以下のいずれかの操作でSQLビルダーを起動します。

●SQLビルダーの画面

●読み込むテーブルを指定する

SQLビルダーを起動すると(1)にテーブルの一覧が表示されます。読み込むテーブルを指定するには、2つの方法があります。以下の方法で操作すると、(2)にテーブルのフィールド一覧が表示されます。

ドラッグ&ドロップ

(1)の一覧からテーブル名をクリックしてドラッグを開始し、(2)にドロップします。

メニューから

(2)の空いたスペースで右クリックして表示されるメニューから「テーブル名を指定して追加」をクリックします。表示されたダイアログでテーブル名を入力して「OK」をクリックします。

●GoogleSheetsの詳細情報を表示する

(1)または(2)に表示したテーブルをクリックすると、(3)に詳細情報が表示されます。

●実際に読み込むフィールドを指定する(SELECT)

実際に読み込むフィールドを指定するには、2つの方法があります。以下の方法で操作すると、(5)にSQL文が表示されます。

(2)の画面から

フィールドリストでフィールド名の左にあるチェックボックスをオンにします。(4)の選択列タブに表示されます。指定したフィールドを取り消すには、チェックボックスをオフにします。(4)の選択列タブから削除されます。

(4)の画面から(選択列タブ)

フィールド名の空いたフィールドをクリックして表示されるプルダウンリストから読み込むフィールドを選択します。

●読み込む指定をしたフィールドを編集する

(4)でフィールドをクリックしてから、右クリックして表示されるメニューから「上に移動」「下に移動」「削除」を操作します。

●重複を抑制する(DISTINCT)

(2)の画面で右クリックして表示されるメニューから「重複の抑制(DISTINCT)」を実行すると自動生成されるSELECT文にDISTINCT句が付加されます。

●レコードの並び替え(ORDER BY)

レコードを昇順または降順にソートして読み込むには、以下の2つの方法があります。以下の方法で操作すると、(5)のSQL文に反映されます。

(2)の画面から

フィールドリストでフィールドをクリックし、右クリックして表示されるメニューの「ソートに追加」から「昇順」または「降順」をクリックします。

(4)の画面から(ソートタブ)

フィールド名の空いたフィールドをクリックして表示されるプルダウンリストから並び替えのキーとなるフィールドを選択します。指定したフィールド名のソート順プルダウンリストから「昇順」または「降順」を選択します。

レコードの並び替えを取り消す

フィールドリストでフィールドをクリックし、右クリックして表示されるメニューの「ソートに追加」から「(なし)」をクリックします。
またはソートタブのフィールドをクリックし、右クリックして表示されるメニューから「削除」をクリックします。

●集計関数の使用(GROUP BY)

フィールドに対して集計関数を適用する場合には、以下の2つの方法があります。以下の方法で操作すると、(5)のSQL文に反映されます。

(2)の画面から

フィールドリストでフィールドをクリックし、右クリックして表示されるメニューから「集計関数」を経由して適用する集計関数を選択します。

(4)の画面から(集計関数タブ)

フィールド名の空いたフィールドをクリックして表示されるプルダウンリストから集計関数を適用するフィールドを選択します。指定したフィールド名の集計関数プルダウンリストから適用する集計関数を選択します。

「COUNT(*)」を設定する場合は「2」の画面からのみ設定でき、集計関数タブ上では選択できません。

集計関数を取り消す

(2)の画面でフィールドを選択しての右クリックメニューから「集計関数」を経由して「なし」を選択します。
または集計関数タブのフィールドをクリックし、右クリックして表示されるメニューから「削除」をクリックします。

集計関数が設定されていてもそのフィールドがSELECT対象に含まれていない(フィールドがチェックされていない)場合はSELECT句にその項目は含まれません。
GROUP BY句にはSELECT対象のフィールドで集計関数が含まれていないフィールドが自動的に設定されます。

●テーブルの結合(リレーション)

SQLビルダーでは、リレーションを含んだSQL文を自動生成することができます。テーブル間でリレーションを設定するには、以下の手順で行います。

  1. (2)に、複数の対象テーブルを表示します。
  2. 対象テーブルのフィールド名をクリックしてドラッグを開始し、他の対象テーブルのフィールド名へリンクを連結します。
  3. 連結したリンクを右クリックして表示されるメニューの「リレーション種別」から種別をクリックします。

リレーションを削除するには、連結したリンクを右クリックして表示されるメニューから「リレーション削除」をクリックします。

●レコードの抽出(WHERE)

SQLビルダーでは、レコードの抽出条件を固定値と比較したりフローの中での動的な値と比較したりする設定を行うことができます。また、条件式を直接入力してSQL文に追加記述することができます。

固定値と比較する

  1. (2)のフィールドリストでフィールドをクリックし、右クリックして表示されるメニューから「条件の追加」をクリックします。
  2. 条件の編集ダイアログボックスで「固定値との比較」ラジオボタンをクリックします。
  3. 条件式をプルダウンリストから選択します。
  4. 固定値をテキストフィールドに入力します。
  5. 値を「'」で囲む場合は、「値を「'」で囲む」チェックボックスをオンにします。

(5)のSQL文に抽出条件が追加されます。(2)のフィールドリストに条件式が表示されます。

SQLパラメーターを使って実行時の動的な値の抽出条件を指定する

SQLビルダーで、任意の名前のパラメーターを定義し、抽出条件にするフィールド名に条件を追加する際にパラメーター名を指定することにより、パラメーターをWHERE句をSQL文の中に組み込みます。本コンポーネントの前にマッパーを配置し、定義したパラメーターにマッピングすることにより、実行時の動的な値を抽出条件にすることができます。

動的な値の抽出条件を指定するためには、以下の手順で行います。

  1. 最初に、(4)のパラメータータブで、任意の名前、データ型、初期値のパラメーターを定義します。
  2. (2)のフィールドリストでフィールドをクリックし、右クリックして表示されるメニューから「条件の追加」をクリックします。
  3. 条件の編集ダイアログボックスで「パラメーターとの比較」ラジオボタンをクリックします。
  4. 条件式をプルダウンリストから選択します。
  5. 定義したパラメーターが表示されるプルダウンリストから選択します。
  6. 値を「'」で囲む場合は、「値を「'」で囲む」チェックボックスをオンにします。

GoogleSheetsGetコンポーネントの前にマッパーを配置し、マッピングウィンドウの出力側にあるパラメーターのフィールド名に値となるフィールドをマッピングします。

(5)のSQL文に抽出条件が追加されます。(2)のフィールドリストに条件式が表示されます。

任意の条件を指定する

任意の条件を指定するには、以下の2つの方法があります。以下の方法で操作すると、(5)のSQL文に抽出条件が追加されます。

条件の編集ダイアログボックスから

  1. (2)のフィールドリストでフィールドをクリックし、右クリックして表示されるメニューから「条件の追加」をクリックします。
  2. 条件の編集ダイアログボックスで「直接入力」ラジオボタンをクリックします。
  3. 条件式をテキストボックスに直接入力します。

(4)の画面から(条件タブ)

  1. 条件タブの「任意の条件を追加」をクリックします。
  2. 条件式をテキストボックスに直接入力します。

抽出条件を組み合わせる

いろいろな条件を組み合わせて抽出を行う場合、(4)の条件タブで論理演算子を指定することができます。条件フィールドの「関係」項目のプリダウンリストから「AND」または「OR」をクリックします。

抽出条件を編集する

指定した抽出条件を編集するには、条件タブのフィールドをダブルクリックします。または、フィールドをクリックし、右クリックして表示されるメニューから「条件の編集」をクリックします。

抽出条件を取り消す

条件タブのフィールドをクリックし、右クリックして表示されるメニューから「削除」をクリックします。

●SQLパラメーターを使って実行時に動的なSQL文を生成する

SQLビルダーのSQLパラメーターは、抽出条件(WHERE句)を設定する以外に、SQL文の中での任意の文字列を置き換えることができます。任意の名前のパラメーターを定義し、(5)で直接パラメーターを記述します。また、条件の編集ダイアログボックスで任意の条件を指定するときに記述することもできます。本コンポーネントの前にマッパーを配置し、定義したパラメーターにマッピングすることにより、実行時に動的なSQL文にすることができます。

動的なSQL文を指定するためには、以下の手順で行います。

  1. (4)のパラメータータブで、任意の名前、初期値で、データ型はStringのパラメーターを定義します。
  2. (5)で、置き換えたい文字列を使用する部分に「$パラメーターのフィールド名$」のようにフィールド名を$で囲んで記述します。
  3. GoogleSheetsGetコンポーネントの前にマッパーを配置します。
  4. マッピングウィンドウの出力側にあるSQLパラメーターのフィールド名に置換文字列となるフィールドをマッピングします。

●パラメーターを編集する

(4)でフィールドを右クリックして表示されるメニューから「上に移動」「下に移動」「挿入」「削除」を操作します。

●自動生成したSQL文を直接編集する

(1)~(4)の指定で自動生成したSQL文が(5)に表示されます。(5)を直接編集すると、そのSQL文をそのままGoogleSheetsに発行します。直接編集する際には、自動生成したSQL文と同期すると元に戻るため注意が必要です。同期設定については次項の「自動生成するSQL文表示のオプション」を参照してください。

●SQL文をテスト実行する

実際にGoogleSheetsにSQL文を発行してテスト実行するには、以下の手順で行います。

  1. (5)の画面下部右側にある「SELECTテスト」をクリックします。
  2. パラメーターを定義している場合、パラメーターの値を指定するダイアログボックスで「初期値」項目にテスト用の値を設定して「OK」をクリックします。

正常終了の場合、実行結果がダイアログボックスに結果セットが表示されます。異常終了の場合、エラーメッセージダイアログボックスに表示されます。

結果セットの表示数を変更する

(5)の画面下部右側にある「テスト結果の行数」フィールドの行数を変更してから「SELECTテスト」をクリックします。初期値は100です。

●自動生成するSQL文表示のオプション

(5)の表示については、画面下部右側でオプションを指定することができます。

(5)のSQL文の編集について

SQLビルダーを使って指定したフィールドの選択、条件などのことをモデルといいます。「SQLを常に同期する」チェックボックスがオンの場合、(1)~(4)のモデルと(5)のSQL文が同期して自動生成された状態です。自動生成したSQL文を(5)で直接編集することができます。この場合、モデルを操作すると直接編集したSQL文が同期しないように、自動的に「SQLを常に同期する」チェックボックスがオフになります。直接編集をリセットした場合や再度操作したモデルからSQL文を自動生成する場合、「モデルをSQLに適用する」をクリックします。

オプション

●注意事項

●GoogleSheets コネクション設定

API Key[APIKey]

クライアントアプリケーションでOAuth 2.0を使用していない場合は、Google Cloud Platform プロジェクト内で有効になっているAPI を呼び出すときにAPI キーを含める必要があります。

認証スキーム[AuthScheme]

  • Auto:設定した他の接続プロパティに基づいて、ドライバーが自動的に決定。
  • Token:APIKey プロパティを介してトークンベースの認証を実行する場合に設定。
  • OAuth:標準のユーザーアカウントを使用してOAuth 認証を実行する場合に設定。
  • OAuthJWT:OAuth サービスアカウントを使用してOAuth 認証を実行する場合に設定。
  • GCPInstanceAccount:Google Cloud Platform インスタンスからアクセストークンを取得する場合に設定。


Default Value: Auto
Possible Values:
GCPInstanceAccount0
Auto1
Token2
OAuth3
OAuthJWT4
Auto Adjust Range[AutoAdjustRange]

True に設定すると、更新/挿入/削除された値がシートの範囲外にある場合、ドライバーは自動的にディメンションを拡張します。


Default Value: false
Auto Cache[AutoCache]

AutoCache がtrue に設定されていると、本製品 はテーブルデータのキャッシュを選択したデータベースに自動的に保存します。

キャッシュデータベースの設定

AutoCache がtrue の場合、本製品 はシンプルなファイルベースストアにキャッシュします。次のプロパティを使って、場所またはキャッシュを別のデータベースに構成できます。

関連項目

  • CacheMetadata:このプロパティは、Google Sheets メタデータから取得したテーブルスキーマを永続化することによって、ネットワークを横断するメタデータの量を減らします。メタデータは、すべての接続で取得する必要はなく、一度取得するだけです。
  • 明示的なデータのキャッシュ:このセクションでは、AutoCacheOffline で使用する例をさらに示します。
  • CACHE ステートメント:CACHE ステートメントを使って、SELECT クエリを永続化し、キャッシュを管理(例えば、スキーマのリフレッシュ)ができます。


Default Value: false
Batch Size[BatchSize]

BatchSize を0 より大きい値に設定すると、バッチ処理はバッチ全体をBatchSize のバッチに分割します。分割されたバッチは、個別にサーバーに送信されます。これは、サーバーに送信されるリクエストのサイズに制限がある場合に役立ちます。

BatchSize を0 に設定すると、指定されたバッチ全体が送信されます。


Default Value: 0
Browsable Schemas[BrowsableSchemas]

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

Cache Connection[CacheConnection]

キャッシュデータベースは、CacheDriver およびCacheConnection プロパティに基づいて決定されます。キャッシュデータベースを使用するには、両方のプロパティが必須です。以下に、一般的なキャッシュデータベースの設定例を示します。キャッシュデータベースのドライバーの設定方法についての詳細は、CacheDriver を参照してください。

CacheConnection プロパティで指定された接続文字列は、基底のCacheDriver に直接渡されます。使用可能なプロパティについての詳細は、JDBC driver 固有のドキュメントを参照してください。アプリケーションのクラスパスにJDBC driver を含めてください。

Derby およびJava DB

本製品 はDerby へのキャッシュを簡略化します。CacheLocation プロパティを設定するだけで基本的な接続を確立できます。

あるいは、CacheDriverCacheConnection を使用してDerby への接続を手動で設定することもできます。次はDerby JDBC URL シンタックスです。

jdbc:derby:[subsubprotocol:][databaseName][;attribute=value[;attribute=value] ... ]
例えば、インメモリデータベースにキャッシュするには、次を使用します。
jdbc:derby:memory

SQLite

SQLite へキャッシュするにはSQLite JDBC ドライバーを使用できます。次はJDBC URL の構文です。

jdbc:sqlite:dataSource
  • Data Source:SQLite データベースファイルへのパス。または、:memoryの値を使ってインメモリにキャッシュします。

MySQL

インストールにはCData JDBC Driver for MySQL が含まれています。次にJDBC URL の例を示します。

jdbc:mysql:User=root;Password=root;Server=localhost;Port=3306;Database=cache
次は一般的な接続プロパティです。

  • Server:接続しようとするサーバーのIP アドレス、もしくはドメイン名。
  • Port:サーバーが起動しているポート名。
  • User:データベースへの認証のためのユーザー名。
  • Password:データベースへの認証のためのパスワード。
  • Database:データベース名。

SQL Server

Microsoft JDBC Driver for SQL Server のJDBC URL の構文は次のとおりです。

jdbc:sqlserver://[serverName[\instance][:port]][;database=databaseName][;property=value[;property=value] ... ]
次に例を示します。
jdbc:sqlserver://localhost\sqlexpress:1433;integratedSecurity=true
次は一般的なSQL Server 接続プロパティです。
  • Server:SQL Server を起動しているコンピューターの名前またはネットワークアドレス名。デフォルトインスタンスの代わりに名前付きインスタンスに接続する場合は、このプロパティを使ってホスト名およびインスタンスをバックスラッシュで区切って指定できます。
  • Port:SQL Server が起動しているポート。
  • Database:SQL Server データベース名。
  • Integrated Security:現在のWindows アカウントを認証に使用する場合は、このオプションをtrue に設定します。接続でUser とPassword を設定する場合は、このオプションをfalse に設定します。

    統合セキュリティを使用するには、Windows システムパス上のフォルダにsqljdbc_auth.dll も追加する必要があります。このファイルは、Microsoft JDBC Driver for SQL Server インストールのauth サブフォルダにあります。アセンブリのビット数はJVM のビット数と一致する必要があります。

  • User Id:SQL Server との認証に使われるユーザー名。このプロパティは、統合セキュリティを使用していない場合にのみ必要です。
  • Password:SQL Server との認証に使われるパスワード。このプロパティは、統合セキュリティを使用していない場合にのみ必要です。

Oracle

次はOracle JDBC Thin ドライバーの従来のJDBC URL シンタックスです。

jdbc:oracle:thin:[userId/password]@[//]host[[:port][:sid]]
次に例を示します。
jdbc:oracle:thin:scott/tiger@myhost:1521:orcl
次は一般的な接続プロパティです。
  • Data Source:Oracle データベースを識別する接続記述子。これは、TSN 接続記述子、接続記述子を決定するOracle Net Services 名、またはバージョン11g以降ではEasy Connect ネーミング(任意のポート名およびサービス名を持つOracle サーバーのホスト名)になります。

  • Password:Oracle データベースへの認証のためのパスワード。
  • User Id:Oracle データベースへの認証のためのユーザーId。

PostgreSQL

次は公式のPostgreSQL JDBC ドライバーのJDBC URL 構文です。

jdbc:postgresql:[//[host[:port]]/]database[[?option=value][[&option=value][&option=value] ... ]]
例えば、次の接続文字列はデフォルトホスト(localhost)およびポート(5432)上のデータベースに接続します。
jdbc:postgresql:postgres
一般的な接続プロパティは次のとおりです:
  • Host:PostgreSQL データベースをホストしているサーバーのアドレス。
  • Port:PostgreSQL データベースをホスティングしているサーバーに接続する際のポート。
  • Database:データベース名。
  • User name:PostgreSQL データベースの認証用に提供されたユーザーId。"user" パラメータを使ってJDBC URL に指定できます。
  • Password:PostgreSQL データベースへの認証のためのパスワード。

Cache Driver[CacheDriver]

CData JDBC drivers を含むJDBC ドライバーが用意されている任意のデータベースにキャッシュできます。

キャッシュデータベースは、CacheDriver およびCacheConnection プロパティによって決定されます。CacheDriver は、データのキャッシュに使用するJDBC ドライバークラスの名前です。

Note:CacheDriver JAR ファイルをクラスパスに追加する必要があります。

次の例は、いくつかの主要なデータベースにキャッシュする方法を示しています。JDBC URL 構文および一般的な接続プロパティの詳細については、CacheConnection を参照してください。

Derby およびJava DB

本製品 はDerby 設定を簡略化します。Java DB は、Derby のOracle ディストリビューションです。JAR ファイルはJDK に同梱されています。JAR ファイル、derby.jar は、JDK インストールフォルダのdb サブフォルダに格納されています。ほどんどのキャッシュシナリオでは、derby.jar をクラスパスに追加した後、次のものだけを指定する必要があります。

jdbc:googlesheets:CacheLocation='c:/Temp/cachedir';InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders
Derby JDBC URL をカスタマイズするには、CacheDriver およびCacheConnection を使用します。例えば、インメモリデータベースにキャッシュするには、次のようにJDBC URL を使用します。
jdbc:googlesheets:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders

SQLite

次はSQLite JDBC ドライバーのJDBC URL です。

jdbc:googlesheets:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders

MySQL

次はCData JDBC Driver for MySQL のJDBC URL です。

  jdbc:googlesheets:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders
  

SQL Server

次のJDBC URL はMicrosoft JDBC Driver for SQL Server を使用しています。

jdbc:googlesheets:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders

Oracle

次はOracle Thin Client のJDBC URL です。

jdbc:googlesheets:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders
NOTE:9i より前のバージョンのOracle を使用している場合は、キャッシュドライバーは代わりにoracle.jdbc.driver.OracleDriver になります。

PostgreSQL

次のJDBC URL は公式のPostgreSQL JDBC ドライバーを使用しています。

jdbc:googlesheets:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';InitiateOAuth=GETANDREFRESH;Spreadsheet=NorthwindOrders

Cache Location[CacheLocation]

CacheLocation は単純なファイルベースキャッシュです。本製品 はJava DB、Oracle のDerby データベースのディストリビューションを使用しています。Java DB にキャッシュするには、Java DB JAR ファイルをクラスパスに追加する必要があります。JAR ファイル、derby.jar はJDK に同梱され、JDK インストールの[db]サブフォルダに配置されています。

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

Platform %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config

関連項目

  • AutoCache:後のオフライン使用のために、暗黙的にキャッシュを作成して維持するように設定します。
  • CacheMetadata:Google Sheets カタログをCacheLocation に永続化するように設定します。


Default Value: %APPDATA%\\CData\\GoogleSheets Data Provider
Cache Metadata[CacheMetadata]

このプロパティを設定してクエリを実行すると、Google Sheets カタログのテーブルメタデータが設定されている場合にはCacheLocation で指定されたファイルストアに、設定されていない場合にはホームディレクトリにキャッシュされます。テーブルのメタデータの取得は、テーブルがはじめてクエリされた際に一度だけ行われます。

CacheMetadata を使用するタイミング

本製品 は、はじめてテーブルやビューを発見したときから2時間の間、メタデータをインメモリに自動的に保管します。そのため、CacheMetadata は一般的には必要ありません。CacheMetadata は、大量のメタデータを扱う場合でメタデータオペレーションのコストが高い場合や、短い接続を大量に行う場合などに役立ちます。

CacheMetadata を使用しないタイミング

  • 変化しやすいメタデータを扱う場合:テーブルのメタデータは、はじめにテーブルへの接続がなされた時に一度しか取得されません。それ以降の、新規、変更、削除されたカラムを取得するには、メタデータキャッシュを削除してリビルドする必要があります。よって、メタデータが頻繁に変更される場合には、インメモリキャッシュを使う方が便利です。
  • データベースにキャッシュする場合CacheMetadataCacheLocation でのみ使用可能です。CacheDriver およびCacheConnection プロパティで他のデータベースへのキャッシュが可能です。黙示的なキャッシュにはAutoCache を使ってください。もしくは、 CACHE ステートメント で明示的なキャッシュが可能です。


Default Value: false
Cache Tolerance[CacheTolerance]

キャッシュ内の失効データに対する許容範囲の秒数。これは、AutoCache が使用されている場合のみ有効です。本製品 は、許容インターバルが過ぎると、新しいレコードがないかデータソースをチェックしに行きます。それ以外は、キャッシュから直接データを返します。


Default Value: 600
コールバックUrl[CallbackURL]

認証プロセス中、OAuth 認証サーバーはユーザーをこのURL にリダイレクトします。この値をアプリケーションに指定したコールバックURL と同じ値に設定します。

Connection Life Time[ConnectionLifeTime]

接続の最大有効期間(秒単位)。その時間が経過すると、接続オブジェクトは削除されます。デフォルトは0で、接続の有効期間に制限がないことを示します。


Default Value: 0
Connect On Open[ConnectOnOpen]

true に設定すると、接続が開かれたときにGoogle Sheets への接続が作成されます。このプロパティは、さまざまなデータベースツールで[接続のテスト]機能を利用できるようにします。

この機能はNOOP コマンドとして作用します。Google Sheets に接続できることを確認するために使用され、この初期接続からは何も維持されません。

このプロパティをfalse に設定すると、パフォーマンスが向上する場合があります(接続が開かれる回数に依存します)。


Default Value: false
Date Time Render Option[DateTimeRenderOption]

SerialNumber日付、時間、datetime および期間のフィールドが、Lotus 1-2-3 のように"serial number" 形式のダブルで表示されるよう本製品 に指示します。値の整数部分(ピリオドの左側)は1899年12月30日からの日にちをカウントしています。小数部分(ピリオドの右側)は、時間を日の少数で表します。例えば、1900年1月1日の昼の12時は、2.5 と表示されます。これは1899年12月30日から2日後で、昼の12時は1日の半分なので0.5 となります。1900年2月1日の午後3時は、33.625 です。これは1900年を飛ばしません。
FormattedString日付、時間、datetime および期間のフィールドが、数字形式の文字列としてアウトプットされるよう本製品 に指示します。これはスプレッドシートのロケールとは関係がありません。


Default Value: SerialNumber
Possible Values:
SerialNumber0
FormattedString1
Define Tables[DefineTables]

このプロパティを使って、テーブルとして表示するシートの範囲を定義します。値は、名前と値のペアのカンマ区切りリストで、[Table Name]=[Spreadsheet Name]_[Sheet Name]![Range] または[Table Name]=[Spreadsheet Name]_[Sheet Name]![Range] の形式になります。 Table Name はデータに使うテーブルの名前で、クエリを発行する際に使用されます。 Sheet Name はGoogle スプレッドシート内にあるシートの名前で、Range はテーブルのデータを含むセルの範囲です。

DefineTables 値の例を示します。DefineTables="Table1=Spreadsheet1_Sheet1!A1:N25,Table2=Spreadsheet1_Sheet2!C3:M53,Table4=xIsPcLs2-bF3AavQcSLCfzs3kGc_Sheet4!C20:N60"

Domain Shared Files Only[DomainSharedFilesOnly]

true の場合、ドライバーは、ユーザー独自のシートを除き、ユーザーのドメインに共有されているシートのみを取得して公開します。false の場合、ドライバーはユーザー独自のファイルと共有するファイルの両方を取得します。


Default Value: false
Firewall Password[FirewallPassword]

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

Firewall Port[FirewallPort]

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


Default Value: 0
Firewall Server[FirewallServer]

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

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

Firewall Type[FirewallType]

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

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

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


Default Value: NONE
Possible Values:
NONE0
TUNNEL1
SOCKS42
SOCKS53
Firewall User[FirewallUser]

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

Folder Id[FolderId]

FolderId='id1,id2,id3' の形式でスプレッドシートを取得するフォルダのId のカンマ区切りリスト。

Folder Name[FolderName]

FolderName='name1,name2' の形式でスプレッドシートを取得するフォルダの名前のカンマ区切りリスト。

Header[Header]

true の場合は、最初の行が列ヘッダーとして使用されます。そうでない場合は、疑似列名(A、B、C など)が使用されます。

Header プロパティはOrientation プロパティと一緒に使用します。Header がfalse、Orientation がColumns に設定されている場合、列名はR1、R2、R3、etc. のようにレポートされます。


Default Value: true
Ignore Error Values[IgnoreErrorValues]

このプロパティがtrue に設定されている場合、本製品 は値にエラーを含むフィールドをNULL として返します。

このプロパティがfalse に設定されている場合には、値にエラーが見つかった場合に本製品 はエラーをスローします。

本製品 は以下のエラー値を確認します。

  • #NULL!
  • #N/A
  • #DIV/0!
  • #VALUE!
  • #REF!
  • #NAME?
  • #NUM!
  • #ERROR!


Default Value: true
イニシエートOAuth[InitiateOAuth]

次のオプションが利用可能です。

  1. OFF:OAuth フローが完全にユーザーにより操作されることを示します。認証にはOAuth アクセストークンが必要です。
  2. GETANDREFRESH:OAuth フローが完全に本製品 により操作されることを示します。現在トークンが存在しない場合にはブラウザを通じてユーザーをプロンプトすることで取得されます。トークンが存在する場合には必要に応じてリフレッシュされます。
  3. REFRESH:本製品 がOAuthAccessToken のリフレッシュのみを操作することを示します。ユーザーは本製品 によりブラウザを通じて認証することをプロンプトされることはありません。OAuthAccessToken とOAuthRefreshToken の最初の取得はユーザーが行う必要があります。


Default Value: OFF
Possible Values:
OFF0
GETANDREFRESH1
REFRESH2
Insert Data Option[InsertDataOption]

Overwrite

新しいデータは、テーブルの最後の行の次の行の内容を置き換えます。テーブルの最終行の後にデータが上書きされる可能性があることに注意してください。これは、本製品 は空の行を見つけると行を返すことをやめるためです。

本製品 が スプレッドシートデータからテーブルを検出する方法について、詳しくはテーブル を参照してください。

InsertRows本製品 は、指定された行(またはテーブルの最後)に新しい行を挿入します。これは、下のすべての行のId を1ずつインクリメントすることで、テーブルの下のデータを上書きするのを防ぎます。また、既存の行の間にデータを挿入することもできます。次のクエリは新しい行2を挿入します。既存の行2は行3になり、行3は行4になります。
INSERT INTO Spreadsheet1_Sheet1(Id,Name, Amount) VALUES (2,'Test', 10)


Default Value: Overwrite
Possible Values:
Overwrite0
InsertRows1
Location[Location]

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

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

Platform %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config


Default Value: %APPDATA%\\CData\\GoogleSheets Data Provider\\Schema
Logfile[Logfile]

このプロパティを設定すると、認証が実行されたときやクエリが実行されたときなど、さまざまなタスクを実行する際に、本製品 がログファイルを生成します。指定したファイルが存在しない場合は作成されます。

接続文字列およびバージョン情報も記録されますが、機密情報を含む接続プロパティは自動的にマスクされます。

相対ファイルパスが指定された場合、ログファイルの場所は、Location 接続プロパティにあるパスに基づいて解決されます。

ログファイルに記録される内容をより細かく制御するには、Verbosity プロパティを調整してください。

ログ内容はいくつかのモジュールに分類されます。LogModules プロパティを使うことで、個々のモジュールを表示または非表示にすることができます。

新しいログファイルの作成前にログファイル1つの最大サイズを変更する方法については、MaxLogFileSize を参照してください。

生成されるログファイル数に上限を設定したい場合は、MaxLogFileCount を使用してください。

Java のログ出力

Java のログ出力もサポートされています。Java のログ出力を有効化するには、Logfile を次のように設定します:

Logfile=JAVALOG://myloggername

上記の例のように、JAVALOG:// がJava のログを使用するための必須プレフィックスで、独自のロガーで代用することになります。

次に、指定されたロガーのgetLogger メソッドが呼び出され、指定された値を使用してLogger インスタンスが作成されます。ログのインスタンスがすでに存在する場合は、既存のインスタンスを参照します。

Java のログ出力が有効になっている場合、Verbosity は特定のログレベルに対応します。

Log Modules[LogModules]

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

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

Max Log File Count[MaxLogFileCount]

サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成され、最も古いログファイルが削除されます。

サポートされている最小値は2です。0や負の値は、数に制限がないことを示します。

生成されるログファイルの最大サイズは、MaxLogFileSize で調整できます。


Default Value: -1
Max Log File Size[MaxLogFileSize]

サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成されます。リミットのデフォルトは100 MB です。100 kB より小さい値を設定した場合、100 kB がリミットとなります。

生成されるログファイルの最大数は、MaxLogFileCount で調整できます。


Default Value: 100MB
Max Rows[MaxRows]

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


Default Value: -1
Null Value Mode[NullValueMode]

NullValueMode は、空のGoogle Sheets セルをどのようにモデル化するかを制御します。空のセルは、設定されていないセル(null 文字列が含まれているセル)です。NullValueMode をReadAsNull に設定すると、空のセルに対してNULL が報告されます。NullValueMode をReadAsEmpty に設定すると、空のセルに対して空の文字列が報告されます。


Default Value: ReadAsNull
Possible Values:
ReadAsNull0
ReadAsEmpty1
OAuthアクセストークン[OAuthAccessToken]

OAuth を使用して接続するには、OAuthAccessToken プロパティが使用されます。認証プロセスにおいてOAuth サーバーからOAuthAccessToken が取得されます。このプロパティは、サーバーに依存するタイムアウトがあり、要求の間で再利用することができます。

アクセストークンは、ユーザー名とパスワードの代わりに使用されます。サーバー上で維持することで、認証情報が保護されます。

OAuthクライアントID[OAuthClientId]

OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。

OAuthクライアントシークレット[OAuthClientSecret]

OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。

OAuth Expires In[OAuthExpiresIn]

OAuthTokenTimestamp と併用して、アクセストークンの有効期限を決定します。

OAuth JWT Cert[OAuthJWTCert]

クライアント証明書のための証明書ストア名。

OAuthJWTCertType フィールドは、OAuthJWTCert により指定された証明書ストアの種類を指定します。 ストアがパスワードで保護されている場合は、OAuthJWTCertPassword でパスワードを指定します。

OAuthJWTCert は、OAuthJWTCertSubject フィールドとともにクライアント証明書を指定するために使われます。 OAuthJWTCert に値がある場合で、OAuthJWTCertSubject が設定されている場合は、証明書の検索が始まります。 詳しくは、OAuthJWTCertSubject フィールドを参照してください。

証明書ストアの指定はプラットフォームに依存します。

Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。

MY個人証明書と関連付けられた秘密キーを格納している証明書ストア。
CA証明機関の証明書。
ROOTルート証明書。
SPCソフトウェア発行元証明書。

Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。

証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。 PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。

OAuth JWT Cert Password[OAuthJWTCertPassword]

証明書ストアでパスワードが必要である場合、このプロパティを使用してパスワードを指定し、証明書ストアにアクセスできます。

GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーは暗号化されていません。

OAuth JWT Cert Subject[OAuthJWTCertSubject]

証明書のサブジェクトは、証明書をロードするときにストア内の証明書を検索するために使用されます。

完全に一致するものが見つからない場合、ストアはプロパティの値を含むサブジェクトを検索します。

それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。

"*" に設定すると、証明書ストアの1番目の証明書が選択されます。

証明書のサブジェクトは識別の名前フィールドおよび値のカンマ区切りのリストです。 例えば、"CN=www.server.com, OU=test, C=US, E=support@cdata.com"。共通のフィールドとその説明は以下のとおりです。

フィールド説明
CN共通名。一般的には、www.server.com のようなホスト名です。
O法人名
OU法人の部署名
L法人の住所(市町村名)
S法人の住所(都道府県)
C国名
EEメールアドレス

フィールド値にカンマが含まれている場合は、それを引用符で囲む必要があります。


Default Value: *
OAuth JWT Cert Type[OAuthJWTCertType]

このプロパティには次の値の一つを設定できます。

USERWindows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。 Note:この種類はJava では利用できません。
MACHINEWindows の場合、この証明書ストアがシステムストアであることを指定します。 Note:この種類はJava では利用できません。
PFXFILEこの証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。
PFXBLOBこの証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。
JKSFILEこの証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。 Note:この種類はJava のみで利用できます。
JKSBLOBこの証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 Note:この種類はJava のみで利用できます。
PEMKEY_FILEこの証明書ストアは、秘密キーと任意の証明書を含むPEM でエンコードされたファイルの名前です。
PEMKEY_BLOBこの証明書ストアは、秘密キーと任意の証明書を含むBase-64でエンコードされた文字列です。
PUBLIC_KEY_FILEこの証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むファイルの名前です。
PUBLIC_KEY_BLOBこの証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むBase-64でエンコードされた文字列です。
SSHPUBLIC_KEY_FILEこの証明書ストアは、SSH 公開キーを含むファイルの名前です。
SSHPUBLIC_KEY_BLOBこの証明書ストアは、SSH 公開キーを含むBase-64でエンコードされた文字列です。
P7BFILEこの証明書ストアは、証明書を含むPKCS7 ファイルの名前です。
PPKFILEこの証明書ストアは、PuTTY 秘密キー(PPK)を含むファイルの名前です。
XMLFILEこの証明書ストアは、XML 形式の証明書を含むファイルの名前です。
XMLBLOBこの証明書ストアは、XML 形式の証明書を含む文字列の名前です。
GOOGLEJSONこの証明書ストアは、サービスアカウント情報を含むJSON ファイルの名前です。Google サービスに接続する場合にのみ有効です。
GOOGLEJSONBLOBこの証明書ストアは、サービスアカウントのJSON を含む文字列です。Google サービスに接続する場合にのみ有効です。


Default Value: USER
Possible Values:
GOOGLEJSONBLOB0
USER1
MACHINE2
PFXFILE3
PFXBLOB4
JKSFILE5
JKSBLOB6
PEMKEY_FILE7
PEMKEY_BLOB8
PUBLIC_KEY_FILE9
PUBLIC_KEY_BLOB10
SSHPUBLIC_KEY_FILE11
SSHPUBLIC_KEY_BLOB12
P7BFILE13
PPKFILE14
XMLFILE15
XMLBLOB16
GOOGLEJSON17
OAuth JWT Issuer[OAuthJWTIssuer]

Java Web Token の発行者。 委任されたユーザーのE メールアドレスの値を入力します。

GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーには、発行者アカウントのコピーが含まれています。

Java Web Token の発行者。 委任されたユーザーのE メールアドレスの値を入力します。

GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーには、発行者アカウントのコピーが含まれています。

OAuth JWT Subject[OAuthJWTSubject]

アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクトです。 サービスアカウントE メールの値を入力します。

アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクトです。 サービスアカウントE メールの値を入力します。

OAuth Refresh Token[OAuthRefreshToken]

OAuthRefreshToken プロパティは、OAuth 認証時にOAuthAccessToken のリフレッシュに使われます。

OAuth設定場所[OAuthSettingsLocation]

InitiateOAuthGETANDREFRESH またはREFRESH に設定されている場合、本製品 がOAuth 値を保存するため、ユーザーが手動でOAuth 接続プロパティを入力する必要がなくなり、接続やプロセス間でクレデンシャルを共有できるようになります。

ファイルパスを指定する代わりに、メモリストレージを使用することができます。メモリの場所は、'memory://' で始まる値とそのクレデンシャルのセット(例:memory://user1)の一意の識別子を使用して指定します。識別子は何でも構いませんが、ユーザーに固有のものでなければなりません。資格情報が接続間で永続化されるファイルベースのストレージとは異なり、メモリストレージは資格情報を静的メモリにロードし、資格情報はプロセスが継続している間は同じ識別子を使用して接続間で共有されます。そのプロセス外で資格情報を永続化するには、接続を閉じる前に資格情報を手動で保存する必要があります。これにより、プロセスが再開されたときに接続にそれらを設定することができます。OAuth プロパティ値は、sys_connection_props システムテーブルへのクエリで取得できます。複数の接続で同じ資格情報を使用している場合は、プロパティは最後に閉じた接続から読み取られます。

デフォルトの場所は"%APPDATA%\\CData\\GoogleSheets Data Provider\\OAuthSettings.txt" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます。デフォルト値は次のとおりです。

  • Windows:"register://%DSN"
  • Unix:"%AppData%..."
  • Mac:"%AppData%..."

DSN はオープン接続で使用される現在のDSN の名前です。

以下のテーブルは、OS 別の%APPDATA% 値の一覧です。

プラットフォーム %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config


Default Value: %APPDATA%\\CData\\GoogleSheets Data Provider\\OAuthSettings.txt
OAuth Token Timestamp[OAuthTokenTimestamp]

OAuthExpiresIn と併用して、アクセストークンの有効期限を決定します。

OAuth Verifier[OAuthVerifier]

OAuth 認可URL から返された検証コード。これは、ヘッドレスシステムのようにブラウザを起動できないシステム上で使用できます。

ヘッドレスマシンでの認証

OAuthVerifier 値を取得するには、 を参照してください。

OAuthVerifier に加えてOAuthSettingsLocation を設定します。接続すると、本製品 はOAuth 認証トークンのOAuthVerifier を交換し、暗号化して、指定された場所に保存します。 交換を自動化するには、InitiateOAuth をGETANDREFRESH に設定します。

OAuth 設定ファイルが生成されたら、接続プロパティからOAuthVerifier を削除してOAuthSettingsLocation セットで接続できます。

OAuth トークン値を自動的にリフレッシュするには、OAuthSettingsLocation を設定し、さらにInitiateOAuth をREFRESH に設定します。

Offline[Offline]

Offline がtrue に設定されている場合、すべてのクエリは、ライブデータソースではなくキャッシュに対して実行されます。このモードでは、INSERT、UPDATE、DELETE、CACHE などのクエリは許可されません。


Default Value: false
Orientation[Orientation]

Horizontal本製品 がシートの行に操作することを指定します。
Vertical本製品 がシートの列に操作することを指定します。

デフォルトでは、本製品 は垂直方向のスプレッドシートデータをモデル化しています。行はヘッダ行の下に垂直に配置されます。

行が左から右に配置されている場合は、これを"Horizontal" に設定します。最初の列は列名を含み、後続の列は行になります。


Default Value: Vertical
Possible Values:
Horizontal0
Vertical1
Other[Other]

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

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

キャッシュの設定

CachePartial=Trueクエリで指定可能な一部のカラムのみをキャッシュします。
QueryPassthrough=True本製品 のSQL パーサーを使用する代わりに、指定のクエリをキャッシュデータベースに渡します。

統合およびフォーマット

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

Pagesize[Pagesize]

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


Default Value: 1000
Percentage To Decimal[PercentageToDecimal]

パーセンテージの列をdecimal 表示するかどうかを決定するboolean。


Default Value: false
Pool Idle Timeout[PoolIdleTimeout]

接続が閉じられるまで、プール内に残ることができる許容されたアイドル時間。デフォルトは60秒です。


Default Value: 60
Pool Max Size[PoolMaxSize]

プールの最大接続数。デフォルトは100です。このプロパティを無効にするには、プロパティ値を0以下に設定します。


Default Value: 100
Pool Min Size[PoolMinSize]

プール内の最小接続数。デフォルトは1です。


Default Value: 1
Pool Wait Time[PoolWaitTime]

接続が利用可能になるまで待機する最大秒数。新しい接続のリクエストが使用可能な接続を待ちこの時間を超過すると、エラーが返されます。デフォルトでは、新規リクエストは使用可能な接続を永久に待機します。


Default Value: 60
Primary Key Identifier[PrimaryKeyIdentifier]

行番号を持つ主キーカラムの名前を決定します。主キーのデフォルト値はId です。

クエリ対象のテーブルにID という名前のカラムがある場合、または主キーの名前を変更したい場合は、このプロパティを設定します。

Proxy Auth Scheme[ProxyAuthScheme]

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

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

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

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

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


Default Value: BASIC
Possible Values:
BASIC0
DIGEST1
NONE2
NEGOTIATE3
NTLM4
PROPRIETARY5
Proxy Auto Detect[ProxyAutoDetect]

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

NOTE:このプロパティがTrue に設定されている場合、使用されるプロキシは次のように決定されます。

  • 本製品 は、JVM のプロパティ(http.proxy、https.proxy、socksProxy など)から検索を行います。
  • JVM のプロパティが存在しない場合、本製品 はjava.home/lib/net.properties を検索します。
  • java.net.useSystemProxies がTrue に設定されている場合、本製品 はSystemProxy を検索します。
  • Windows では、プロキシ設定はレジストリインターネットオプション、具体的にはレジストリキーHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ から読み込まれます。Windows 10以降では、Windows の設定にあるプロキシの設定に対応します。
    • これらの設定は、マシンの現在のユーザーにのみ適用されることに注意してください。アプリケーションをサービスとして実行している場合、本製品 はユーザー設定を読み込みません。代わりに、本製品 の接続プロパティでプロキシ設定を手動で行う必要があります。

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


Default Value: false
Proxy Exceptions[ProxyExceptions]

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

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

Proxy Password[ProxyPassword]

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

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

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

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

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

Proxy Port[ProxyPort]

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


Default Value: 80
Proxy Server[ProxyServer]

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

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

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

Proxy SSL Type[ProxySSLType]

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

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


Default Value: AUTO
Possible Values:
AUTO0
ALWAYS1
NEVER2
TUNNEL3
Proxy User[ProxyUser]

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

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

user@domain
domain\user

Pseudo Columns[PseudoColumns]

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

Readonly[Readonly]

このプロパティがtrue に設定されている場合、本製品 はSELECT クエリのみ許可します。INSERT、UPDATE、DELETE、およびストアドプロシージャクエリではエラーが返されます。


Default Value: false
Recurse Folders[RecurseFolders]

FolderId / FolderName プロパティが定義されている場合に使用します。True に設定すると、ドライバーはネストされたフォルダ内のすべてのスプレッドシートを返し、そうでなければ、ドライバーはフォルダの直下のファイルのみを返します。デフォルトではfalse に設定されています。


Default Value: false
Row Scan Depth[RowScanDepth]

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

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


Default Value: 50
RTK[RTK]

RTK プロパティは、ビルドにライセンスを供与するために使用されます。 このプロパティの設定方法については、付属のライセンスファイルを参照してください。このランタイムキーは、OEM ライセンスを購入した場合にのみ使用できます。

Show Empty Rows[ShowEmptyRows]

true の場合、空の行が出力時にプッシュされます。


Default Value: false
Show Trashed Files[ShowTrashedFiles]

True の場合、ドライバーはごみ箱に置かれたファイル/スプレッドシートをリストします。


Default Value: false
Skip Hidden Sheets[SkipHiddenSheets]

true の場合、ドライバーは非表示のシートをスキップします。


Default Value: false
スプレッドシート[Spreadsheet]

参照されるスプレッドシートの名前もしくはId のカンマ区切りのリスト。このデータを取得するには、Spreadsheets ビューをクエリします。

Note:スプレッドシートの名前を入力する際、先頭や末尾のスペースを含めて正確なスプレッドシート名を入力してください。 また、カンマの区切りの前後に余分なスペースを加えてないようにします。スプレッドシート名にカンマが含まれる場合は、バックスラッシュ'\' でエスケープしてください。

SSL Server Cert[SSLServerCert]

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

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

証明書は、システムのトラストストアに基づいてマシンによって信頼されていると検証されています。使用されるトラストストアは、システムに指定された'javax.net.ssl.trustStore' 値になります。このプロパティに値が指定されていない場合は、Java のデフォルトのトラストストア(例えば、JAVA_HOME\lib\security\cacerts)が使用されます。

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

Supports All Drives[SupportsAllDrives]

このプロパティを'true' に設定すると、任意のドライブスプレッドシートからクエリを実行できます。


Default Value: false
Tables[Tables]

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

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

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

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

Team Drive[TeamDrive]

TeamDrive='Shared drive 2, Shared drive 3'、またはTeamDrive='0BKwyFj1j9FOsUk9EVO, 0ANMIP9RIe1LQUk9PVA' の形式でスプレッドシートを取得するドライブの名前またはID。

タイムアウト(秒)[Timeout]

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

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


Default Value: 60
Type Detection Scheme[TypeDetectionScheme]

NoneTypeDetectionScheme をNone に設定した場合は、すべてのカラムは文字列型で返されます。 Note:None に設定した場合でも、Header がTrue に設定されている場合は、カラム名は引き続きスキャンされます。
RowScanTypeDetectionScheme をRowScan に設定した場合は、ヒューリスティックにデータ型を決定します。RowScanDepth ではスキャンする行数を決定します。これを-1に設定すると、ドライバーはシート全体をスキャンします。


Default Value: RowScan
Possible Values:
None0
RowScan1
Use Connection Pooling[UseConnectionPooling]

このプロパティは、コネクションプーリングを有効にします。デフォルトはfalse です。 コネクションプールの使用に関する詳細は、 接続プール を参照してください。


Default Value: false
Use Id As Table Name[UseIdAsTableName]

Id をスプレッドシート名およびシート名として使用するかどうかを指定します。 SpreadsheetName_SheetName の代わりにシートで選択するには、次のようにします:SpreadsheetId_SheetId。例:SELECT * FROM 11696gdF5QUL1EnYikYiUeMTHRqA1111KbdYDoINqI_1151117664


Default Value: false
User Defined Views[UserDefinedViews]

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

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

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

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

次に例を示します。

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

Use Simple Names[UseSimpleNames]

Google Sheets テーブルおよびカラムでは、 通常のデータベースでは使うことが認められていない特殊記号・文字を名前に使うことができます。UseSimpleNames を使用すると、本製品 を従来のデータベースツールでより簡単に使用できるようになります。

UseSimpleNames をtrue に設定し、返されるテーブル名およびカラム名をシンプルにします。表示されるテーブル名 およびカラム名においてアルファベット文字およびアンダースコアのみを有効とするネーミングスキームを強制します。 英数字以外の文字はすべて、アンダースコアに変換されます。


Default Value: false
Value Input Option[ValueInputOption]

Rawユーザーが入力した値はパースされず、as-is で保存されます。
UserEnteredユーザーがUI にタイプしたのと同じように、値はパースされます。数値は数値のままですが、文字列は、Google シートUI に入力する際と同じルールで数値、日付などに変更されます。


Default Value: UserEntered
Possible Values:
UserEntered0
Raw1
Value Render Option[ValueRenderOption]

FormattedValueセルの形式に基づいて、値が計算およびフォーマットされます。形式はリクエストしているユーザーのロケールではなく、スプレッドシートのロケールによってなされます。例えば、A1 が"1.23" でA2 が"=A1" で、形式が通貨の場合、A2 は"$1.23" となります。
UnformattedValue戻り値で、値は計算されますが、フォーマットされません。例えば、A1 が"1.23" でA2 が"=A1" で、形式が通貨の場合、A2 は"1.23" という数値を返します。
Formula 値は計算されません。戻り値は数式を含みます。例えば、A1 が"1.23" でA2 が"=A1" で、形式が通貨の場合、A2 は"=A1" となります。


Default Value: FormattedValue
Possible Values:
FormattedValue0
UnformattedValue1
Formula2
Verbosity[Verbosity]

Verbosity レベルは、本製品 がLogfile にどの程度の詳細さで記載するかを決定します。1 から5 までのVerbosity レベルがサポートされています。より詳しい説明は、ログ ページに記載されています。


Default Value: 1
Views[Views]

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

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

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

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