SqlServerのエクスポート


ピンポン  2006-02-16 02:29:21  No: 130249

VB.NET2003で開発しております。
SqlServerを使用していまして、今回あるテーブルの
指定日付け以前のデータのみをCSV形式でエクスポート
したいと考えております。
流れ的には、指定日付け以前をエクスポート後対象データの
DELETEになります。
テーブル単位では無いのでよい方法が思いつきません。
データ的にも多いのでレスポンスの早い方法を
ご存知でしたら、ご教授願いたいのですがお願い致します。


葉月α  2006-02-16 02:41:41  No: 130250

かなぁり前なので忘れてしまいましたが・・・
DTSパッケージ使用して
VBスクリプトを出力させて
そのSQL改造して
VBにコピペして出来なかったっけ?


ピンポン  2006-02-16 02:44:02  No: 130251

早速のご返事ありがとうございます。
折角のご回答なのですがよく意味が分かりません。
知識不足なのでもう少しくだいて説明頂けないでしょうか。


もげ  2006-02-16 21:58:47  No: 130252

質問者殿はVB.NETでしたね。
COMなのでオブジェクトの開放を明示的に行う必要があるかもです。

http://winofsql.jp/VA003334/msde050902100240.htm
http://www.accessclub.jp/bbs6/0003/das459.html
http://www.microsoft.com/japan/msdn/columns/scripting/scripting01102000.asp


ピンポン  2006-02-16 23:35:06  No: 130253

テーブル単位でのエクスポートしかないのでしょうか?
指定レコードのみをエクスポートしたいのですが。
何度も申し訳ありません。


Dental  2006-02-16 23:58:51  No: 130254

「DTS」にできる事は、単純なコピーだけじゃないですよ。
http://www.microsoft.com/japan/msdn/sqlserver/columns/dts/dts1.asp


葉月α  2006-02-17 00:08:05  No: 130255

極力簡単に書くと
DTSはその字のごとくデータ転送

ただこの時どこから何を転送するかというのはSQLにより指定されていたと思います

で・・・DTSを起動し
どのテーブルをどこに転送するか
またその転送記録をVB形式でファイル出力するかということが設定できます
ウィザードでできるから簡単です
ここでは一度テーブルごと出力してしまいましょう

で・・・出力されたVBファイルを見ると中に転送に使用されたスクリプトが生成されているので
そこのSQLをいじくってできると思います
(正確にはWHERE文を追加して、日付を可変的に設定できるように追加して
VBで使いまわすというもの)

.NetのCOM関連は私は無知なのでコメント控えますが
吐き出されたスクリプトを解析するだけならそんなに難しい作業ではないと思います

多分スタートメニューからたどっていけばとりあえずDTS関連の実行できるショートカットが出てくると思います

DTSについて検索かけて、実行して何がわからないのか聞かれないと
回答者さんも何を答えていいのかわかりません・・・


葉月α  2006-02-17 01:08:03  No: 130256

嘘ついた・・・
DTS
データトランスフォーメーションだから
データ変換が正確ですね


ピンポン  2006-02-17 03:06:51  No: 130257

DTSパッケージを作成してVBファイルにした時、
basモジュールのため.NET2003での使い方が
よく分かりません。
また、.NETからDTSパッケージを使うにはサイトを
見ましたがよく載っておらず分かりませんでした。


もげ  2006-02-17 06:18:22  No: 130258

'あれれ、ちょっと目を離したら難しい方向に(^^;

いや、そうじゃなくて、一番楽なのは、
(手順1)日付でデータ選択するSQL文を指定してエクスポートする
(手順2)エクスポートに成功したら、日付指定でデータ削除
というパッケージを作成し、
できたパッケージを実行するだけですけど。
http://support.microsoft.com/?scid=kb;ja;315661
場合によっては、DBサーバ上でパッケージをスケジュール起動してあげれば
VB無しで目的が達成できるのかもしれないケースだと思いますけど。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加