2015年7月6日月曜日

SQLServer のリンクサーバー上のテーブルリストを取得

SQLServer で Oracle へのリンクサーバーを作れば、SSMS を使って、比較的簡単にOracle 上のデータにアクセスできるようになります。

ただ、リンクサーバー上にたくさんのテーブルがある場合、そのすべてのテーブルに接続するビューをちまちまと手作業で作るのは、結構邪魔くさい。
そうなると、Oracle 上のテーブルやビューの一覧が欲しくなります。

もちろん、リンクサーバーを見れば一覧は見れますが、一覧データとして扱いたいです。

そこで、SQLServer 上のストアドとして、「SP_Tables_EX」があります。

使用例(リンクサーバー名を「hoge」とする。)
テーブル一覧の取得
EXEC SP_Tables_ex @table_server = 'hoge',@table_type = 'table'

ビュー一覧の取得
EXEC SP_Tables_ex @table_server = 'hoge',@table_type = 'View'



これで一覧を取得すれば、リンクサーバー上のすべてのテーブルに接続するビューなどを作るスクリプトを書くことができます。


0 件のコメント:

コメントを投稿