MENU
Dr.Sumへデータをインポートする際に発生しがちなエラーと対応方法をご紹介します。「データフォーマットエラーです」「日付型のデータ変換に失敗しました」というエラーとCSVデータ内に引用符が含まれるがエスケープされない場合の対処法について紹介します。
なお、Dr.Sumへのデータのインポートについては下記の記事で紹介しています。
参照:【手動で取り込み】データベースにCSVデータをインポートしよう~CSV手動編~ |
参照:【自動で取り込み】データベースにCSVデータをインポートしよう~CSV自動編~ |
参照:【Excelの取り込み】データベースにExcelデータをインポートしよう~Excel編~ |
参照:SQL Server のデータをODBCでデータインポートしよう |
インポート対象のデータ型(文字/数値など)とDr.Sumで指定しているデータ型(文字/数値など)が一致していない場合に発生するエラーです。
あたり前のことなのですが、数値側で設定した項目に文字型のデータをインポートする等設定したデータ型と実際にインポートするデータ型が異なるとエラーとなります。項目数が多くデータの内容まで覚えていなかったり、項目名だけではデータ型の判断がむずかしかったりする場合ありますよね?
またインポートウィザードを使った場合、型を自動判別するので便利なのですが、データの全てを読み取って判断するわけではない(デフォルトで先頭から50行、最大で1000行で判断する指定が可能)のでまれに型が合わないこともあります。そんな時はインポート元のデータの定義書、設計書等をよく確認し適切なデータ型を再度設定してください。
日付や時刻のデータがある場合、その項目が原因でエラーとなる場合があります。
これはデータベースやCSVで、年が4桁だったり、2桁だったり日付/時刻のフォーマットが異なることが原因です。インポートする際に適切なフォーマットを指定することで解決できます。例えばインポートウィザードでは下図のようなフォーマットを指定するダイアログがあり、フォーマットを指定することができます。
CSVやTSVといったテキスト形式のデータには、ルールがありデータ項目を
引用符(ダブルクォーテーション「”」等)で囲うことが多くあります。
例:”123456789″,”あいうえお”,”2020/05/27″
ここではダブルクォーテーション「”」を例にしますが、もしデータ中に「”」が含まれていた場合は、ダブルクォーテーションを一つ付加し「””」のように記載することで、引用符ではなく、データであることを表す決まりになっています。
これをエスケープ処理と言います。
エスケープ前: 商品名は”ウイングレモン”です。
エスケープ後: 商品名は””ウイングレモン””です。
データ中に引用符が含まれ、適切なエスケープ処理がされていないとエラーとなりますので注意してください。なお、インポートウィザードでは下図のようなフォーマットを指定する項目があり、引用符を指定することができます。
もしもインポートでエラーが発生したら思い出してくださいね!
Related article
Pick up
Ranking
Info