(囲み文字はダブルクォーテーションで統一。まあそれくらいは統一してていただかんと。)
さあ、どうしましょう。何にロードするにしても、何を使用してロードするにしても、改行を以って 1レコードのエンドとするのがデフォルトです。
先に 1レコード 1行ずつ に まとめとくのがいいでしょうね。改行が入っていることに重要な意味があるのでないなら。
以降、
[テキストエディタ (今回、Sakura Editor) を使用しての、整形の手順]
(ざっとした手順を言うなら、改行を半角空白に一斉置換するんですけど、それによって起きる不都合もあるので それをクリアしつつ、て感じです。)
(前提。今回のバーイ、各レコードは必ず「",,,,」で終わっているものとします。) (エンドのシルシはケースバイケース。ですので、そこは読み替えつつ、で、お願いします。)
(注意 !! 置換する際には、「正規表現(E)」にチェックを必ず入れてください。)
1.
改行コードを統一させます。(改行と言っても、「CR (\r\n)」 と 「LF (\n)」 とが混ざっている場合がございます。)
1-1
当該csvを「Sakura Editor」で開く。
1-2
編集のまねごとをする。(どこでもいい適当なトコで全角空白でも加筆。しかるのち その全角空白を削除。)
1-3
「上書き保存」ボタンを押して「改行コードを統一しますか」的なメッセージが出たら「CR (\r\n)」に統一。
2.
SQLのコメント句を半角空白に置換します。
(コメント句には 2種類あります。
一つには、「/*」と「*/」とで囲んであるもの。こちらは問題ありません。放置します。
もう一つは、「--」で始まるもの。こちらは問題です。もし改行が半角空白に置換されたら「--」以降がぜーんぶ最後までコメントということになってしまいます。)
2-1
「置換前」に「--+",,,,」
「置換後」に「"....」
(項目内容がコメント句で終わっている箇所の、コメント句 削除)
2-1
「置換前」に「--+\r\n」
「置換後」に「 」
(コメント句 (「--」で始まって改行で終わっている文字列) を半角空白に置換)
※ ここでは「--」方式のコメント行は半角空白に置換していますが、「/*」〜「*/」方式に置換する、としても よいです。
3.
改行を半角空白に置換します。
「置換前」に「\r\n」
「置換後」に「 」(半角空白)
4.
各レコードの終了位置に改行を入れます。
「置換前」に「,,,,」
「置換後」に「,,,,\r\n」
5.
タイトル行 (1行目) と明細行 (2行目) との間に、改行を入れます。
(ここの部分は、目で検出して、手で改行を入れる。)
おまけ。
(項目長は 4000 byte まで、という制限があるし、SQLはそれ以上に長い場合があるので、少しでもデータを活かせるため、縮小できるところは縮小したいとおもいます。)
6.
「置換前」に タブ
「置換後」に「 」(半角空白)
7.
連続した2つ以上の空白を 1つの空白に置換します。
「置換前」に「 {2,}」
「置換後」に「 」(半角空白)
さて、1レコード1行のフォーマットに整形が完了しましたら、DBにロードしましょう。
ちなみに、
4000 byte 超える項目があるレコードは、
「SQL Developper」のインポート機能ですと、エラーとなり取り込んでくれません。
「A5:SQL MK-2」ですと、3999 byte でブチ切られて、ではございますが、取り込んでくれます。
(パラメータとかの指定でも違ってくるんでしょうけど、デフォルトでは、ということです。)
[情報きぼんぬ]
・なんにも気にすることなく あるままの状態でDBにロードしてくれる便利なツールをご存知というカタ。情報、ください。
・既存のツールでも、適切にパラメータ設定をするなどのことにより実現できるのかも知れません。ご存知のカタ、ノウハウ、ください。
[SQL*Loaderの使い方〜CSV等を高速に取り込む | Oracle オラクルエンジニア通信 - 技術資料、マニュアル、セミナー Blog]
https://blogs.oracle.com/oracle4engineer/sqlloadercsv
[関連する日記たち]
↓
[テーマ「コンピュータ」のブログ記事一覧]
http://hinden.at.webry.info/theme/c80af9e721.html
[[PL/SQL] 大量のSQL構文の記述ミスを一気に点検したい。]
http://hinden.at.webry.info/201705/article_28.html
--------
about me
--------
hinden Takahashi, Hideki
ひんでん 高橋 秀樹
http://hinden.at.webry.info/200002/article_1.html
[events]
イベント情報一覧
http://www2u.biglobe.ne.jp/~hinden/live/
ラベル:コンピュータ
【関連する記事】
- 楽器のほうのキーボードを壊した ともみち くん。今度は、パソコンのほうのキーボー..
- 外付けハードディスク、全損。
- Q : ブラウザの起動ページが勝手に変えられてしまっていて、しかも通常の直し方で..
- 修理され戻ってきました、ディスプレイ一体型パソコン。以降、パソコン複数台を縦横無..
- そして、つなぎのノーパソ。なんと、これが素晴らしく具合よくて、ああ幸せ。(のろけ..
- 祝。ミッション、完遂。快適なパソコン環境を提供。([長女の一人暮らしが始まる] ..
- ノートパソコン、自力で直しました。
- Javaを身につけたいならココ、サーチマンさんのサイトが最適。(無料)
- この「FC2ホームページ」の障害はやっぱりどうにもならんものかな。無理か、無料版..
- 前のパソコンは、買取査定で大した額になりませんでした。w
- パソコン買い替え時の初期セットアップ手順を最新化しました。(自分用に特化した手順..
- [自分用メモ] CSV化する際には、BOM付きUTF-8にしておくべし。
- 直りました。「まほまほファミリー」のメールフォームからのメールが文字化けする障害..
- [Excel VBA] 外部テキストの文字列を一斉置換する関数。(UTF-8 ア..
- 「Ma_ho_Ma_ho_Family」のサイト。全ファイルの文字コードを一斉に..
- 「Ma_ho_Ma_ho_Family」のサイト、一斉にページ更新しました。(V..
- [Excel VBA] 表記ゆれを統一。英数字・記号はすべて半角に、カタカナは全..
- [自分用memo] 画像URLの一覧から随時サムネイルをセルに貼ってゆく、という..
- [誰か教えて] [Excel VBA] ネット上の画像が縦長なのか横長なのかを知..
- そういう仕様なの ? Google フォト。