【问题标题】:How we get local SQL Server instance through c#我们如何通过 c# 获取本地 SQL Server 实例
【发布时间】:2015-06-20 05:25:36
【问题描述】:

我正在创建一个 Windows 应用程序,我需要在其中自动创建一个连接字符串。我创建了一个类似于 SQL Server Management Studio Connect to server form 的 Windows 表单。为此,我需要一些东西

  1. 系统的本地 SQL 服务器名称。

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

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

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

【问题讨论】:

    标签: c# sql-server


    【解决方案1】:

    要获取本地网络(和本地)的所有实例,您可以使用以下代码:(来自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();
    }
    

    【讨论】:

      【解决方案2】:

      使用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);
      }
      

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      • 2020-06-21
      相关资源
      最近更新 更多