2011-05-15 77 views
3

這裏的要點是我的沒有數據庫表名,所以請不要建議選擇一個表對它進行'SELECT COUNT(*)」如何檢查連接到DB而無需db表名稱

+5

如果你不知道該數據庫表名,你有什麼需要檢查是否有聯繫? – 2011-05-15 13:14:08

+0

@Martinho Fernandes - 我想創建一個通用的基類來管理我與數據庫的連接。我給它的連接字符串,但給它一個表名稱只是爲了檢查連接似乎誇大了我。 – Erez 2011-05-15 13:40:53

回答

5

這取決於數據庫,但通常有一些表總是存在的或者甚至不需要表。

對於Oracle:

SELECT 1 FROM dual 

使用Sql Server:

SELECT 1 

不是很優雅,但一般不會工作,如果你知道數據庫的品牌。

+0

我不同意「不很優雅」。好的,Oracle版本很難看,但那是因爲「雙重」的破解。但'SELECT 1'非常優雅。 – 2011-05-15 13:18:12

+0

非常感謝!!!! – Erez 2011-05-15 13:43:27

1

你還沒說什麼數據庫類型是的,但你可以使用類似DbConnection.GetSchema這勢必需要一個有效的連接。我不知道如果你知道更多關於數據庫類型的內容會有多重,但可能會有一個更簡單的「心跳」查詢,你可以執行。

+0

happy 300k代表:P – 2011-05-15 15:47:29

1

你可以運行不查詢對錶的命令,如:

select @@VERSION