質問
Salesforceコネクターの[レコード読み取り(SOQL)]処理でフィールド一覧更新時にエラーが発生します。原因と対処方法を教えてください。
回答
フィールド一覧更新時のエラーには、以下の2つのケースがあります。いずれも仕様上の動作です。
**ケース1:SOQLにスクリプト変数が含まれる場合**
[フィールド一覧更新]は、設定されたSOQLを実際にSalesforceに対して実行し、その結果からフィールド一覧を取得する動作です。SOQLにスクリプト変数が含まれている場合、設計時点では変数が未解決のままSOQLが実行されるため、Salesforce側でクエリが正常に解釈できずエラーとなります。この動作は新旧コネクター共通の仕様上の制約です。
以下いずれかの方法で対処してください。
- フィールド一覧更新を行う際は、スクリプト変数の部分を一時的に固定値に置き換えたSOQLを設定し、フィールド一覧取得後に元のスクリプト変数を含むSOQLに戻す
-
フィールド一覧を手動で設定する
**ケース2:取得レコードが0件の場合**
新コネクターでは、フィールド一覧更新時にSOQLを実行してレコードが0件だった場合、エラーとなる仕様です。旧コネクターではエラーとならずメッセージ表示のみでスキーマ定義が空になる動作との違いは、新旧コネクター間の仕様差異です。
以下いずれかの方法で対処してください。
- WHERE句の条件を一時的に緩和し、1件以上レコードが取得できる状態でフィールド一覧更新を実行する
- 読み取り対象オブジェクトにテスト用レコードを追加した上でフィールド一覧更新を実行する
- フィールド一覧を手動で設定する
補足
コメント
0件のコメント
記事コメントは受け付けていません。