首页 > 解决方案 > 使用 C# 获取 Azure 服务器中的所有数据库

问题描述

我正在尝试使用 C# 获取 Azure 服务器中的所有数据库名称,但我无法找到它的连接字符串。用户提供 ID 和密码后,我想从服务器获取所有数据库名称。

标签: c#azureazure-sql-databasedatabase-connection

解决方案


请查看本教程:查看 SQL Server 实例上的数据库列表

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 查看 SQL Server 实例上的数据库列表。

例如:

USE AdventureWorks2012;  
GO  
SELECT name, database_id, create_date  
FROM sys.databases ;  
GO 

这也适用于 Azure SQL 数据库。

首先,您需要使用 Azure SQL 的连接字符串。然后在您的 c# APP 中运行查询,它将返回您的 Azure SQL Server 中的所有数据库。

或者,您可以参考此博客的答案:获取数据库列表取决于所选服务器

从选定服务器获取数据库列表:

List<String> databases = new List<String>();

SqlConnectionStringBuilder connection = new SqlConnectionStringBuilder();

 connection.DataSource = SelectedServer;
 // enter credentials if you want
 //connection.UserID = //get username;
// connection.Password = //get password;
 connection.IntegratedSecurity = true;

 String strConn = connection.ToString();

 //create connection
  SqlConnection sqlConn = new SqlConnection(strConn);

//open connection
sqlConn.Open();

 //get databases
DataTable tblDatabases = sqlConn.GetSchema("Databases");

//close connection
sqlConn.Close();

//add to list
foreach (DataRow row in tblDatabases.Rows) {
      String strDatabaseName = row["database_name"].ToString();

       databases.Add(strDatabaseName);


}     

希望这可以帮助。


推荐阅读