DOBON.NET DOBON.NETプログラミング掲示板過去ログ

データベースのテーブルデータをCSVに保存するには?

環境/言語:[Win2000 VB.NET2003 Framework1.1]
分類:[.NET]

現在、Accessで作成したデータベースのテーブルデータをループ処理でCSVファイルに
保存しようと思い、現在は一件ずつデータをファイルに書き込んでいます。
この方法だと、効率が悪いと思うし、データ件数が多い場合時間がかかってしまいます。
容易にCSVファイルに保存できる方法とかないのでしょうか?
2005/11/14(Mon) 12:48:43 編集(投稿者)

■No13697に返信(HIROさんの記事)
> 現在、Accessで作成したデータベースのテーブルデータをループ処理でCSVファイルに
> 保存しようと思い、現在は一件ずつデータをファイルに書き込んでいます。
> この方法だと、効率が悪いと思うし、データ件数が多い場合時間がかかってしまいます。
> 容易にCSVファイルに保存できる方法とかないのでしょうか?

Access からならば、
Call DoCmd.TransferText(acExportDelim, , "TableName", "C:\Hoge.csv") とか。
回答ありがとうございます。

> Access からならば、
> Call DoCmd.TransferText(acExportDelim, , "TableName", "C:\Hoge.csv") とか。

早速、試してみます。
また、Accessからならばとありますが、Oracleで作成されたデータベーステーブルをCSVファイルに保存する場合は、どのような方法があるのでしょうか?
■No13702に返信(HIROさんの記事)
> また、Accessからならばとありますが、Oracleで作成されたデータベーステーブルをCSVファイルに保存する場合は、どのような方法があるのでしょうか?

プログラムから行いたいのでしょうか?
SQL*PLUSからでは以下のように行っていたりします。
#あくまでも一例です。
#SQL*Plusの設定次第で表示方法など変えられます。

コンソールから発行したコマンドをプログラムから実行したら
プログラムからでもできると言うことになるのかな・・・。

===========================================================
(SQL*Plusへ渡すtoCSV.sqlファイルの内容)
-----------------------------------------------------------
set line 10000
set heading off
set colsep ","

select * from scott.dept ;

===========================================================


===========================================================
(コンソールなどからSQL*Plusを起動する方法)
-----------------------------------------------------------
sqlplus -S test/test@oratest < toCSV.sql > Hoge.csv
===========================================================
遅くなりすいません。

> プログラムから行いたいのでしょうか?
> SQL*PLUSからでは以下のように行っていたりします。
> #あくまでも一例です。
> #SQL*Plusの設定次第で表示方法など変えられます。
>
> コンソールから発行したコマンドをプログラムから実行したら
> プログラムからでもできると言うことになるのかな・・・。
>
> ===========================================================
> (SQL*Plusへ渡すtoCSV.sqlファイルの内容)
> -----------------------------------------------------------
> set line 10000
> set heading off
> set colsep ","
>
> select * from scott.dept ;
>
> ===========================================================
>
>
> ===========================================================
> (コンソールなどからSQL*Plusを起動する方法)
> -----------------------------------------------------------
> sqlplus -S test/test@oratest < toCSV.sql > Hoge.csv
> ===========================================================

できればプログラムの方から行いたいのですが、方法はあるのでしょうか?
上記の方法も参考にさせていただきます。
ほかにいろいろ検索していたら下記のようなSQL文を発行したら
できました。

SELECT * INTO [Text;DataBase=C:\TEST\].[sample.csv] FROM [テーブル名]
解決済み!
■No13806に返信(HIROさんの記事)
> ほかにいろいろ検索していたら下記のようなSQL文を発行したら
> できました。
> > SELECT * INTO [Text;DataBase=C:\TEST\].[sample.csv] FROM [テーブル名]

念のためですが、
これはAccessでOracleのテーブルにリンクをはり、
そのリンクテーブルに対してAccessのSQLで実行したんですよね?

#Oracleのマニュアル(Oracle9iR2しか確認していませんが) にこのようなSQLは確認できなかったので。
■No13807に返信(封真さんの記事)
> ■No13806に返信(HIROさんの記事)
>>ほかにいろいろ検索していたら下記のようなSQL文を発行したら
>>できました。
>>> SELECT * INTO [Text;DataBase=C:\TEST\].[sample.csv] FROM [テーブル名]
>
> 念のためですが、
> これはAccessでOracleのテーブルにリンクをはり、
> そのリンクテーブルに対してAccessのSQLで実行したんですよね?
>
> #Oracleのマニュアル(Oracle9iR2しか確認していませんが) にこのようなSQLは確認できなかったので。

すいません。Oracleに関しては、試していません。Accessでの話です。
Oracleを使用するときに、参考になればと思い、質問しました。
■No13808に返信(HIROさんの記事)
> > すいません。Oracleに関しては、試していません。Accessでの話です。
> Oracleを使用するときに、参考になればと思い、質問しました。
話の流れでOracleでは例のSQLを発行するとCSVがきると
思われそうな気がしたので、確認させていただきました。(^^)
以後気をつけます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板