代码之家  ›  专栏  ›  技术社区  ›  Frederik Gheysels

在Inno安装项目中查询SQL服务器

  •  1
  • Frederik Gheysels  · 技术社区  · 14 年前

    我正在使用Inno设置创建一个设置。

    所以,我在安装程序中要做的是查询网络(和本地机器)中的SQL Server实例。

    此外,当用户选择了一个实例时,我想验证该实例上是否存在具有特定名称的数据库。

    有人知道我怎么做吗?或者有人可以给我一些指向好方向的指针?

    2 回复  |  直到 13 年前
        1
  •  1
  •   splash    14 年前

    Inno安装程序支持外部dll函数的调用,因此您应该编写一个合适的助手dll。托管.NET dll只能通过COM接口使用,否则需要非托管dll。

    有效的调用约定是:“stdcall”(默认)、“cdecl”、“pascal”和“register”。

        2
  •  0
  •   Brian Scott    14 年前

    尝试以下本机.NET库调用:

    using System.Data.Sql;
    
    var instance = SqlDataSourceEnumerator.Instance;
    DataTable dataTable = instance.GetDataSources();
    

    结果数据表包含以下列:

    服务器名

    服务器的名称。

    实名制

    服务器实例的名称。如果服务器作为默认实例运行,则为空。

    分簇的

    指示服务器是否是群集的一部分。

    版本

    服务器的版本(8.00.x用于SQL Server 2000,9.00.x用于SQL Server 2005)。