質問 > 管理機能 > 2.4系から2.11系へのデータインポート |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
seasoft |
投稿日時: 2012/11/14 12:11
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: 2.4系から2.11系へのデータインポート > 2.4系のデータによって、データベースの変更処理等が必要にはなると思うのですが、スムーズにインポートできないという事例はどのくらいあるものでしょうか。
幾つかの移行を行った経験がありますが、スムースに移行できた事はありません。 移行モジュールに手を加えたり、データに手を加えたりが必要でした。 よって、私の経験では、全て「スムーズにインポートできないという事例」に該当しました。 最近では、2.4 → 2.12 のデータ移行案件も増えているので、専用のプログラムを自作しようかなぁと思っています。
|
kscom |
投稿日時: 2012/11/14 11:56
対応状況: −−−
|
新米 登録日: 2008/8/20 居住地: 投稿: 6 |
Re: 2.4系から2.11系へのデータインポート 2.4.4から2.12.2へのエクスポート・インポートを試みたのですが、そのままではカテゴリ名が空欄になるなど、うまくいかなかったので、2.11.5を経由して行いました。
(1)2.4.4⇒2.11.5 2.4.4データエクスポートモジュールからエクスポートしたデータを2.11.5インポートモジュールでインポートしようとしたところ、`dtb_order`および`dtb_order_detail`で「エラーが発生しました」と出てしまいました。 データベース上の以下の変更で、中断せずに行われました。 ・CSVの値が空欄の場合に起こる「NULL」のエラー ⇒各テーブルの「not null」のカラムを「null」へ変更 ・「Duplicate ID〜」といった重複によるエラー ⇒`dtb_order_order_id_seq`の値をorder_idの最大値に設定 (2)2.11.5⇒2.12.2 2.11.5データエクスポートモジュールから、2.12.2のインポートプラグインでインポートしようとしたところ、(1)と同様のエラーで中断したため、データベース上で同じ変更を行って完了しました。 2.4系のデータによって、データベースの変更処理等が必要にはなると思うのですが、スムーズにインポートできないという事例はどのくらいあるものでしょうか。 |
comcom |
投稿日時: 2012/6/2 17:30
対応状況: 解決済
|
半人前 登録日: 2010/6/10 居住地: 投稿: 15 |
Re: 2.4系から2.11系へのデータインポート ありがとうございます!第3引数を「SJIS-win,UTF-8」へ変更することでインポートできました!!
機種依存文字のチェックツールでsqlダンプデータを確認してみると、2が?になっているものがあり、これが原因だったようです。 本当に助かりました。 |
shutta |
投稿日時: 2012/6/2 17:18
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: 2.4系から2.11系へのデータインポート 引用:
このエクスポートした段階のCSVファイル中に機種依存文字が入っていませんか? その場合に、インポート時にCSVファイルが正しく読み込めない場合があると思います。 前述の通りCSVファイル中の機種依存文字を変換するか、 インポートする側のCSV変換処理を調整するかの対応になると思います。 後者の場合ですが、 SC_Utilsクラス中のsfEncodeFileメソッドの処理が影響しているような感じがします。 $line = mb_convert_encoding($line, $enc_type, 'auto'); と、autoになっていると、変換に失敗する場合がありそうです。 この部分の第3引数を、 'SJIS-win,UTF-8' とか、 'SJIS-win' とか、 'UTF-8' とかに調整して試してみるとどうでしょうか?
|
comcom |
投稿日時: 2012/6/2 17:00
対応状況: −−−
|
半人前 登録日: 2010/6/10 居住地: 投稿: 15 |
Re: 2.4系から2.11系へのデータインポート 引用:
CSVデータの中に機種依存文字が入っていたということでしょうか? mysqlのダンプデータ上で修正して再度phpmyadminでインポートを行いました。 その上で2.4.4でエクスポートを掛けて2.11.4へインポートしても同じでした。 |
shutta |
投稿日時: 2012/6/2 16:57
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: 2.4系から2.11系へのデータインポート 引用:
CSVデータの中に機種依存文字が入っていたということでしょうか? であれば、括弧と株を分けた(株)のような機種依存文字で文字列にCSVデータを直してから、インポートされるとどうなりますでしょうか?
|
comcom |
投稿日時: 2012/6/2 16:35
対応状況: −−−
|
半人前 登録日: 2010/6/10 居住地: 投稿: 15 |
Re: 2.4系から2.11系へのデータインポート name01の値は「株式会社」です。
ご指摘の通り?が入っておりました。 ※念のため他の機種依存文字も探しましたが無い様です。 |
shutta |
投稿日時: 2012/6/2 16:31
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: 2.4系から2.11系へのデータインポート 引用:
ちなみに本件のname01には、どのようなデータが入っているのでしょうか?
|
comcom |
投稿日時: 2012/6/2 16:18
対応状況: −−−
|
半人前 登録日: 2010/6/10 居住地: 投稿: 15 |
Re: 2.4系から2.11系へのデータインポート 引用:
エラーから判断するとname01の値が空になっているのが問題だと思います。 name01に対応するkana01は、「カブ」ということは分かるので、 name01は、株や(株)等の文字が入っているはずなのに、 その文字が消えてしまっていると想像します。 この可能性は考えられので試しましたが、同じ状態です。 ※phpmyadmin等でsqlダンプファイルを置換して元に戻しております。 name01の値もCSVを見ると入っているのですが、スキップされている理由がかなり謎です(*_*) |
shutta |
投稿日時: 2012/6/2 12:25
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: 2.4系から2.11系へのデータインポート 勝手な推定なので、大いに外しているかもしれませんが、
エラーから判断するとname01の値が空になっているのが問題だと思います。 name01に対応するkana01は、「カブ」ということは分かるので、 name01は、株や(株)等の文字が入っているはずなのに、 その文字が消えてしまっていると想像します。 そこから、さらに想像を飛躍して、name01には、 機種依存文字の(株)が入力されていたために、 途中の変換処理に失敗して欠落したんじゃないでしょうか?
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |