如何在没有数据库表名的情况下检查与数据库的连接

3
这里的关键是我没有数据库表名称,请不要建议选择一个表来执行“SELECT COUNT(*)”操作。

5
如果不知道数据库表的名称,那么要检查连接需要什么? - R. Martinho Fernandes
@Martinho Fernandes - 我想创建一个通用的基类来管理我的数据库连接。我会提供连接字符串,但只是为了检查连接而提供表名似乎有些过度了。 - Erez
3个回答

5
这取决于数据库,但通常会有一些表始终存在,或者根本不需要表。
对于Oracle:
SELECT 1 FROM dual

对于SqlServer:

SELECT 1

不是非常优雅,但如果您知道数据库品牌,通常可以胜任工作。


我不同意“不太优雅”的说法。好吧,Oracle版本很丑陋,但那是因为dual是一个hack。但是SELECT 1非常优雅。 - R. Martinho Fernandes

1

您没有说明数据库类型,但是您可以使用类似于DbConnection.GetSchema的东西,这需要一个可用的连接。我不知道这会有多大的影响...如果您了解更多关于数据库类型的信息,可能会有一个更简单的“心跳”查询。


1

您可以运行一个不针对表进行查询的命令,例如:

select @@VERSION

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接