GaroonSQLCall - SQLの実行

任意のSQLの実行を行います。

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

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

ストリーム情報

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

入力ストリームは使われません。ストリームフォーマットは選択不可です。

出力フォーマットすべて
説明実行する処理が「SELECT文を発行」または「ストアド実行(結果あり)」の場合は、出力ストリームはRecordになります。
実行する処理が「任意のSQLを実行」または「ストアド実行(結果なし)」の場合は、入力ストリームをそのまま出力します。

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

名前データ型マッピング説明
コネクション名connection- 接続先のGaroonを指定します。 コネクションペインまたは管理コンソールにて作成されたGaroon接続名を選択します。
実行する処理choice- 実行するSQLの種類を指定します。
各種類ごとの動作は、下記トピック「実行する処理ごとの動作」を参照してください。
任意のSQLを実行 [SQL]
SELECT以外の任意のSQLを実行する場合に使用します。
SELECT文を発行 [SQL-Record]
SELECT文を実行する場合に使用します。
ストアド実行(結果なし) [Procedure]
結果セットを返さないストアドプロシージャを実行する場合に使用します。
ストアド実行(結果あり) [ProcedureRecord]
結果セットを返すストアドプロシージャを実行する場合に使用します。
SQL文stringIn & Out 実行するSQLまたはProcedureを記述します。
フロー実行時の動的な値を含めるためのSQLまたはProcedureの記述方法は、下記トピック「SQLパラメーターの使い方」を参照してください。
ループを開始loopProcess-実行する処理が「SELECT文を発行」または「ストアド実行(結果あり)」の場合、結果セットをまとめて出力するか1レコードずつループして出力するかを選択します。実行する処理がこれ以外はプロパティが表示されません。
はい [true] - ループの起点となって1レコードずつストリームに出力します。
いいえ [false] - すべてのレコードがまとめてストリームに出力します。
タイムアウト(秒)intIn & Out Garoonに対してSQL文を発行してから結果が返ってくるまでの待ち時間を秒単位で指定します。
指定時間を経過しても実行が終わらない場合はエラーになります。0の場合、タイムアウトしません。
レコードが無い場合エラーboolean- 結果セットのレコード件数が0件だった場合にエラーを発生するかどうかを選択します。
はい [true] - エラーを発生します。
いいえ [false] - 空のストリームを出力します。
処理件数intOut実行する処理が「任意のSQLを実行」の場合に更新されたレコード件数が取得できます。
実行する処理がそれ以外の場合はプロパティが表示されません。
トランザクションに含めるboolean- このプロパティの値は無視されます。
はい [true] - コンポーネントの処理をトランザクションに含めます。
いいえ [false] - コンポーネントの処理をトランザクションに含めません。
SQLパラメーターを使用するboolean- $,? を使用したいときにこのプロパティを「いいえ」にするとSQLパラメーター置換処理をせずコンポーネントを実行できます。 また、この場合はSQLパラメーターが設定されていても無視されるので注意してください。
ストアド実行(結果あり)の場合、「? = call procedulre_name( )」等記述してある場合動作しなくなります。
はい [true] - SQL文のSQLパラメーター書式の文字を置換します。
いいえ [false] - SQL文のSQLパラメーター書式の文字を置換をしません。
SQLパラメーターcategoryIn & Out パラメーター名、入出力種別、データ型、値のセットで定義します。
値は、前に連結したマッパーからマッピングすることが可能です。また、入出力種別で出力するパラメーターは直後に連結したマッパーから参照することもできます。詳細については、下記トピック「SQLパラメーターの使い方」を参照してください。

ループ処理

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

エラー処理

タイプパラメータエラー処理フローへのストリームエラー
コード
説明
汎用 なし コンポーネント入力のストリーム なし コネクション名に指定したコネクションが見つからない場合
例外コードSQLまたはProcedureの実行に失敗した場合
例外コードSQL文がタイムアウトした場合
接続エラー なし コンポーネントの入力ストリーム なし Garoonとの接続に失敗した場合
レコードが無い なし コンポーネントの入力ストリーム なし 出力ストリーム型がRecordとなる場合かつレコードが無い場合エラーが「はい」で、結果セットが0行の場合

フローの強制終了

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

実行する処理ごとの動作

任意のSQLを実行

SELECT以外の任意のSQLを実行する場合に使用します。
SQL文にはInsert、Update、Deleteなど、サポートするあらゆるSQLを記述することができます。

SELECT文を発行

SELECT文を実行する場合に使用します。
SQL文には実行するSELECT文を記述します。 結果セットとフィールド定義の関係は、下記トピック「SQL文中のカラムと出力ストリームのフィールドの関係」を参照してください。

ストアド実行(結果なし)

結果セットを返さないストアドプロシージャを実行する場合に使用します。
SQLの書式はのように、実行するプロシージャを{ callと}で囲んで記述します。 この例ではPROC-NAMEがプロシージャ名、P1、P2がSQLパラメーター名です。

{ call PROC-NAME( ?P1?, ?P2?)}

ストアド実行(結果あり)

結果セットを返すストアドプロシージャを実行する場合に使用します。

結果セットとフィールド定義の関係は、下記トピック「SQL文中のカラムと出力ストリームのフィールドの関係」を参照してください。

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

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

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

SQLパラメーターの使い方

SQLパラメーターを使うと、実行時の動的な文字列を含むSQL文を実行することができます。SQL文に記述する際に、SQLパラメーターで定義した任意の名前のパラメーター名を含むSQL文を記述します。本コンポーネントの前にマッパーを配置し、定義したパラメーターにマッピングすることにより、実行時の動的な文字列を含むSQL文を実行することができます。

パラメーターには、以下の2つの書式があります。

SQLパラメーター書式

SQLパラメーター書式は、SQL文中のフィールド値となる箇所で使います。パラメーターの定義では、フィールドに対応したデータ型を指定します。SQL文で、置き換えたい文字列を使用する部分に「?パラメーター?」のようにパラメーター名を?で囲んで記述します。

置換文字列書式

置換文字列書式は、SQL文中の任意の箇所で使います。パラメーターの定義では、データ型にStringを指定します。SQL文で、置き換えたい文字列を使用する部分に「$パラメーター名$」のようにパラメーター名を$で囲んで記述します。

●SQLパラメーターを使ってSQL文を記述する

以下の手順で記述します。

  1. 本コンポーネントをクリックするとインスペクタに表示されるSQLパラメータータブで、任意の名前、入出力種別、データ型、初期値を入力します。
  2. SQL文に、置き換えたい文字列を使用する部分によって「?パラメーター名?」または「$パラメーター名$」のようにフィールド名を?または$で囲んで記述します。
  3. 本コンポーネントの前にマッパーを配置します。
  4. マッピングウィンドウの出力側にあるSQLパラメーターのフィールド名に置換文字列となるフィールドをマッピングします。

入出力種別について

実行する処理が「任意のSQLを実行」または「SELECT文を発行」の場合、入出力種別はすべて「入力」を指定します。ストアド実行(結果なし)」または「ストアド実行(結果あり)」の場合は、ストアドプロシージャの入出力タイプに応じて指定します。

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

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

CSV形式で編集する

パラメーターフィールドリストをCSV形式で表現した一覧を、いつも使用しているエディタで編集することができます。パラメーターフィールドリストのCSV形式は、各項目の文字列をカンマ(,)区切りで表現しています。以下に、例と項目の説明を示します。

para1,in,VARCHAR,TEST
para2,in/out,VARCHAR,SAMPLE
項目名内容
パラメーター名パラメーター名。
入出力入力の場合、in。
入出力の場合、in/out。
出力の場合、out。
データ型データ型。
値。指定しなかった場合は空文字になります。

フローデザイナーのテキストエディタが表示されます。いつも使用しているエディタで編集するには、テキストエディタ画面上部にある「外部エディタ」ボタンをクリックします。関連付けられたエディタが起動されます。

●注意事項

●Garoon コネクション設定

認証スキーム[AuthScheme]

  • Password: Set this to use user / password authentication.
  • Basic: Set this to use Basic user / password authentication.
  • SSLCertificate: Set this to perform SSLCertificate authentication.


Default Value: Basic
Possible Values:
Password0
Basic1
SSLCertificate2
Auto Cache[AutoCache]

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

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

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

関連項目

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


Default Value: false
Basic Auth Password[BasicAuthPassword]

Basic 認証が有効なドメインに接続するために使用するBasic 認証のパスワード。このフィールドは、BasicAuthUser とともに、Garoon サーバーへのユーザー認証を実現するために使用されます。

Basic Auth User[BasicAuthUser]

Basic 認証が有効なドメインに接続するために使用するBasic 認証のユーザー名。このフィールドは、BasicAuthPassword とともに、Garoon サーバーへのユーザー認証を実現するために使用されます。

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 ドライバークラスの名前です。

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

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

Derby およびJava DB

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

jdbc:garoon:CacheLocation='c:/Temp/cachedir';User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;
Derby JDBC URL をカスタマイズするには、CacheDriver およびCacheConnection を使用します。例えば、インメモリデータベースにキャッシュするには、次のようにJDBC URL を使用します。
jdbc:garoon:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;

SQLite

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

jdbc:garoon:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;

MySQL

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

  jdbc:garoon:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;
  
CData JDBC Driver for MySQL は、CData JDBC Driver for Garoon 2021J インストールディレクトリの[lib]サブフォルダに配置されています。

SQL Server

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

jdbc:garoon:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;

Oracle

次はOracle Thin Client のJDBC URL です。

jdbc:garoon:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;
NOTE:9i より前のバージョンのOracle を使用している場合は、キャッシュドライバーは代わりにoracle.jdbc.driver.OracleDriver になります。

PostgreSQL

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

jdbc:garoon:CacheDriver=org.postgresql.Driver;CacheConnection='jdbc:postgresql://localhost:5433/postgres?user=postgres&password=admin';User=myuseraccount;Password=mypassword;Url=http://subdomain.domain.com;

Cache Location[CacheLocation]

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

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

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

関連項目

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


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

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

CacheMetadata を使用するタイミング

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

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

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


Default Value: false
Cache Tolerance[CacheTolerance]

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


Default Value: 600
Connection Life Time[ConnectionLifeTime]

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


Default Value: 0
Connect On Open[ConnectOnOpen]

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

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

このプロパティを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 これが設定されている場合、本製品 はGaroon への接続を開き、プロキシを経由して通信が行われます。
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 で指定されたプロキシに対しての認証に使われます。

Location[Location]

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

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

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


Default Value: %APPDATA%\\CData\\Garoon 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]

クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。


Default Value: -1
Offline[Offline]

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


Default Value: false
Other[Other]

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

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

キャッシュの設定

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

統合およびフォーマット

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

Pagesize[Pagesize]

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


Default Value: 1000
パスワード[Password]

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

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
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 もしくはKereros トークンを取得します。
  • 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 の場合のみ、レジストリインターネットオプションからこれらのプロパティを取得しようとします。

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
RTK[RTK]

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

SSL Client Cert[SSLClientCert]

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

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

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

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

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

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

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

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

SSL Client Cert Password[SSLClientCertPassword]

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

SSL Client Cert Subject[SSLClientCertSubject]

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

完全に一致するものが見つからない場合、ストアはプロパティの値を含む件名を検索します。それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。

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

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

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

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


Default Value: *
SSL Client Cert Type[SSLClientCertType]

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

USER - デフォルトWindows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。この種類はJava では利用できませんので注意してください。
MACHINEWindows の場合、この証明書ストアがシステムストアであることを指定します。この種類はJava では利用できませんので注意してください。
PFXFILEこの証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。
PFXBLOBこの証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。
JKSFILEこの証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。この種類はJava でのみ利用できますので注意してください。
JKSBLOBこの証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。この種類は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 形式の証明書を含む文字列の名前です。


Default Value: USER
Possible Values:
USER0
MACHINE1
PFXFILE2
PFXBLOB3
JKSFILE4
JKSBLOB5
PEMKEY_FILE6
PEMKEY_BLOB7
PUBLIC_KEY_FILE8
PUBLIC_KEY_BLOB9
SSHPUBLIC_KEY_FILE10
SSHPUBLIC_KEY_BLOB11
P7BFILE12
PPKFILE13
XMLFILE14
XMLBLOB15
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)が使用されます。

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

Support Enhanced SQL[SupportEnhancedSQL]

SupportEnhancedSQL がtrue に設定されている場合、本製品 はGaroon にできるだけ多くのSELECT 構文処理をオフロードし、残りのクエリをインメモリで処理します。この方法で、本製品 はサポートされていない宣言、JOIN、および集計を実行することができます。

SupportEnhancedSQL がfalse に設定されている場合、本製品 はSQL 実行をGaroon API でサポートされている範囲に制限します。

宣言の実行

本製品 は、どの句がデータソースでサポートされているかを決定し、クエリを充足する最小セットの行を取得するためにソースにクエリを送信します。そして、残りの行をローカルでフィルタリングします。フィルタリング処理がストリームされている場合、本製品 は大きなデータセットに対しても効率よいフィルタリングが可能です。

JOIN 実行

本製品 は、インメモリでのJOIN でさまざまな技術を使用します。本製品 は、メモリ使用量と同じテーブルを複数回読む要求をトレードオフします。

集計の実行

本製品 は、インメモリで集計を処理するために必要なすべての行を取得します。


Default Value: true
Tables[Tables]

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

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

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

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

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

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

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


Default Value: 60
URL[URL]

'https://cyp344.cybozu.com' 形式のGaroon アカウントのURL。

Use Connection Pooling[UseConnectionPooling]

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


Default Value: false
ユーザー[User]

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

Verbosity[Verbosity]

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


Default Value: 1
Views[Views]

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

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

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

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


その他詳細タブのオプション名と値は、以下URL の「接続文字列オプション」を参照ください。
こちら

●補足

SQLパラメーターの基本的な概念はGaroonGetコンポーネントで使用するSQLパラメーターと同じですが、以下の点が異なります。