たろさん7890のブログ

たろさん7890のブログ

PR

Profile

たろさん7890

たろさん7890

Calendar

Keyword Search

▼キーワード検索

Free Space




Shopping List

温めいらず!かけるだけ!ネコポス 丸美屋 かけうま!濃厚魚介醤油まぜ麺の素 麺用ソース 230g×5個 丸美屋食品工業
あなたのアイデアを現実に! 3年保証 送料無料 返品可能 持ち運び 薄型 フルHD 高画質 13.3インチ【3年保証】LENOVO レノボ IDEAPAD S340-13IML SSD256GB メモリ8GB Core i3 Windows 11 Home 中古 アウトレット 返品 送料無料 中古ノートパソコン 中古パソコン ノートパソコン ノート ノートPC OFFICE付き
『1年保証』送料無料 累計230000個完売!レビュー投稿で10つ以上のプレゼントから選択可! USB 3.0対応 書き込み 読み込み cdドライブTYPE-Cコネクター付き ケーブル内蔵?クーポンで15%+P5倍!/ 「ランキング常連1位!」1年保証 DVDドライブ 外付け dvd cd ドライブ 外付け USB 3.0対応 書き込み 読み込み dvdドライブ 外付けdvdドライブ cdドライブ TYPE-Cコネクター ケーブル内蔵 CD/DVD-RWドライブ Mac Windows11対応
ふっくら仕上げ★無添加★網元が作る釜揚げシラス【極上品】釜揚げシラス【1k】(250gx4P)小分けパック【千葉県産】国産 送料無料 冷凍 天然 海鮮 母の日 父の日 敬老の日 お祝い 御中元 御歳暮 ギフト やみつき 特産 やわらか ふっくら 健康 網元 漁師直送
【おかげさまで楽天ランキング1位獲得!】加工場は漁港のすぐそば。門外不出の塩加減調整で、ふわふわの釜揚げしらすを実現。小分けで便利です。化粧箱なし割引!【ポイント5倍・お買い物マラソン】【楽天1位獲得】【化粧箱無し割引】龍馬しらす 250g×4パック 1000g 1kg 釜揚げしらす 小分けで便利 国産 高知産 冷凍 ギフト プレゼント 自宅用 お中元 お歳暮 母の日 父の日 敬老の日 子供 赤ちゃん うす塩 天日干し 丼 大容量 お得用
2020.09.10
XML
カテゴリ: Linux
​​​​​​​​先日、CSVファイルをMySQLに取り込むのに、苦労しましたが、
またまた、CSVを取り込まなくてはならなくなった。

しかも、前回のCSVよりも、かなり厄介な感じ。

SQLServerのデータを移行することになった。
その移行先がMySQL。

データには、改行が含まれていたり、NULLが多かったり、
データ中にカンマなど、CSVのデータ区切り文字に使いたい文字が万遍なく使われています。

CSV化して、MySQLに取り込むと苦労しそうな予感がひしひしと・・・。

試に、CSV化して、LOAD DATAコマンドを実行してみましたが、


辿り着いた方法は、CSVではなく、XMLファイルにして取り込むことです。


はじめてやってみましたが、これがとても楽ちん。

CSVファイルにして、LOAD DATAコマンドで取り込むと、
テーブルとCSVファイルの項目数や、データ型が一致していないとことごとく、エラーになります。
そのため、色々と事前に加工してから、INPUTデータとして利用します。

これが、LOAD XMLコマンドだと、事前加工なしのファイルを一回で取り込むことができました。


実際にやった手順

1.移行先のMySQLにテーブル作成
 テーブルは、慣れた方法で作成します。
 特別なことは必要ありません。
 私は、地道に、Create Tableコマンドで作成しました。
 スクリプトにしておけば、簡単にテーブルを作り直すことができます。

2.SQLServerに、MS-ACCESSで接続し、移行対象のテーブルをリンク
 ここも特別はことは必要ありません。


3.対象テーブルのデータをリンクテーブル経由で、XMLファイルに保存
 この時、文字コードをSJISからUTF-8に変換しました。
 変換するかどうかの、チェックを入れるだけ。
 このタイミングで、文字コードを変換するのが、一番手間がないと思います。

4.XMLファイルをMySQLクライアントを実行できる環境に転送
 特別なことは必要ありません。

5.必要であれば、XMLファイルの改行コードを、転送先の環境にあわせて変換


6.LOAD XMLコマンドを実行して、MySQLへロード

以上

ロード時にエラーが出なかったので、エラー時の対応は、やってみないとわかりません。


XMLファイルの取り込み、思ったよりも使えそうです。





​​​​​​​​





お気に入りの記事を「いいね!」で応援しよう

Last updated  2020.09.11 00:10:48
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: