DOBON.NETプログラミング道掲示板
(現在 過去ログ1 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■33147 / inTopicNo.1)  VB.net csvをテーブルに取り込む方法
  
□投稿者/ 新入社員(COBOLer) 一般人(2回)-(2015/10/19(Mon) 00:09:22)
  • アイコン環境/言語:[vb.net] 
    分類:[.NET] 

    お世話になります。

    VB.netで、csvファイルの一部をテーブルへ取り込む方法をご教示ください。
    なお、バッチベースで動くPGを予定しています。

    取り込むCSVファイルのヘッダ、フッタ(最後の2レコード)と、1,2項目目を除いた
    レコードのみを取り込みたいと考えています。
    それぞれのレコードの1項目目には、レコード判別の項目が振りついており、
    ヘッダーには「1」、フッターには「8,9」、それ以外のレコードには「2」が振りついています。(今回取り込みたいデータは、レコード判別番号が「2」のものになります。)
    2項目目はレコード通番となっています。
    以下、仕様
    ===========================================================================
    1,0,xxxx,xxxx,xxxx,xxxx,・・・・
    2,1,xxxx,xxxx,xxxx,xxxx,
    2,2,xxxx,xxxx,xxxx,xxxx,
    2,3,xxxx,xxxx,xxxx,xxxx,
    ・・・
    ・・・
    2,4000,xxxx,xxxx,xxxx,xxxx,
    8,xxxx,4000
    9
    ===========================================================================

    私が思いついた方法としては、ヘッダ、フッタを除いた中間ファイルを作成し、
    SQLLOADERで取り込むという方法でしたが、どうにもスマートではないような気がします・・・。
    上記の方法以外での考え方がありましたら、意見をお願いいたします。
    また、上記の方法で取り込むとして、どのようなソースを書いていけばいいか、ご教示をお願いいたします。
    VB.netに関しては右も左もわからぬまま開発メンバに選ばれてしまいまして、大変苦労をしております。(学校で習っていた言語がCOBOLだったので・・・)
    意見や、アドバイス等、よろしくお願いいたします。


引用返信 削除キー/
■33148 / inTopicNo.2)  Re[1]: VB.net csvをテーブルに取り込む方法
□投稿者/ しま 一般人(14回)-(2015/10/19(Mon) 09:14:15)
  • アイコンNo33147に返信(新入社員(COBOLer)さんの記事)
    > お世話になります。
    >
    > VB.netで、csvファイルの一部をテーブルへ取り込む方法をご教示ください。
    > なお、バッチベースで動くPGを予定しています。
    >
    > 取り込むCSVファイルのヘッダ、フッタ(最後の2レコード)と、1,2項目目を除いた
    > レコードのみを取り込みたいと考えています。
    > それぞれのレコードの1項目目には、レコード判別の項目が振りついており、
    > ヘッダーには「1」、フッターには「8,9」、それ以外のレコードには「2」が振りついています。(今回取り込みたいデータは、レコード判別番号が「2」のものになります。)

    Visual Studio のバージョン、エディションなどの開発環境をきちんと書いてください。
    使いたい .Net のバージョンも書いてください。
    使う予定のOS(Windows) のバージョンも書いてください。

    >SLQLOADER
    とあるので、データーベースは Oracle でしょうか?
    データーベースの名前とバージョン、エディションも書いてください。

    開発環境、動作環境は回答する者にとってだけでなく、読み手にも大事な情報です。

    CSV 形式のファイルを読込む方法としては
    http://dobon.net/vb/dotnet/file/readcsvfile.html
    http://pckowaza.web.fc2.com/html/vbdotnet_file_read_csvfile.html

    などが比較的簡単に google で ".net csv 読込み" のキーワードで検索すれば
    見つかりました

    参考になれば幸いです
    一行ずつ読込んで、必要な列を表に追加すればいいだけでしょう

    insert 表名 (列の名前の並び) values (値の並び);

    という sql を実行するだけで、一行分のデーターが表に追加できるでしょう


    > VB.netに関しては右も左もわからぬまま開発メンバに選ばれてしまいまして、大変苦労をしております。(学校で習っていた言語がCOBOLだったので・・・)
    > 意見や、アドバイス等、よろしくお願いいたします。
    >

    まさかとは思いますが、 Oracle/SQL Server との接続方法から分からないなどということは無いですよね?
引用返信 削除キー/
■33149 / inTopicNo.3)  Re[2]: VB.net csvをテーブルに取り込む方法
□投稿者/ 新入社員(COBOL) 一般人(1回)-(2015/10/19(Mon) 11:20:11)
  • アイコンNo33148に返信(しまさんの記事)

    > Visual Studio のバージョン、エディションなどの開発環境をきちんと書いてください。
    > 使いたい .Net のバージョンも書いてください。
    > 使う予定のOS(Windows) のバージョンも書いてください。
    VisualStudioProfessional2013 Ver12.0.21005.1 REL
    Visual Basic 2013
    OSはWin7です。
    >
    > >SLQLOADER
    > とあるので、データーベースは Oracle でしょうか?
    > データーベースの名前とバージョン、エディションも書いてください。
    データベースはOracle11g 11.2.0.1.0 です。

    >
    > 参考になれば幸いです
    > 一行ずつ読込んで、必要な列を表に追加すればいいだけでしょう
    >
    > insert 表名 (列の名前の並び) values (値の並び);
    >
    > という sql を実行するだけで、一行分のデーターが表に追加できるでしょう
    csvファイルの内容を一旦すべて、配列に保存するという認識で相違はないでしょうか。それから、INSERT文を繰り返すということですか?

    >>VB.netに関しては右も左もわからぬまま開発メンバに選ばれてしまいまして、大変苦労をしております。(学校で習っていた言語がCOBOLだったので・・・)
    >>意見や、アドバイス等、よろしくお願いいたします。
    >>
    >
    > まさかとは思いますが、 Oracle/SQL Server との接続方法から分からないなどということは無いですよね?

    接続は問題ありません。事前にDB接続のためのクラスがありましたので。


引用返信 削除キー/
■33150 / inTopicNo.4)  Re[3]: VB.net csvをテーブルに取り込む方法
□投稿者/ しま 一般人(15回)-(2015/10/19(Mon) 11:59:51)
  • アイコンNo33149に返信(新入社員(COBOL)さんの記事)
    > ■No33148に返信(しまさんの記事)
    >
    >>Visual Studio のバージョン、エディションなどの開発環境をきちんと書いてください。
    >>使いたい .Net のバージョンも書いてください。
    >>使う予定のOS(Windows) のバージョンも書いてください。
    > VisualStudioProfessional2013 Ver12.0.21005.1 REL
    > Visual Basic 2013
    > OSはWin7です。
    > データベースはOracle11g 11.2.0.1.0 です。

    dotNet のバージョンというのは vb.net ではなく、dotNet Framework のことで、
    .Net 2.0, 3.0, 3.5, 4.0 などなどのことを尋ねたつもりでした

    > csvファイルの内容を一旦すべて、配列に保存するという認識で相違はないでしょうか。それから、INSERT文を繰り返すということですか?
    >

    csv を一行読んで、必要な内容をデーターベースに追加するを繰り返してもいいし、
    csx を読終えてから、データーベースに追加するでもいいでしょう。
    ただ、読込みと、保存とは分けた方が、個々の機能のデバッグがやさしくなると思います。

引用返信 削除キー/
■33151 / inTopicNo.5)  Re[4]: VB.net csvをテーブルに取り込む方法
□投稿者/ 新入社員(COBOLer) 一般人(4回)-(2015/10/19(Mon) 18:55:01)
  • アイコンNo33150に返信(しまさんの記事)
    おかげさまで、無事PGを終えることができました。

    しまさんからアドバイスをいただきましたように、読み込みと保存を分けて処理を行いました。

    本当にありがとうございました。少し調べたらわかるようなことを質問してしまって、
    申し訳ありませんでした。良いSEになれるよう精進します。
引用返信 削除キー/
■33152 / inTopicNo.6)  Re[5]: VB.net csvをテーブルに取り込む方法
□投稿者/ 新入社員(COBOLer) 一般人(6回)-(2015/10/19(Mon) 20:28:59)
  • アイコンクローズさせていただきます。
解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -