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

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

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

Re[7]: データベースのデータの切り出し


(過去ログ 51 を表示中)

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

■28225 / inTopicNo.1)  データベースのデータの切り出し
  
□投稿者/ まいか (33回)-(2008/11/21(Fri) 16:25:27)

分類:[.NET 全般] 

お世話になります
WinXP、VB.NET2005、Excel2003、SQLServer2005と言う環境です
1ヵ月のデータをExcelに出力するプログラムを作っています
1ヵ月に大体5万から6万程のデータが出てきます
現在、1ヵ月のデータを出そうとするとかなり時間がかかったり、途中でパソコンがフリーズしてしまいます
スペックの高いパソコンではフリーズはしないのですが、かなり時間がかかってしまいます
Excelの機能として、外部データの取り込みから、新しいデータベースクエリを選んで出すと6万件でも5秒位で出てきます
ただ、フィールド名などがデータベースのテーブル名になってしまうので、それは避けたいと思っています
例えば、日付と出したいフィールド名がデータベースのフィールド名「TORIHIKI_DAY」となってしまいます
フィールド名などはプログラムの設定に合わせて、スピードはExcelの機能を使った様に素早くとしたいです

よろしくお願いします
引用返信 編集キー/
■28226 / inTopicNo.2)  Re[1]: データベースのデータの切り出し
□投稿者/ .SHO (130回)-(2008/11/21(Fri) 16:36:51)
No28225 (まいか さん) に返信

処理全体で無駄なことをしていないか見直すか
もしくは
データの取り込みはExcelに任せて、その結果のフィールド名を
修正するプログラムにするとかではダメですか?
引用返信 編集キー/
■28229 / inTopicNo.3)  Re[2]: データベースのデータの切り出し
□投稿者/ まいか (34回)-(2008/11/21(Fri) 17:18:44)
.SHOさん、ありがとうございます
後者のデータの取り込みはExcel任せで、フィールド名を修正する方でお願いします
もし、参考に出来るサイトがあればそれもお願いします
引用返信 編集キー/
■28231 / inTopicNo.4)  Re[3]: データベースのデータの切り出し
□投稿者/ .SHO (132回)-(2008/11/21(Fri) 17:40:30)
No28229 (まいか さん) に返信

> 後者のデータの取り込みはExcel任せで、フィールド名を修正する方でお願いします

お願いしますと言われても…^^;

> Excelの機能として、外部データの取り込みから、新しいデータベースクエリを選んで出すと6万件でも5秒位で出てきます

実は、ここがいまいちよくわかってないんですが、Excelの表にデータが入った状態でいいのですか?
それをCSVにでも出力してフィールド名変えちゃダメですか?
まぁ、途中人手が入りますが。。。
引用返信 編集キー/
■28232 / inTopicNo.5)  Re[3]: データベースのデータの切り出し
□投稿者/ やじゅ (790回)-(2008/11/21(Fri) 17:41:26)
やじゅ さんの Web サイト
No28229 (まいか さん) に返信
> 後者のデータの取り込みはExcel任せで、フィールド名を修正する方でお願いします

フィールド名を日本語にしたビューを作成して、データの取り込みすればいいの
ではないでしょうか

引用返信 編集キー/
■28233 / inTopicNo.6)  Re[4]: データベースのデータの切り出し
□投稿者/ まんごーぷりん (45回)-(2008/11/21(Fri) 17:45:09)
まんごーぷりん さんの Web サイト
No28231 (.SHO さん) に返信
> ■No28229 (まいか さん) に返信
>
> 実は、ここがいまいちよくわかってないんですが、Excelの表にデータが入った状態でいいのですか?
> それをCSVにでも出力してフィールド名変えちゃダメですか?

実際、そういうソフトを開発した結果がフリーズしてしまうという意味じゃないのかなー?
意外と文字列の連結に StringBuilder を使わずに + してたりというパターンではないかと予想してみたり・・・

引用返信 編集キー/
■28236 / inTopicNo.7)  Re[1]: データベースのデータの切り出し
□投稿者/ みきぬ (241回)-(2008/11/21(Fri) 17:53:54)
No28225 (まいか さん) に返信
> WinXP、VB.NET2005、Excel2003、SQLServer2005と言う環境です
> 1ヵ月のデータをExcelに出力するプログラムを作っています
> 1ヵ月に大体5万から6万程のデータが出てきます
>
Excel2003だと 1シートに65536行までしか入らないけど、大丈夫かな?
引用返信 編集キー/
■28237 / inTopicNo.8)  Re[5]: データベースのデータの切り出し
□投稿者/ まいか (35回)-(2008/11/21(Fri) 18:16:52)
.SHOさん、ありがとうございます
http://www.atmarkit.co.jp/fwin2k/win2ktips/296exceldb/exceldb.html
上記の所で詳しく説明されている方法で出すと6万件も5秒位で出ました
Excelにデータが入っている状態で、かつフィールド名を任意の名前にしたいです
CSVではなくて、エクセルファイルで出したいと思います

やじゅさん、ありがとうございます
その方法が載っているサイトなど参考に出来る所があれば教えていただきたいのですが。

まんごーぷりんさん、ありがとうございます
仰るとおり、現在出すプログラムはあるのですが、6万件も出すと、出す途中でフリーズしてしまいます
ストアドプロシージャ&データ格納は問題ありません、ただそれをExcelに出力しようとするとあまりの多さにフリーズしてしまったり、多くの時間がかかってしまっています

説明が足らなかったのですが、現在はActiveReportを使って、フィールド名や金額の表示の仕方(カンマ等)を設定して出しているのですが、それではダメだと言う事で他の方法を探しています
他の方法を探している途中で、Excelから直接データベースにアクセスして、データを取ってくると言う事を知りました
すみません、私に色々ご教授下さい。よろしくお願いします
引用返信 編集キー/
■28238 / inTopicNo.9)  Re[1]: データベースのデータの切り出し
□投稿者/ .SHO (134回)-(2008/11/21(Fri) 18:18:23)
No28225 (まいか さん) に返信

> 1ヵ月のデータをExcelに出力するプログラムを作っています

そっか、最終的な目的が Excel に入れることなんですね。
Excel は単に速度比較のためにやってみただけかと思って勘違いしました。
すいません。

引用返信 編集キー/
■28240 / inTopicNo.10)  Re[2]: データベースのデータの切り出し
□投稿者/ こあら (39回)-(2008/11/21(Fri) 18:42:17)
No28225 (まいか さん) に返信
> 新しいデータベースクエリを選んで出すと6万件でも5秒位で出てきます

カラムに別名を付けるだけでも良かったりしますか?

「接続のプロパティ」のコマンド文字列(CommandText)に、
例えば「select TORIHIKI_DAY as 日付 from tbl」のように指定します。

引用返信 編集キー/
■28249 / inTopicNo.11)  Re[3]: データベースのデータの切り出し
□投稿者/ やじゅ (791回)-(2008/11/21(Fri) 22:42:03)
やじゅ さんの Web サイト
> ■No28225 (まいか さん) に返信
>
>その方法が載っているサイトなど参考に出来る所があれば教えていただきたいのですが。

SQLの処理してるので、「ビュー」のキーワードだけで通じると思ったのにな

CREATE VIEW viewName AS select TORIHIKI_DAY as 日付 from tbl
http://www.near-future.com/sqlserver/03_2.html

外部データの取り込みから、新しいデータベースクエリの時に、作成したビューを指定
すればいいです。

引用返信 編集キー/
■28352 / inTopicNo.12)  Re[4]: データベースのデータの切り出し
□投稿者/ まいか (36回)-(2008/11/25(Tue) 10:01:03)
お返事が遅くなりました
こあらさん、ありがとうございます
現状では、データは出ているのですが、それを直接Excelに変換してる訳ではないのです
各種条件をストアドプロシージャに→データベースでデータ取得→テーブルに収納→ActiveReportに出力(ただし出力はしない)→Excel出力・・・・です
「ActiveReportに出力(ただし出力はしない)→Excel出力」の部分が問題があってどうにかしてExcel出力を素早く終了させたいです

やじゅさん、ありがとうございます
ビューを作成する事は出来ました。列の名前もバッチリでした。
Excelに出すのに外部データの取り込みから出せば出せるのですが、それをVB.NETからどうにか出すと言う事が出来ないでしょうか
教えて頂いた方法だと、VB.NETでデータを作る、Excelを起動して出力するとなりますが、VB.NETで2つの動作を終わらせたいのですが。
よろしくお願いします
引用返信 編集キー/
■28358 / inTopicNo.13)  Re[5]: データベースのデータの切り出し
□投稿者/ こあら (40回)-(2008/11/25(Tue) 11:26:55)
No28352 (まいか さん) に返信
> 現状では、データは出ているのですが、それを直接Excelに変換してる訳ではないのです
> 各種条件をストアドプロシージャに→データベースでデータ取得→テーブルに収納→ActiveReportに出力(ただし出力はしない)→Excel出力・・・・です
> 「ActiveReportに出力(ただし出力はしない)→Excel出力」の部分が問題があってどうにかしてExcel出力を素早く終了させたいです

ですから、Excelの外部データの取り込み機能を使って、
取り込むときにカラムに別名を付ければ事足りるのですか?と聞きましたよ。
もしそうであれば、後はオートメーション化するだけです。
http://www.google.co.jp/search?q=vb.net+Excel

引用返信 編集キー/
■28373 / inTopicNo.14)  Re[6]: データベースのデータの切り出し
□投稿者/ まいか (37回)-(2008/11/25(Tue) 13:39:20)
こあらさん、ありがとうございます
すみません、勘違いしていました。こあらさんの仰る通り
取り込むときにカラムに別名を付けられれば事足ります
後は、VB側で操作出来れば・・・と思っています
引用返信 編集キー/
■28403 / inTopicNo.15)  Re[7]: データベースのデータの切り出し
□投稿者/ やじゅ (796回)-(2008/11/25(Tue) 21:53:51)
やじゅ さんの Web サイト
2008/11/25(Tue) 21:55:47 編集(投稿者)

No28373 (まいか さん) に返信
> 後は、VB側で操作出来れば・・・と思っています

Export to Excel
http://www.sqljunkies.com/WebLog/madhivanan/archive/2005/07/27/16233.aspx

OPENROWSETを使う前に必要な設定
http://d.hatena.ne.jp/babydaemons/20080317/1205751729
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -