データローダ―でのエラー


# 選択リストでハイフンが使えない？

+ [Data Loader's "bad picklist value for restricted picklist" for a hyphen](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007akKJI)


# UNABLE_TO_LOCK_ROW:unable to obtain exclusive access to this record or 1 records: 7013x000002XAKcAAO

+ [Data Loader throwing an error when trying to delete contacts](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000GzWrG)

回答はこちらを参照です。

[Getting Error for Data Load: UNABLE_TO_LOCK_ROW:unable to obtain exclusive access to this record or 1 records: "...AAB":--](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000A8ziHSAR)

短いバージョンでは、2つのものが同時に同じアカウントレコードにアクセスしようとしています。今、私はあなたが何を考えているかを推測するつもりです：「しかし、私はアカウントをロードしていません！」 -それは本当かもしれませんが、おそらくマスターと詳細の関係で、アカウントに関連する何かをロードしている に違いありませんか？その場合、更新するすべてのレコードは、アカウントを一瞬ロックします。

だからここにやるべきことがいくつかあります：
 

1.インポートするオブジェクトの自動化を無効にします。これには、Apexトリガー、プロセス、ワークフロールールなどが含まれます。
 

2.大きなファイルをロードする場合は、それらをいくつかの小さなファイルに分割することを検討してください。
 

3.非常に大きなファイルをロードする場合は、[Bulk API](https://help.salesforce.com/articleView?id=loader_configuring_bulk_api.htm&type=5)の使用を検討してください。
 

4.他のユーザーがシステムで作業している可能性が低いダウンタイム中にファイルをインポートしていることを確認します
 

5.レコードを更新してアカウントをロックする可能性のあるバックグラウンドプロセスがないことを確認します

**同じ質問**
+ [UNABLE_TO_LOCK_ROW while mass updating records](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000QKELT)


# Error: Check your username and password. If you still can't log in, contact your Salesforce admin.

テクサポ 日本 2022/12/22

こちらのエラーメッセージが表示された場合、まず初めに、ログインユーザのログイン履歴をご確認ください。

ログイン履歴に “失敗: API セキュリティトークンが必要です” と表示されていれば、ログインユーザにてセキュリティトークンを発行（もしくは再発行）を行い、データローダでのログイン時に、パスワードに続けてセキュリティトークンを入力いただくことで、ログインいただけるかと存じます。


セキュリティトークンの発行、及びログインの方法は以下の通りです。

■手順
1.まず画面右上の丸いアイコンをクリックします。
2.その後、[設定] [私の個人情報] [私のセキュリティトークンのリセット] と順にクリックします。
3.[セキュリティトークンのリセット] をクリックします。
4.メールにてセキュリティトークンが送付されます。
5.データローダでログインする際、パスワードフォームにパスワードを入力し、続けてセキュリティトークンを入力します。

今回のように、データローダをご利用いただく中でエラーが表示された場合、まず初めにエラーメッセージを確認ください。

# Javaのエラー

+ [Is Dataloader suddenly not working for anyone else?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JgCmg)

:::note
Eventually got it to behave. Uninstalled the existing version and installed the latest JDK. I thought I had the latest one but maybe not. No idea why it just started not working.


最終的に動作するようになりました。既存のバージョンをアンインストールし、最新の JDK をインストールしました。最新のものを持っていると思っていましたが、そうではないかもしれません。なぜそれが機能しなくなったのかわかりません。
:::

+ [データローダのバッチ処理における暗号化キー作成について](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V000074WRVr)

:::note alert
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
:::
このエラーは、現在使用している Java バージョンよりも新しい Java バージョン用にコンパイルされたクラスを実行しようとすると発生します。たとえば、Java 6 以降用にコンパイルされたクラスを Java 5 JVM 上で使用しようとした場合です。

https://stackoverflow.com/questions/6493355/java-lang-unsupportedclassversionerror-bad-version-number-in-class-file
:::

+ [データローダーが起動しない](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000J8oYz)

:::note
エラーを眺めていると以下のメッセージがあります。

ただ、最新のバージョンなので、問題ないハズなんですがね。
SSLの証明書が正しく読まれていないことが原因ではないかと思います。
Sandboxに対して何かネットワークで制限がありますか？

```
unable to find valid certification path to requested target
```


現在利用可能な暗号化方式に対応した最新の Dataloader の利用をご検討下さい。
https://help.salesforce.com/s/articleView?id=000387485&type=1
:::




# ERROR com.salesforce.dataloader.security.EncryptionAesUtil - Fail to decrypt message: Input length must be multiple of 16 when decrypting with padded cipher

Failed in decryption: Error to decrypt message:  Make sure using the same keyfile to decrypt.

+ [DataLoader v57 Password Encrypt](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000O7Hi3)

:::note
I was able to solve the issue. I was doing a select all in the command prompt (where the encrypted password was) and pasting into Notepad. Doing this, because the password was too long for one line in the command prompt, it was actually doing a "Line Break" in Notepad. So when I copied and pasted into the process-conf the password was incorrect. After a little trial and error I was able to figure that out and now back up and running on the latest version.

問題を解決できました。コマンドプロンプト（暗号化されたパスワードがある場所）ですべて選択し、メモ帳に貼り付けていました。これを行うと、コマンド プロンプトでパスワードが 1 行では長すぎるため、実際にはメモ帳で「改行」を行っていました。そのため、コピーして process-conf に貼り付けたところ、パスワードが正しくありませんでした。少し試行錯誤した後、私はそれを理解することができ、現在はバックアップして最新バージョンで実行しています.
:::

# config.Config initEncryption (Config.java:1054) - Error initializing encryption for key file c:SalesforceDataLoaderdataLoader.key: Failed to open file: c:SalesforceDataLoaderdataLoader.key

+ [Errors trying to use Data Loader (60.0) command-line functionality](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YvPQP)

:::note
Please check this article.

https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A8vtOSAR

https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T412LSAR
:::



# All accounts must have the same current owner and new owner

すべての取引先は、現在の所有者と新しい所有者が同じである必要があります

+ [salescloud　データローダーのインポートエラー](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V000074r6b6)
+ [Dataloader Error](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YvoxF)

:::note
SOAP APIでは機能しない感じです。Bulk API に変更すれば機能するようです

デフォルトでは SOAP API を使用した接続を行いますが、「Settings」-「Use Bulk API」 にチェックを入れると Bulk API を使用した接続に切り替わります。

https://base.terrasky.co.jp/articles/3KYyA
:::


# [DataDelete] mapping.LoadMapper mapData (LoadMapper.java:83) - Mapping for field xxx will be ignored since destination column is empty.

+ [dataloader cli warning messages](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007NpUEs)

:::note
Please check this article.

https://github.com/forcedotcom/dataloader/issues/151
:::

# バッチモード : ExportAllで手動実行すると総数と出力件数が一致し、Exportを手動実行すると
総数が出力件数の2倍になっていることが確認されました。

+ [データローダ　バッチ起動のエクスポート上限について](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007NC2Yd)

:::note
使用していたDataloaderのverが53.0.3で古かったのが原因のようです。


Export :  It is used to export the Salesforce Data(excluding recycle bin's data) into your local  system.

Export All :  It is used to export the Salesforce Data(including recycle bin's data) into your local system.

https://developer.salesforce.com/forums/?id=906F00000009DbCIAU


[データローダプロセスの設定パラメータ](https://developer.salesforce.com/docs/atlas.ja-jp.dataLoader.meta/dataLoader/loader_params.htm)
:::

# 削除してもストレージの使用量が減らない

+ [Error: Maps Live Async Errors](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007Pf9Vj)

:::note
You need to go into Settings and enable Use Bulk API. It should then appear as an option.

How to enable Hard Delete option in data loader?
https://salesforce.stackexchange.com/questions/107104/how-to-enable-hard-delete-option-in-data-loader
:::

# プレイグランドでのエラー

+ [Can't log into dataloader](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T2Qsv)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/b286c063-98e9-77b6-cae9-ae6c4f38b900.png)

ログイン先が違った。


# 20 分が経過しましたが、データローダーの実行はまだ終了していません。

+ [It's been 20 minutes and the Dataloader still isn't finished running.](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007TtlaH)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/be90c5c0-a9e2-845d-4efe-b4eda2290b26.png)

:::note
I got it to work in both modules by clicking "Cancel" >> "yes I'm sure" >> and then hitting refresh. It finally showed the number of successes at the top. If I didn't hit Refresh, it just said "0 successes". If anyone else gets stuck here, this is the best fix. :) 

「キャンセル」>>「はい、わかります」>>をクリックして更新をクリックすることで、両方のモジュールで動作するようになりました。ついにトップの成功数を示した。 [更新] をクリックしなかった場合は、「成功数 0」と表示されるだけでした。もし他の人がここで行き詰った場合、これが最善の解決策です。 :)
:::


# Data Loader 'Index 200 out of Bounds'

+ [Data Loader 'Index 200 out of Bounds'](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007YviG0)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/55b7190d-4b10-871f-d6ec-30a0c264869b.png)

:::note
Check “Use Bulk API” in Settings
Or use another version of data loader

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/ed09e3ae-bc43-b124-06dc-47f5c597f503.png)


[【Salesforce】【データローダ】index 200 out of bounds for length 200 エラー](https://qiita.com/piepie1231/items/4119593c7909023691ba)
:::

# ｃｓｖが壊れている？

+ [「拡張されたメモ レポート」アプリ (以下のリンク) を使用して、アカウントからメモをエクスポートしようとしました。ただし、CSV にエクスポートした後、一部のノートでテキストが異なる列に分割されていることがわかります (セミコロン、アポストロフィなどを検出するたびに)。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ZAw6V)

:::note
I think delimiters etc need to be escaped.

https://docs.vmware.com/en/VMware-Greenplum/7/greenplum-database/admin_guide-load-topics-g-escaping-in-csv-formatted-files.html
:::

+ [Invalid CSV file format. Make sure that delimiter settings are correctly specified in Settings dialog or select a different file. Current delimiters are ',' '<tab>'](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000MY51C)

:::note
Is there any data whose columns contain the same characters as delimiters (comma, tab)?

Yes! There were a few rows with tabs in them, and that was indeed the problem. 
:::



# converting value to correct data type: Cannot invoke "String.equalsIgnoreCase(String)" because "mimeType" is null

+ [Insert Files with Data Loader - Error](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007bLH8C)

ファイル名にブランクがあった？

:::note
I renamed my file to a one word name, and that helped fix the problem

ファイルの名前を 1 単語の名前に変更したところ、問題が解決しました。
:::

# 8-digit code verification 

+ [Running data loader in batch mode is asking for manual code](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007CuZXW)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/5d555ced-5e54-0da3-10ad-5848d2dfaeb6.png)

+ [How to disable 8 digit code verification on Dataloader CLI login?](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ak003)

:::note
Finally found the root cause and it had to do with the special chars used in the password, because of which the decryption wasn't working and the application was forced to use the OAuth option. Thank you for the response.

最終的に根本原因が見つかりました。パスワードに使用されている特殊文字が原因で、復号化が機能せず、アプリケーションは OAuth オプションを使用する必要がありました。ご返信ありがとうございます。
:::


# error for "," delimiter


+ [Getting around the Dataloader error for "," delimiter](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ajip2SAA)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/f7911324-5af8-8fb5-045d-b797e0996814.png)

:::note
Make sure you have followed the steps correctly for the convert  

Convert excel to csv file
https://www.youtube.com/watch?v=oPYPUJmyQuU
:::

# データローダー使用時にFinishが押せない不具合について

+ [データローダー使用時にFinishが押せない不具合について](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000PY94W)

:::note
以下にデータローダを管理者として実行することで解決したと報告されていますね。 


https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000JghBCSAZ
:::

# 重複エラー

+ [【Dataloader.Upsert】外部ID項目の重複エラー](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000PZ8pJ)

:::note
Ver 63には断続的にデータが重複されて処理されるような既知の問題があるみたいですが... 


https://issues.salesforce.com/issue/a02Ka00000eOJxzIAG/dataloader-version-63-is-intermittently-inserting-duplicate-records-during-the-data-load-process

以下の投稿では（一番最後の投稿）バージョン59.0と56.0で重複エラーが出てバグを疑っていますが、明確な回答はないですね。 


https://www.reddit.com/r/salesforce/comments/twvb67/unable_to_update_using_external_id_in_the/?rdt=32962

私自身は基幹システムとの連携で基幹システム側のコードを外部IdとしてUpsertしていますが、重複エラーにはなったことはないです。といいながら、Bulk APIを直接使っているのでデータローダでの条件とは違うかもしれません。 

少々遅くなるとは思いますが、バッチサイズを小さくしたらどうなりますか？ 
確率的に重複する可能性を低くすることはできると思います。（バグの発生をおさえられるかと...） 
:::