function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
CockatooCockatoo 

データローダ UPDATE時のエラーにつきまして

お世話になっております。質問させてください。
データローダを使って約14万件のデータを更新したいと思い、以下の作業を行ないましたところ、
「CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY:AccountTrigger: System.LimitException: Too many SOQL queries: 101」
というエラーが出て更新できませんでした。
なお、BulkAPIとEnable serial mode for Bulk APIにチェックを入れております。
データを2万件にしてみても同じエラーが発生しました。
何度か試したのですが、一度、30件程度のみ成功しました。

お手数をお掛け致しますが、ご回答の程、よろしくお願いいたします。


■作業
1. データローダにて取引先OBJのIDとメールをExport
2. データ(メール)を編集
3. データローダにてUPDATE実行
Best Answer chosen by Cockatoo
OhtomoOhtomo
一般的なおはなしかもしれませんが、batch sizeはどれぐらいで行っていらっしゃいますか? この数値を小さくする(20とか50とか)ことで時間はかかるが成功すると思いますが、いかがでしょうか?

All Answers

OhtomoOhtomo
一般的なおはなしかもしれませんが、batch sizeはどれぐらいで行っていらっしゃいますか? この数値を小さくする(20とか50とか)ことで時間はかかるが成功すると思いますが、いかがでしょうか?
This was selected as the best answer
CockatooCockatoo
ありがとうございます。
50件ずつですと確かに出来ました。

よくよく見てみると、トリガーでSOQLを発行していたので、コメントアウトしたらうまくいきました。
お騒がせいたしました。
Taiki YoshikawaTaiki Yoshikawa
『Too many SOQL queries: 101』というエラーですが、SOQLクエリの実行回数がガバナ制限の100回を超えていることにより発生しています。おそらくですがAccountTriggerのループ処理内でクエリ実行を行っていることが原因と思われます。

クエリ実行をループ内では実行しないように修正することでエラーは発生しなくなると思います。Too many SOQLエラーについてはヘルプに詳細が記載されています。

System.LimitException: Too many SOQL queries: 101
https://help.salesforce.com/apex/HTViewSolution?id=000181404&language=ja (https://help.salesforce.com/apex/HTViewSolution?id=000181404&language=ja)
CockatooCockatoo
ありがとうございます!
おっしゃるとおりでした!