【发布时间】:2016-09-14 10:44:26
【问题描述】:
我的要求是列出所有远程数据库,但我只知道服务器名称。
我正在使用下面的代码,它可以工作并返回本地主机上的所有数据库:
List<String> databases = new List<String>();
SqlConnectionStringBuilder connection = new SqlConnectionStringBuilder();
connection.DataSource = "localhost";
connection.IntegratedSecurity = true;
//connection.UserID = "";//
//connection.Password = "";//
String strConn = connection.ToString();
SqlConnection sqlConn = new SqlConnection(strConn);
sqlConn.Open();
DataTable tblDatabases = sqlConn.GetSchema("Databases");
sqlConn.Close();
foreach (System.Data.DataRow row in tblDatabases.Rows)
{
String strDatabaseName = row["database_name"].ToString();
databases.Add(strDatabaseName);
}
但是如何在没有登录信息的情况下获取其他服务器上的数据库?
【问题讨论】:
-
显示错误,包括堆栈跟踪。您的代码与
connection.DataSource = "localhost"一起为我工作。我有 8 个数据库。 -
请您使用其他机器服务器。它会抛出错误。
-
什么错误?你还没有表现出来。如果您收到指示您无法登录的错误,则必须提供用户名和密码。
-
System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的未处理异常附加信息:用户“ROOT\gokul.kandasamy”登录失败。
-
如何解决这个错误?我不知道你的机器用户名、密码。然后如何获取您的数据库名称。请帮忙
标签: c# database-connection connection-string