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

SQL Serverのすべての領域名の取得

環境/言語:[C#,SQL Server2000]
分類:[.NET]

C#でSQL Serverのデータを処理するアプリケーションを作成しています。ADO.NETのConnectionStringにInitial Catalogで領域名を指定してアクセスしていますが、すべての領域名を取得する方法は有るのでしょうか。
tempdbにでも接続して、システムストアドプロシージャ「sp_databases」の結果を
DataTableに受け取れば、DATABASE_NAME列がインスタンス内の全カタログデータ
ベース名となります。
(masterやmodel等も載るので、操作は注意。)
■No11170に返信(こど。さんの記事)
> tempdbにでも接続して、システムストアドプロシージャ「sp_databases」の結果を
> DataTableに受け取れば、DATABASE_NAME列がインスタンス内の全カタログデータ
> ベース名となります。
> (masterやmodel等も載るので、操作は注意。)
> > >
こどさん。有難う御座います。
解決への大きなヒントになりました。
システムストアドプロシージャを使用したことが無いので資料を読みながら格闘していますが、結果をDataTableに受け取る方法が理解できないでいます。もう少し努力してみますが参考になるHP等をご存じの方、宜しくお願いいたします。
■No11175に返信(ことぶきさんの記事)

> システムストアドプロシージャを使用したことが無いので資料を読みながら
格闘していますが、結果をDataTableに受け取る方法が理解できないでいます。

SqlDataAdapterを使用して、SELECT結果をDataTableに受け取ることはできますか。
それができるのであれば───
SqlCommandクラスのCommandTextに設定できる文字列は、標準的なSQL文である「SELECT...」だけ
ではありません。
sp_databases等もそのまま結果セットを返してくれます。
普通のSELECT文同様にただ記述するだけでOKです。

(SqlDataAdapter自体について分からない場合は、マニュアルで勉強してくださいね。)
■No11176に返信(こど。さんの記事)
> ■No11175に返信(ことぶきさんの記事)
> >>システムストアドプロシージャを使用したことが無いので資料を読みながら
> 格闘していますが、結果をDataTableに受け取る方法が理解できないでいます。
> > SqlDataAdapterを使用して、SELECT結果をDataTableに受け取ることはできますか。
> それができるのであれば───
> SqlCommandクラスのCommandTextに設定できる文字列は、標準的なSQL文である「SELECT...」だけ
> ではありません。
> sp_databases等もそのまま結果セットを返してくれます。

> 普通のSELECT文同様にただ記述するだけでOKです。
> > (SqlDataAdapter自体について分からない場合は、マニュアルで勉強してくださいね。)
>

こどさん。有難う御座います。
普段使っている方法だけで解決するとは思っていませんでした。
何気なく使用している事でしたが奥が深いですね。早速試してみます。
解決済み!

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