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

■35547 / 1階層)  データベースからのテーブル名一覧の効率的な取得方法
□投稿者/ 魔界の仮面弁士 大御所(1567回)-(2023/11/21(Tue) 13:32:04)
  • アイコン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 の方が良いですね。
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←データベースからのテーブル名一覧の効率的な取得方法 /Wan →Re[2]: データベースからのテーブル名一覧の効率的な取得方法 /Wan
 
上記関連ツリー

Nomalアイコン データベースからのテーブル名一覧の効率的な取得方法 / Wan (23/11/21(Tue) 10:22) #35546
Nomalアイコン データベースからのテーブル名一覧の効率的な取得方法 / 魔界の仮面弁士 (23/11/21(Tue) 13:32) #35547 ←Now
  └Nomalアイコン Re[2]: データベースからのテーブル名一覧の効率的な取得方法 / Wan (23/11/22(Wed) 14:30) #35548
    └Nomalアイコン Re[3]: データベースからのテーブル名一覧の効率的な取得方法 / Wan (23/11/22(Wed) 14:31) #35549 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -