先日、添付ファイルのデータ移行について次のようにまとめてみました。
SFDC:添付ファイルのデータ移行
http://tyoshikawa1106.hatenablog.com/entry/2013/08/27/014139
FileExporterを使用した移行方法についてまとめてあります。Developer環境で確認してみて問題なかったのでこれでイケる!と判断したのですが、実際に使ってみると予期せぬ問題に遭遇してしまいました。原因と対応方法がわからず、すごく手こずってしまったのですがなんとか解決できたので、それについてもまとめておこうと思います。
問題1:日本語の文字化け
前回動作確認を行った際には添付ファイル名はSample.pngという形で検証していました。実際のファイル名は英語のみではなく、日本語が使用されます。ファイル名に日本語が入っている場合、ダウンロード後のファイル名が文字化けするという現象が発生しました。
こんな感じで日本語の添付ファイル名がついています。
FileExporterでダウンロードすると次のように文字化けしています。
解決方法
dataAccess.writeUTF8がTrueになっていると文字化けが発生するみたいです。日本語の場合はこちらをFalseに変更することで対応可能になります。
<entry key="dataAccess.writeUTF8" value="true"/>
↓これをこうします。
<entry key="dataAccess.writeUTF8" value="false"/>
Falseにすることで文字化けが発生しなくなります。
問題2:Microsoft VBScript runtime error
処理を実行時に「Step3d-ReadBody.vbs(26, 2) Microsoft VBScript runtime error」というエラーが発生しました。対象ファイルがありません。というメッセージも表示されていて本来この時点でExportされているはずのCSVファイルが存在していませんでした。
解決方法
いろいろ調べてみると同じ問題で悩んでいる方がいました。その方の投稿に「Windowsの権限エラーが原因です。」というコメントがあったのでちょっと確認してみたところ正常に動作するようになりました。
セキュリティに厳しい環境の場合はこのあたりの注意も必要みたいです。
たった2つの問題ですごく悩む羽目になりましたがなんとか解決できて良かったです。やっぱり添付ファイルの移行はFileExporterで簡単に対応できるみたいです。
FileExporterのヘルプについて
FileExporterには簡単なヘルプが用意されています。日本語の文字化けについての対応方法はここに記載がありました。障害だけでなく便利な使用方法、設定方法についてもいくつか記載がありました。使用前に確認しておくと良いと思います。
About FileExporter
https://sites.google.com/site/ezrakenigsberg/about-fileexporter