我们如何通过c#获取本地SQL Server实例

时间:2015-06-20 05:25:37

标签: c# sql-server

我正在创建一个Windows应用程序,我需要在其中自动创建连接字符串。我创建一个类似于SQL Server Management Studio连接到服务器表单的Windows窗体。为此,我需要一些东西

  1. 本地SQL server系统名称。

  2. 用户填写表格后,如选择服务器名称和身份验证类型,然后我需要检查填充的详细信息是否正确。

  3. 我需要在c#中创建自动连接字符串并创建自动数据库,为此我在c#代码中执行SQL查询,工作正常。

  4. 帮助我获取实例名称并检查数据在C#窗口应用程序中是否有效。

2 个答案:

答案 0 :(得分:3)

要获取本地网络(和本地)的所有实例,您可以使用以下代码:(来自MSDN

SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance;
System.Data.DataTable table = instance.GetDataSources();

要测试连接字符串,只需打开与生成的连接字符串的连接即可。像这样:(来自this回答)

string provider = "System.Data.SqlClient"; // for example
DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
using(DbConnection conn = factory.CreateConnection()) {
    conn.ConnectionString = cs;
    conn.Open();
}

答案 1 :(得分:1)

使用ManagedComputer

using Microsoft.SqlServer.Management.Smo.Wmi;

ManagedComputer mc = new ManagedComputer();

foreach (ServerInstance si in mc.ServerInstances)
{
     Console.WriteLine("The installed instance name is " + si.Name);
}