2011-01-19 108 views
0

如果可能從sql讀取數據而不使用數據庫名稱服務器名稱和表名使用c#?如何讀取沒有數據庫名稱的數據

+0

它是哪種類型的數據庫? SqlServer的? – 2011-01-19 13:09:13

+3

出於好奇....在什麼情況下,你會合法地連接到數據庫和獲取數據,而無需轉而詢問數據庫名稱是什麼? – David 2011-01-19 13:13:36

回答

2

假設你指的是SQL Server(以及我熟悉的大多數數據庫平臺)......不需要。您需要查找數據庫名稱。

有辦法找到,這樣就可以通過查詢服務器知道它,但最好的方法是要求數據庫管理員或誰的人有給你的許可權限。

1

不,這是不可能的。 SQL表存儲在SQL數據庫中。你可以在同一臺服務器上的兩個不同的數據庫中擁有兩個同名的表。所以只有表名和服務器名稱,你不會知道兩個表中的哪一個要讀取。

0

從理論上講,您可以使用sp_databases(在SQL Server中)獲取所有數據庫的列表,然後遍歷所有使用您的名稱檢查系統表的表格,但實際上這將會很慢,成爲安全噩夢如果你真的能夠看到服務器上的所有數據庫?)和一個同名的表可能存在於超過1個數據庫中,你無法確定哪個數據庫是正確的。

簡答:不是。