2011-05-15 22 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