Tôi đang sử dụng C# với khung 4.0 và SQL Server 2008 R2. Tôi đã liệt kê máy chủ SQL 2008 với mã này:Lấy danh sách cơ sở dữ liệu phụ thuộc vào máy chủ được chọn
public static string[] GetSQLServerList()
{
SqlDataSourceEnumerator dse = SqlDataSourceEnumerator.Instance;
DataTable dt = dse.GetDataSources();
if (dt.Rows.Count == 0)
{
return null;
}
string[] SQLServers = new string[dt.Rows.Count];
int f = -1;
foreach (DataRow r in dt.Rows)
{
string SQLServer = r["ServerName"].ToString();
string Instance = r["InstanceName"].ToString();
if (Instance != null && !string.IsNullOrEmpty(Instance))
{
SQLServer += "\\" + Instance;
}
SQLServers[System.Math.Max(System.Threading.Interlocked.Increment(ref f), f - 1)] = SQLServer;
}
Array.Sort(SQLServers);
return SQLServers;
}
i liệt kê Máy chủ của tôi trên ComboBox.
Làm cách nào để liệt kê cơ sở dữ liệu, phụ thuộc vào máy chủ nào tôi chọn trong ComboBox?
Tôi tìm thấy số này tutorial, nhưng cần sqlconnection
, làm cách nào để kết nối khi tôi không chọn máy chủ?
sự khác biệt giữa 'SQLServers là những gì [System.Math.Max (System.Threading.Interlocked.Increment (ref f), f - 1)] = SQLServer; ' và ' sqlServers [++ f] = sqlServer; ' Trong phương pháp này? –