2014-02-06 120 views
1

我正在實現一個C#應用程序,該應用程序應該從sql server中提取特定數據庫中所有表的元數據。提取表元數據(描述,字段及其數據類型)

這樣的問題已經被問到 - 它需要從sql執行 - SQL Server meta data table and column descrption。 我不想運行任何查詢。

C#有一個API嗎?

有一個下面的方法: http://msdn.microsoft.com/en-us/library/ms254934(v=vs.110).aspx

難道上面的鏈接解決什麼,我想做什麼?

在鏈接的例子中 - 我只有一個表? (但我的請求是所有數據庫表)以及我在哪裏指定用戶憑據和數據庫名稱?

另外我沒有找到任何有關這種執行的性能的參考?

對於我來說,它看起來,如果我們真正讀懂一些源僅包含元數據,而不執行查詢

+0

您不妨回顧[交格式指導(http://stackoverflow.com/editing-help )。請記住,要創建一個新段落,請點擊輸入兩次。換一個換行符,輸入一次並縮進兩個空格。沒有兩個空格縮進的換行符不被視爲段落中斷。 – Charles

回答

0

using (SqlConnection connection = new SqlConnection(@"Data Source=(local);Integrated Security=True;Initial Catalog=DB_Name;"))

{

connection.Open();

它應該是非常有效的檢索模式using (SqlCommand command = connection.CreateCommand()) {

command.CommandText [email protected]"SELECT Name from Sysobjects where xtype = 'u'"; using (SqlDataReader reader = command.ExecuteReader()) {

while (reader.Read())

{ // your code goes here... } } } }`

+0

有沒有辦法不運行查詢?爲什麼不使用SqlConnection.GetSchema方法 – Yakov

+0

SqlConnection.GetSchema將檢索視圖和表。如果您需要視圖和表格,並且您可以使用Getschema方法 – Pradeep