MSDE FunClub
Microsoft Data Engine FunClub
MSDE初心者向けメーリングリスト過去ログ[1855]番
 
[TOP]>[MSDE初心者向けメーリングリスト過去ログ(1855番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
RE:  SQLDMO でアタッチ

Date: Mon, 24 Jul 2006 10:59:20 +0900
From: "Akira Horikawa" <who@example.ne.jp>


堀川です。

回答ではありませんが、アドバイスです。

SQLDMOを使う理由を考えてみて下さい。

アタッチでデータベースを組み込むのであれば、普通は、SQL文を
実行するのが筋だと思います

MSDEがインストールされているのですから、osql コマンドがあります。

インストールプロセスから子プロセス等でアタッチを実行するとか、
他の手段を考えることはどうでしょうか?

VB(オブジェクトを含む)に固執して別に悪いと言うわけではありませんが、
その良い点と悪い点を認識して、幅広い視点からシステムを開発してみて
下さい


例えば、VB の Shell 関数を使って子プロセスで osql コマンドを起動して、
osql が出力する内容を VB 側で検査したい場合は、

    Shell  "cmd.exe /c  ""osql.exe  -?  > d:\work\output.txt """

を実行して、出力されたテキストファイルの内容を読み出さなければ
いけません。
テキストファイルの読み出しは、難しくはないですが、結構面倒です。


もし仮に、ActivePerl がインストールされていれば、

open(FD,'osql -E -h-1 -s "&" -w 1024 -Q"SELECT name,filename FROM
master.dbo.sysdatabases"  |' );
while(<FD>) {
     if( /(\S+) *&([\S ]+\S)/ ) {
         push(@name,$1);
         push(@file,$2);
     }
}
close FD;

foreach $i ( 0 .. $#name ) {
    print "$name[$i]:$file[$i]\n";
}

こんな感じで、調べることもできます。
もちろん、事前にその環境に Perl が入っていることが前提になります。

VBでも正規表現オブジェクトなどがありますが、Perl のような便利さはありませ
ん。

もしPerl があれば、
              もっと簡単にシステムが作れるのに。。。
という点を認識するために取り上げた例題です。
Perl 以外のほかのスクリプトでも構いません。

VBに固執していたら、このような視点は見えず、視野が狭いままでしょう。


すでに存在する道具(osqlなどのようなコマンド)と、それを組み合わせる手段
(パイプやリダイレクト)、そして標準入出力で作業が用済みになるような
問題に対して、わざわざ面倒なオブジェクトを使ってどうのこうのと、
プログラムを書く必要はありません。

Perlではなく、cmd.exeの中の、バッチファイルの命令を組み合わせても構いませ
ん。

あるいは、適切なバッチファイルをVBからテキストファイルとして生成し、それを
実行するという手段でも良いでしょう


同様に、SQL文で簡単にできることを、わざわざ他の手段でプログラムする
必要性は無いと思います

SQL文じゃ遅くて処理速度優先のため使うという目的があれば、理に
かなっています。
ただ何となく使うというのであれば、再考した方がよいと思います。

スキルアップのためという理由であれば、SQLDMOは、将来的に、どのような
扱いになるかわからないので、マイクロソフトの標準(ドットネット)を使った方が
良いでしょう。



------------------------------------
Epata-IT/日本技術ソフト開発
        堀川 明  (Akira Horikawa)
    07月24日(月曜日) 10時56分記
        mailto:who@example.ne.jp
        http://www.horikawa.ne.jp/msde/





[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。