ネットワーク上のアクティブサーバー(SQLServer)を取得するには

解決


拓也  2004-11-26 11:40:00  No: 86905  IP: [192.*.*.*]

初めまして。

クエリアナライザ
- ファイル(F) 
- 接続(T) 
- SQL Serverの接続画面SQLServerコンボボックスの右側にある[...]をクリック
- サーバーの選択画面
"SQL Server を実行している以下のサーバーがネットワーク上で現在アクティブです。"

でサーバー\インスタンス名が一覧表示されますが、
同様の文字列を取得する方法があれば
教えていただけないでしょうか?

Enterprise Manager
- 操作(A) 
- SQLServerの新規登録(I) 
- SQL Server登録ウィザードのSQL Server選択画面 "使用できるサーバー"
でも同様のアクティブサーバー一覧は表示されます。

SQL Serverのバージョンは2000です。

よろしくお願い致します。

編集 削除
魔界の仮面弁士  2004-11-26 13:08:48  No: 86906  IP: [192.*.*.*]

C:\Program Files\Microsoft SQL Server\80\Tools\Devtools\Samples\sqldmo

を見ると、幸せになれるかも。(^^;
サンプルの vb\Enums\SQLDMOEnums.vbp が、そのものズバリです。


VB/VBAかVB.NETかVBSかわかりませんが、
とりあえず、VBScriptなサンプルを書いておきます。

For Each O In CreateObject("SQLDMO.Application").ListAvailableSQLServers
   WScript.Echo O
Next

編集 削除
拓也  2004-11-26 16:45:02  No: 86907  IP: [192.*.*.*]

ありがとうございます。

教えていただいたサンプルのフォルダは
インストールCDの中にそのまま見つかりました。

VB6, VBScript ではうまく実行できましたが、
なぜかJavaScriptでは
ListAvailableSQLServersメソッドを実行するときに
次の実行時エラーが発生してうまくいきません。

板違いで申し訳ございませんが、
できれば助言お願いします。


エラー:  オブジェクトでサポートされていないプロパティまたはメソッドです。


例1
var oSQLServerDMOApp = new ActiveXObject("SQLDMO.Application");
var namX;

for (namX in oSQLServerDMOApp.ListAvailableSQLServers) {    // ここでエラー
   WScript.Echo(namX);
}


例2
var oSQLServerDMOApp = new ActiveXObject("SQLDMO.Application");
var oSQLServerDMOAppList = oSQLServerDMOApp.ListAvailableSQLServers;  // ここでエラー
var namX;

for (namX in oSQLServerDMOAppList) {
   WScript.Echo(namX);
}

編集 削除
魔界の仮面弁士  2004-11-27 16:27:53  No: 86908  IP: [192.*.*.*]

> なぜかJavaScriptでは
JavaScriptではなく、JScriptですよね?

> 板違いで申し訳ございませんが、
…………確信犯にマトモに答える気は無いので、ヒントだけ。

「Enumerator オブジェクトを生成しましょう」

編集 削除
魔界の仮面弁士  2004-11-27 16:41:27  No: 86909  IP: [192.*.*.*]

# 途中で送信してしまった…。

「Enumeratorオブジェクトを生成するか、もしくは、for...in ではなく
  for を使って NameList から取得しましょう。」
「ListAvailableSQLServersは、プロパティではなくメソッドです。」
「SQL ServerのService Packは最新になっていますか?」

編集 削除
拓也  2004-11-29 09:51:31  No: 86910  IP: [192.*.*.*]

ありがとうございます。
十分なヒントをいただきましたので
後は自力で解決できそうです。

おかげで幸せになりました(^^)。

スレを立てた直後に
迅速で的確な回答が返ってきたときには
驚いて感動してしまいました。

ありがとうございました。

編集 削除