[]-35547/レス
Re[1]: データベースからのテーブル名一覧の効率的な取得方法
魔界の仮面弁士

■No35546に返信(Wanさんの記事)
> あるデータベースのテーブル名一覧をList<String>で返す関数を作りました。

SqlCommand なので、あるデータベースとは「SQL Server」ですね。
sys.tables は対 SQL Server に対してしか使えませんが、
手法としては特に問題無いと思いますよ。


データベースへの依存度を減らした汎用的な方法としては、
OLE DB Provider に対してスキーマを問い合わせる手法があります。

'tbl = con.GetSchema("MetaDataCollections")
'tbl = con.GetSchema("Databases")
tbl = con.GetSchema("Tables")
'tbl = con.GetSchema("Columns")
'tbl = con.GetSchema("IndexColumns")
など。
ADODB の場合は OpenSchema メソッドで同じことができます。


> なんとなく?もっと、効率のいい方法があるような気がしていますが、まったく思いつきません。
実行効率面では、DataAdapter.Fill を使うよりは、ExecuteReader の方が良いですね。

11/21 13:32
[|]
35546のレス
35547にレスを書く
<前のレス

Child K-Tai