如何不通过查询而是通过 C# 调用列出 SQL Server 中的数据库?

发布于 2024-11-01 16:14:17 字数 187 浏览 5 评论 0原文

由此: 枚举所有正在运行的数据库

人们可以列出网络上的服务器,但一旦选择其中之一服务器,然后如何使用与上面类似的方法列出该服务器中的数据库?

谢谢!

From this:
Enumerate all running databases

One can list the servers on the network, but once one selects one of those servers, how does one then list the DB's in that server, by using a similar method as above?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

落在眉间の轻吻 2024-11-08 16:14:17

您可以使用 SQL 管理对象 (SMO)。首先,您可以使用 SmoApplication 类及其 EnumAvailableSqlServers 方法之一来查找服务器。

找到所需的服务器后,您将创建一个Server 实例,然后使用其 数据库 财产。

You can use SQL Management Objects (SMO). First, you'd use the SmoApplication class and one of its EnumAvailableSqlServers methods to find the server.

Once you've found the server you want, you'd create a Server instance, and then use its Databases property.

凝望流年 2024-11-08 16:14:17

大多数与数据库服务器的交互最终都会转化为 SQL。即使它们看起来像其他更高级别的 API。
查找执行此操作的 SQL,然后从 C#

UPDATE 调用它:
来自此处

----SQL SERVER 2005 System Procedures
EXEC sp_databases
EXEC sp_helpdb
----SQL 2000 Method still works in SQL Server 2005
SELECT name
FROM sys.databases
SELECT name
FROM sys.sysdatabases
----SQL SERVER Un-Documented Procedure
EXEC sp_msForEachDB 'PRINT ''?'''

Most interactions with a database server eventually translate to SQL. Even if they look like some other API in a higher level.
Look for the SQL to do this and just call it from C#

UPDATE:
From here

----SQL SERVER 2005 System Procedures
EXEC sp_databases
EXEC sp_helpdb
----SQL 2000 Method still works in SQL Server 2005
SELECT name
FROM sys.databases
SELECT name
FROM sys.sysdatabases
----SQL SERVER Un-Documented Procedure
EXEC sp_msForEachDB 'PRINT ''?'''
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文