Запросы для SQL-серверов в проекте Inno-setup - PullRequest
1 голос
/ 25 июня 2010

Я создаю настройку, используя Inno-setup.
В процессе установки необходимо создать базу данных SQL Server. Я хочу дать пользователю возможность выбрать существующий экземпляр SQL Server (если он существует), где должна быть создана база данных.
Итак, что я хочу сделать в настройке, это запросить сеть (и локальный компьютер) для экземпляров SQL Server.

Кроме того, когда пользователь выбрал экземпляр, я хочу проверить, если в этом экземпляре существует база данных с конкретным именем.

Кто-нибудь знает, как я могу это сделать? Или, может быть, кто-то может дать мне несколько советов в правильном направлении?

Ответы [ 2 ]

1 голос
/ 25 июня 2010

Inno Setup поддерживает вызов внешних функций DLL, поэтому вы должны написать подходящую вспомогательную DLL.Управляемые DLL-библиотеки .net можно использовать только через интерфейс COM, в противном случае вам потребуется неуправляемая DLL.

Допустимые соглашения о вызовах: 'stdcall' (по умолчанию), 'cdecl', 'pascal' и'register'.

0 голосов
/ 25 июня 2010

Попробуйте следующий собственный вызов библиотеки .Net:

using System.Data.Sql;

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

Результирующая таблица данных содержит следующие столбцы:

Имя_сервера

Имясервер.

InstanceName

Имя экземпляра сервера.Пусто, если сервер работает как экземпляр по умолчанию.

IsClustered

Указывает, является ли сервер частью кластера.

Версия

Версия сервера (8.00.x для SQL Server 2000 и 9.00.x для SQL Server 2005).

...