C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: csvファイルから1列づつDBに書き込むには。


(過去ログ 13 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■3792 / inTopicNo.1)  csvファイルから1列づつDBに書き込むには。
  
□投稿者/ ゆりゆり (5回)-(2007/05/23(Wed) 19:04:03)

分類:[VB.NET (Windows)] 

SQLserver2005(Express)を使っています。
DBにデータをcsvファイルにしてインポート・エクスポートをさせたいのですが、
インポートする際に、1行づつではなくて、1列づつ読んでDBに書き込みにいくには
SSISを使わないと実装できないのでしょうか・・・?


列0   列1   列3
データ1 データ2 データ3
データ4 データ5 データ6
データ7 データ8 データ9

ファイル内のデータが上記の様にあったときに、データ1、データ4、データ7と列で読んで行き
DBに格納するときには行づつで書き込みに行く為にはと悩んでいます。
じゃんぬねっとさんのサイトで「StreamReader でファイルを 1 行ずつ読み込む」はありましたけども
列での読み込みの記事がわからなかったので、力及ばずでまた書き込んでしましました。
ご存知の方いらっしゃたら、ご教授頂けないでしょうか。
お手数ですがよろしくお願いします。
 
引用返信 編集キー/
■3795 / inTopicNo.2)  Re[1]: csvファイルから1列づつDBに書き込むには。
□投稿者/ 片桐 (7回)-(2007/05/23(Wed) 21:25:13)
片桐 さんの Web サイト
OLEプロバイダを使って、CSVファイルをデータベーステーブルとして読み込んで処理してしまう方法はどうでしょう?

接続文字列を↓にしてデータベースオブジェクトを作成し、データベーステーブルとしてCSVファイルをオープンしてしまうんです。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<CSVファイルの「ディレクトリの」パス>;Extended Properties="text;HDR=Yes;FMT=Delimited"

SELECT * from CSVファイル のコマンドを使ってデータセットを作って処理もできるし、SELECT field名 from CSVファイルで列データを抜き出して検証することもできるし、bulkcopyメソッドを使えばレコードのINSERTもできるようになるかと思います。

↑この話が難しい〜、ということであれば、「CSVファイル OLEDB 読み込み」とかで検索してみてください。
色々とヒントが見つかるかと思います。

引用返信 編集キー/
■3810 / inTopicNo.3)  Re[2]: csvファイルから1列づつDBに書き込むには。
□投稿者/ ゆりゆり (6回)-(2007/05/24(Thu) 09:37:35)
片桐さんご返信ありがとうございます。
教えてくださってありがとうございます。
ヒントを頼りに、実装できるかがんばってみます!
解決済み
引用返信 編集キー/
■3812 / inTopicNo.4)  Re[3]: csvファイルから1列づつDBに書き込むには。
□投稿者/ 七曜 (7回)-(2007/05/24(Thu) 11:18:56)
解決済みなので、参考までに。
.NET Framework 2.0から、Microsoft.VisualBasic.FileIO.TextFieldParserが追加されています。
csvファイルを処理する場合には、1行を指定された区切り文字(デリミタ)で分割した配列として読み込む事ができます。
csvファイルの処理方法の選択肢として検討してみるのも良いかと思います。
[TextFieldParser オブジェクト]
http://msdn2.microsoft.com/ja-jp/library/f68t4563(VS.80).aspx
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -