在Inno-setup项目中查询SQL Server

时间:2010-06-25 06:45:11

标签: sql-server inno-setup

我正在使用Inno-setup创建设置。
在安装过程中,必须创建SQL Server数据库。我想让用户能够选择必须创建数据库的现有SQL Server实例(如果存在)。
所以,我想在设置中做的是查询网络(和本地机器)的SQL Server实例。

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

谁知道我怎么能这样做?或者也许有人可以给我一些好方向的指示?

2 个答案:

答案 0 :(得分:1)

Inno Setup支持调用外部DLL函数,因此您应该编写一个合适的帮助器DLL。托管的.net DLL只能通过COM接口使用,否则你需要一个非托管的DLL。

  

有效的调用约定是:'stdcall'(默认值),'cdecl','pascal'和'register'。

答案 1 :(得分:0)

尝试以下原生.Net库调用:

using System.Data.Sql;

var instance = SqlDataSourceEnumerator.Instance;
DataTable dataTable = instance.GetDataSources();

结果数据表包含以下列:

<强>服务器名称

服务器名称。

<强>实例名

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

<强> IsClustered

指示服务器是否属于群集。

版本

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