[戻]-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