データ読み取り(SOQL実行)処理

オペレーション名

データ読み取り(SOQL実行)

機能概要

SOAP API の query() または、queryAll() を使用してデータを読み取ります。

SOQL(Sforce Object Query Language)を直接記述することが可能です。
そのため、SOQLの構文の記述方法について理解している必要があります。

本コンポーネントが使用するAPI仕様については、グローバルリソースで選択したバージョンのAPIドキュメントを以下のリンク先ページより参照してください。

データモデル

本コンポーネントのデータモデルはプロパティの内容により、テーブルモデル型またはXML型となります。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
  • API 26.0以降のグローバルリソースが選択可能です。
SOQL 必須 使用可 Salesforceへ発行するSOQL文を入力します。
  • SOQL構文の詳細については、Salesforce ドキュメントを参照してください。
スキーマ定義 必須 - 発行したSOQLのレスポンスから取得するスキーマを設定します。
各列は以下のボタンで操作することができます。
  • [追加]:
    列を追加します。
  • [上へ]:
    選択している列の順序を一つ上に上げます。
  • [下へ]:
    選択している列の順序を一つ下に下げます。
  • [削除]:
    列を削除します。
  • SOQLに記述したスキーマの順序と一致させる必要はありません。
  • SOQLを実行したレスポンスから情報を読み取り自動的に反映することができます。詳細は[SOQLを実行してスキーマを設定]を参照ください。
スキーマ定義/スキーマ名 必須 使用可 SOQLのレスポンスから取得するスキーマ名を入力します。
通常、SELECT句に指定した項目名を入力します。
  • レスポンスに存在しないスキーマ名を入力した場合、空の結果が取得されます。
  • 大文字、小文字は区別されます。
  • 親-子リレーションを含む場合、データモデル型はXML型になります。この場合、変数を使用することはできません。また、以下の文字は使用できません。 「\」「/」「:」「;」「*」「?」「'」「"」「<」「>」「|」「~」 詳細については、「W3C XML 1.0仕様」(http://www.w3.org/TR/xml/)を参照してください。
  • 集計関数を使用したスキーマにエイリアス(別名表記)を指定しない場合、暗黙的別名「expr0」となります。末尾の数値は0から始まり、集計関数ごとに増えます。
  • 子-親リレーションを使用したスキーマを指定する場合、「リレーションシップ名.スキーマ名」と指定します。
  • 親-子リレーションを使用したスキーマを指定する場合、リレーションシップ名を[スキーマ定義/子リレーション名]に指定します。
スキーマ定義/子リレーション名 省略可 使用可 親-子リレーションを使用したスキーマの場合、リレーションシップ名を入力します。
  • 親-子リレーションを使用したスキーマ以外の場合、省略します。
スキーマ定義/型 必須 使用不可 スキーマのデータ型を選択します。
  • 選択された型への変換に失敗する場合、実行時に例外が発生します。
  • データ型の詳細については、Salesforce ドキュメントを参照してください。
プロパティアクション
項目名 説明 備考
抽出テスト 入力したSOQLを実行します。結果として取得した件数が表示されます。
  • 次の場合には実行することができません。
    • [SOQL]に変数が指定されている場合
    • [SOQL]が指定されていない場合
SOQLを実行してスキーマを設定 入力したSOQLを実行してレスポンスから情報を読み取り、[スキーマ定義]に設定します。
  • 次の場合には実行することができません。
    • [SOQL]に変数が指定されている場合
    • [SOQL]が指定されていない場合
  • 抽出結果に「ID」を含む場合、スキーマの先頭に設定されます。
  • 抽出結果のレコードが一件も存在しない場合、スキーマは正しく設定されません。 リレーションクエリを使用する場合はリレーション先のレコードも抽出結果に含まれる必要があります。 レコードが存在しない場合は手動でスキーマを設定してください。
  • 次の場合は型は設定されません。手動で型を設定してください。
    • GROUP BY句や関数を含む
    • 参照先が複数ある項目
  • 大量のレコードが抽出される条件で実行すると、応答が遅くなります。
    一時的にSOQLの抽出条件を変更して実行することを推奨します。
オプション設定
項目名 必須/省略可 変数の使用 説明 備考
削除レコードの読み取り 必須 - Salesforceから削除されたデータを読み取るかどうかを設定します。
(読み取りする場合、queryAllサービスを用いた読み取りを行います。)
  • [読み取りしない]:(デフォルト)
    Salesforceで削除されたデータを読み取りません。
  • [読み取りする]:
    Salesforceで削除されたデータを読み取ります。
  • データ読み取り(クエリー)による削除レコード読み取り処理では、ゴミ箱から削除されたデータが削除後も24時間前後読み取られることがありますのでご注意ください。
バッチサイズ 必須 使用可 Salesforceからのデータ読み取り結果を取得する際のバッチサイズを入力します。
  • デフォルト値は「2000」です。
  • 「1」以上「2000」以下の値が指定できます。範囲以外の値が指定された場合、エラーが発生します。
  • APIの仕様では「200」未満の値を許容していません。この値を指定した場合の動作はAPIの仕様に依存します。
  • 使用環境によりますが、一般的にバッチサイズを大きくすることにより、データの読み取り効率は向上します。
  • SalesforceのAPI仕様として、10,000件のデータを読み取るケースで、バッチサイズを2000と設定した場合、データ結果セットを5回に分けて取得します。
プロパティアクション
項目名 説明 備考
テーブル情報の表示 操作を行っているオブジェクトのテーブル構造を確認できます。
テーブル構造の参照方法については、「テーブル情報の表示」を参照してください。
  • 他のオブジェクトのテーブル構造を確認したい場合、[全テーブル情報の読み込み]をクリックしてください。
全テーブル情報の読み込み 取得可能なすべてのテーブル構造を取得します。
実行後に、[テーブル情報の表示]から取得した内容を確認することができます。
 
ファイル出力設定
項目名 必須/省略可 変数の使用 説明 備考
Base64項目出力形式 必須 - データ型がBase64である項目に対してのデータ出力形式を指定します。
  • [Base64データ]:(デフォルト)
    出力スキーマに読み取ったBase64データをそのまま渡します。
  • [ファイル出力]:
    ファイルとして出力します。
    出力スキーマには出力したファイルパスを渡します。
  • 読み取りスキーマにデータ型がBase64である項目を含まない場合は、[Base64データ]を選択してください。
ディレクトリ 省略可 使用可 書き込みを行うディレクトリを入力します。
[参照]ボタンを押下するとディレクトリチューザが起動し、ディレクトリの選択ができます。
  • [Base64項目出力形式][ファイル出力]を選択した場合、有効になります。
  • ファイルパスはDataSpiderファイルシステムの絶対パスで指定してください。
  • パス区切り文字「/」以外のDataSpiderファイルシステムの使用禁止文字は使用できません。
データ項目 省略可 使用可 [スキーマ定義]に含まれる項目から、データ型がBase64である項目のスキーマ名を入力します。
  • [Base64項目出力形式][ファイル出力]を選択した場合、有効になります。
  • [スキーマ定義]にデータ型がBase64である項目が含まれている必要があります。
ファイル名入力方法 省略可 - 出力するファイル名の入力方法を選択します。
  • [項目から選択する]:(デフォルト)
    [スキーマ定義]に含まれる項目から、ファイル名とする項目のスキーマ名を入力します。
  • [文字列を入力する]:
    ファイル名とする文字列を入力します。
  • [Base64項目出力形式][ファイル出力]を選択した場合、有効になります。
ファイル名 省略可 使用可 出力するファイル名を指定します。
[ファイル名入力方法][項目から選択する]を選択した場合、[スキーマ定義]に含まれるスキーマ名を入力します。
付加文字入力方法 省略可 - 出力するファイル名に付加する文字の入力方法を選択します。
  • [付加しない]:(デフォルト)
    ファイル名に文字の付加を行いません。
  • [項目から選択する]:
    [スキーマ定義]に含まれる項目から、付加文字とする項目のスキーマ名を入力します。
  • [文字列を入力する]:
    付加する文字列を入力します。
  • [Base64項目出力形式][ファイル出力]を選択した場合、有効になります。
付加文字 省略可 使用不可 出力するファイル名に付加する文字を指定します。
[付加文字入力方法]に[項目から選択する]を選択した場合、[スキーマ定義]に含まれるスキーマ名を入力します。
  • [Base64項目出力形式][ファイル出力]を選択した場合かつ、[付加文字入力方法][項目から選択する]または[文字列を入力する]を選択した場合、有効になります。
  • DataSpiderファイルシステムの使用禁止文字が含まれる場合、ファイル出力時にアンダースコア(_)に変換されます。
付加位置 省略可 - 出力するファイル名に付加する文字の位置を選択します。
  • [先頭]:(デフォルト)
    ファイル名の先頭に付加します。
  • [末尾]:
    ファイル名の末尾に付加します。ファイル名に拡張子が含まれる場合、ドット(.)の前の位置に付加します。
  • [Base64項目出力形式][ファイル出力]を選択した場合かつ、[付加文字入力方法][項目から選択する]または[文字列を入力する]を選択した場合、有効になります。
区切り文字 省略可 使用可 出力するファイル名と、付加する文字の区切り文字を入力します。
区切り文字が必要でない場合、省略することが可能です。
  • [Base64項目出力形式][ファイル出力]を選択した場合かつ、[付加文字入力方法][項目から選択する]または[文字列を入力する]を選択した場合、有効になります。
  • DataSpiderファイルシステムの使用禁止文字が含まれる場合、ファイル出力時にアンダースコア(_)に変換されます。
拡張子入力方法 省略可 - 出力するファイル名の拡張子の入力方法を選択します。
  • [ファイル名に含む]:(デフォルト)
    ファイル名に拡張子を含めて指定します。
  • [項目から選択する]:
    [スキーマ定義]に含まれる項目から、拡張子とする項目のスキーマ名を入力します。
  • [文字列を入力する]:
    拡張子とする文字列を入力します。
  • [Base64項目出力形式][ファイル出力]を選択した場合、有効になります。
拡張子 省略可 使用不可 出力するファイル名の拡張子を指定します。
[拡張子入力方法][項目から選択する]を選択した場合、[スキーマ定義]に含まれるスキーマ名を入力します。
  • [Base64項目出力形式][ファイル出力]を選択した場合かつ、[拡張子入力方法][項目から選択する]または[文字列を入力する]を選択した場合、有効になります。
  • DataSpiderファイルシステムの使用禁止文字が含まれる場合、ファイル出力時にアンダースコア(_)に変換されます。
  • 大文字が含まれる場合、ファイル出力時に小文字に変換されます。
  • 指定された文字にドット(.)が含まれない場合、自動的に付加されます。
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 必須 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

ありません。

出力スキーマ

[スキーマ定義]の設定により、データモデル型が異なります。

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。
詳細については、「スキーマ編集」を参照してください。

大容量データ処理

大容量データ処理に対応しています。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名 説明 備考
count 読み取ったデータの件数が格納されます。
  • デフォルト値はnullです。
object_name 読み取ったオブジェクト名が格納されます。
  • デフォルト値はnullです。
  • 関数やGROUP BY句を使用している場合、オブジェクト名ではなく「AggregateResult」が格納されます。
  • 読み取ったデータの件数が0件の場合、値は格納されません。
server_url ログイン後のエンドポイントURLが格納されます。
  • デフォルト値はnullです。
session_id セッションIDが格納されます。
  • デフォルト値はnullです。
message_category エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。
  • デフォルト値はnullです。
message_code エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。
  • デフォルト値はnullです。
message_level エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。
  • デフォルト値はnullです。
operation_api_exception_code APIエラー発生時、発生したエラーのExceptionCodeが格納されます。
  • デフォルト値はnullです。
  • APIエラー以外のエラー発生時は、値が格納されません。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
operation_error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
operation_error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。

テーブル情報の表示

Salesforceのテーブルに対する操作可能な処理、およびテーブルのフィールド属性を確認することができます。
また、フィールド情報については、印刷することも可能です。



画像内の番号 名称 説明 備考
(1) テーブル名 テーブル構造の表示を行うテーブルを選択します。  
(2) テーブル情報 選択したテーブルに対する、操作可能なオペレーションを表示します。  
(3) 桁数 項目の桁数を表示します。  
(4) 外部ID 対象項目が外部IDとして設定されているか否かを表します。  
(5) 追加可能 データ追加時に値を設定することが可能か否かを表します。  
(6) 更新可能 データ更新時に値を設定することが可能か否かを表します。  
(7) Null許可 データ追加、更新時にNullが許容されるか否かを表します。  
(8) 初期値有無 データ追加時にSalesforceが初期値を自動設定するか否かを表します。  
(9) 参照先 参照関係または主従関係の項目の場合、参照先のオブジェクト名を表示します。  

仕様制限

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
java.net.UnknownHostException グローバルリソースで指定したPROXYサーバが見つからない例外です。 PROXYサーバの状態を確認して下さい。または、[接続先]で指定したグローバルリソースの[Proxyホスト]を確認してください。
java.net.SocketTimeoutException
connect timed out
Salesforceに接続中にタイムアウトが発生しました。 ネットワークの状態、Salesforceのサーバの状態を確認してください。または、[接続先]で指定したグローバルリソースの[Connectionタイムアウト(秒)]を確認してください。
java.net.SocketTimeoutException
Read timed out
Salesforceに接続後、サーバからの応答までにタイムアウトが発生しました。 ネットワークの状態、Salesforceのサーバの状態を確認してください。または、[接続先]で指定したグローバルリソースの[タイムアウト(秒)]を確認してください。
jp.co.headsol.salesforce.adapter.exception.SalesforceAdapterIllegalArgumentException Salesforceアダプタのプロパティの設定値が不正です。 エラーメッセージを確認し、設定内容をご確認ください。
com.sforce.soap.partner.fault.LoginFault Salesforceへのログインに失敗しました。 ExceptionCodeまたは、エラーメッセージを確認し、Salesforceの関連ドキュメントなどに対象のエラーに関する情報がないか確認してください。
com.sforce.soap.partner.fault.InvalidFieldFault 実行したSOQLに含まれる項目が不正です。 ExceptionCodeまたは、エラーメッセージを確認し、Salesforceの関連ドキュメントなどに対象のエラーに関する情報がないか確認してください。
com.sforce.soap.partner.fault.MalformedQueryFault 実行したSOQLが不正です。 ExceptionCodeまたは、エラーメッセージを確認し、Salesforceの関連ドキュメントなどに対象のエラーに関する情報がないか確認してください。
com.sforce.soap.partner.fault.UnexpectedErrorFault Salesforceへの処理実行中に、予期しない例外が発生しました。 ExceptionCodeまたは、エラーメッセージを確認し、Salesforceの関連ドキュメントなどに対象のエラーに関する情報がないか確認してください。

注意事項