开发者

Querying for SQL Servers in an Inno-setup project

I'm creating a setup using Inno-setup.

During the setup process, a SQL Server database has to be created. I want to give the user the ability to select an existing SQL Server instance (if one exists), where the database has to be created.

So, what I want to do in the setup, is to query the network (and the local machine) for SQL 开发者_JS百科Server instances.

Furthermore, when the user has selected an instance, I want to verify if there exists a database on that instance which has a specific name.

Anybody who knows how I can do this ? Or maybe someone could give me some pointers in the good direction?


Inno Setup supports the call of external DLL functions, so you should write a suitable helper DLL. Managed .net DLLs can only be used via a COM interface, otherwise you need an unmanaged DLL.

Valid calling conventions are: 'stdcall' (the default), 'cdecl', 'pascal' and 'register'.


Try the following native .Net library call:

using System.Data.Sql;

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

The resultant datatable contains the following columns:

ServerName

Name of the server.

InstanceName

Name of the server instance. Blank if the server is running as the default instance.

IsClustered

Indicates whether the server is part of a cluster.

Version

Version of the server (8.00.x for SQL Server 2000, and 9.00.x for SQL Server 2005).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜