Мне нужен механизм для поиска экземпляров сервера SQL - PullRequest
1 голос
/ 06 апреля 2010

У меня есть идея, и я хочу применить ее к своему приложению (C # .NET).

Когда мы подключаемся к БД (MS SQL Server 2008) в VS 2008, ConnectionString сохраняется в настройках приложения и является статической переменной (никто не может редактировать ее, если вы не редактируете ее в VS 2008).

Я хочу, чтобы мое приложение выполняло поиск MS SQL Server, сохраняло его в настройках приложения и использовало его для программного подключения к моей БД.

Когда моё приложение запускается, первое, что нужно сделать, это проверить ConnectionString, если vaild, NOT Empty и успешно проверить соединение с MS SQL Server, поэтому, если есть проблема, я думаю показать окно, чтобы позволить пользователю ввести некоторые данные как имя пользователя и пароль для MS SQL Server 2008

Есть ли способ сделать это?

Ответы [ 4 ]

1 голос
/ 06 апреля 2010

Вы можете использовать SMO (объекты управления сервером), работает только с SQL 2005/2008.

SMO образцы

Образец SMO SqlServerList

1 голос
/ 06 апреля 2010

Например, у вас есть глобальная переменная с именем dbname, dbtype, uid, pwd; и предполагая, что у вас есть метод HitTest(strConnectionString):bool, который «пытается» SELECT таблицу и возвращает true, если он находит правильное количество строк; ложь в противном случае.

При запуске приложение должно выполнить следующие действия.

  1. Присоединитесь к dbname, uid и pwd на основе dbtype и подготовьте strConnectionString.
  2. Звоните HitTest(strConnectionString);
  3. Если true, продолжайте загрузку приложения, иначе читайте подробнее.
  4. Всплывающее диалоговое окно с запросом dbname, dbtype, uid, pwd.
  5. Перейти к 1.

- EDIT -

См. Перечисление экземпляров SQL Server и Перечисление экземпляров SQL Server в C # с использованием ODBC

0 голосов
/ 06 апреля 2010

Может быть эта статья CodeProject - это то, что вам нужно.

0 голосов
/ 06 апреля 2010

Вы можете иметь настройки, которые можно программно изменять в App.Settings ... Что-то вроде:

Properties.Settings.Default.yourVariable=x;
Properties.Settings.Default.Save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...