如何获取在本地系统的sql server中创建的所有数据库名称。 感谢..
答案 0 :(得分:4)
以下SQL命令将获取执行它的服务器上的所有数据库名称。要查看更多信息,请将name
更改为*
。
SELECT name
FROM sys.databases
答案 1 :(得分:2)
与平台无关的最常用方法是查询information_schema
。 SQL Server还提供了一系列可用于相同目的的系统表/视图;它们提供了更多信息(特别是特定于SQL Server),但它们不可移植,甚至不能跨越不同版本的SQL Server。
答案 2 :(得分:2)
以下是代码(您可能需要查看此处的详细信息:http://dataconnectionsuite.codeplex.com/SourceControl/changeset/view/57274#1206522)
try
{
this.databasesComboBox.Items.Clear();
this.databasesComboBox.Items.Add("Please wait while loading available databases...");
DataTable tables = new DataTable("Tables");
using (IDbConnection connection = this.GetConnection())
{
IDbCommand command = connection.CreateCommand();
command.CommandText = "SELECT * FROM sys.Databases";
connection.Open();
tables.Load(command.ExecuteReader(CommandBehavior.CloseConnection));
}
this.databasesComboBox.Items.Clear();
foreach (DataRow row in tables.Rows)
this.databasesComboBox.Items.Add(row[0].ToString());
}
catch (SqlException)
{
this.databasesComboBox.Items.Clear();
this.databasesComboBox.Items.Add("Connection error. Check server & credentials");
}
catch (Exception ex)
{
MessageBox.Show("Error while loading available databases: " + ex.ToString());
}
finally
{
DatabaseListCreating = false;
}