1705272 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

たろさん7890のブログ

たろさん7890のブログ

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

PR

Profile

たろさん7890

たろさん7890

Freepage List

Calendar

Keyword Search

▼キーワード検索

Free Space




Archives

Category

Shopping List

『1年保証』送料無料 累計230000個完売!レビュー投稿で10つ以上のプレゼントから選択可! USB 3.0対応 書き込み 読み込み cdドライブTYPE-Cコネクター付き ケーブル内蔵「楽天連続1位」1年保証 DVDドライブ 外付け dvd cd ドライブ 外付け USB 3.0対応 書き込み 読み込み dvdドライブ 外付けdvdドライブ cdドライブ TYPE-Cコネクター ケーブル内蔵 CD/DVD-RWドライブ Mac Windows11対応
ふっくら仕上げ★無添加★網元が作る釜揚げシラス【極上品】釜揚げシラス【1k】(250gx4P)小分けパック【千葉県産】国産 送料無料 冷凍 天然 海鮮 母の日 父の日 敬老の日 お祝い 御中元 御歳暮 ギフト やみつき 特産 やわらか ふっくら 健康 網元 漁師直送
【おかげさまで楽天ランキング1位獲得!】加工場は漁港のすぐそば。門外不出の塩加減調整で、ふわふわの釜揚げしらすを実現。小分けで便利です。化粧箱なし割引!【楽天1位獲得】【化粧箱無し割引】龍馬しらす 250g×4パック 1000g 1kg 釜揚げしらす 小分けで便利 国産 高知産 冷凍 ギフト プレゼント 自宅用 お中元 お歳暮 母の日 父の日 敬老の日 子供 赤ちゃん うす塩 天日干し 丼 おつまみ 大容量 お得用
【ちりめんじゃこ・しらす干しデイリーランキング1位獲得】 【 減塩 愛知県 ちりめんじゃこ シラス 減塩 国産 愛知 お土産 お歳暮 ギフト お取り寄せグルメ お取り寄せ 海鮮 送料無料 】しらす干し1kg 小分け(200×5) 訳あり 愛知県産 ちりめん 【 シラス干し しらす 減塩 愛知県 ちりめんじゃこ シラス 減塩 国産 愛知 お土産 お歳暮 ギフト お取り寄せ 海鮮 】
シリーズ累計48000個以上販売! AIRGEL「あなたのお尻を受け止める」ジェルクッションシリーズ ハニカムクッション 椅子用クッション リモート 姿勢矯正 デスクワーク プレゼント?10%OFFクーポン/ 【累計販売10万枚突破 】 ジェルクッション ゲルクッション 座布団 特大 3層構造 二重 洗える クッション ハニカム 対策 腰痛 体圧分散 無重力 腰 お尻 痛み 椅子用 車 テレワーク 在宅 車イス 贈り物 プレゼント 子ども 子供 勉強机 送料無料

Headline News

Rakuten Card

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で接続し、移行対象のテーブルをリンク
 ここも特別はことは必要ありません。
 リンクテーブルでデータが表示できる状態になればOKです。

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

4.XMLファイルをMySQLクライアントを実行できる環境に転送
 特別なことは必要ありません。
 
5.必要であれば、XMLファイルの改行コードを、転送先の環境にあわせて変換
 私は、Linux環境を使ったので、Windowsの改行コード【Ctrl+M(^M)】を削除しました。

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

以上

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


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





​​​​​​​​





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

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



© Rakuten Group, Inc.