Получение локального экземпляра SQL Server, а не именованного экземпляра - PullRequest
0 голосов
/ 29 июля 2010

Некоторое время назад я написал веб-приложение для гостевой книги, в котором была написана собственная база данных.

Мой код был очень любительским, но, поскольку это была моя первая публикация, я был очень ей доволен.Лишь через месяц после публикации я понял, что допустил огромную ошибку в коде.

Я только когда-либо подключался к конкретному именованному экземпляру SQL Server, и мне это пришло в голову.что если экземпляр SQL Server имеет имя, отличное от указанного мной, оно не будет работать.

Итак, поскольку мои пользователи, вероятно, не будут знать, как называется имя экземпляра SQL Server, который работаетЯ думал, что добавление поля, в котором пользователь может указать это, поможет, если они это сделают, но что, если они этого не сделают?Мой ответ состоял в том, чтобы получить локальный экземпляр, независимо от имени.

Я пробовал Data Source=.\local;, Data Source=.; и другие варианты, но ничего не получалось.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

Единственный способ узнать, какие экземпляры запущены, - это запросить службу браузера SQL, если она запущена. Я полагаю, что большинство ваших пользователей используют SQL Server Express? Если это так, служба называется local \ SQLEXPRESS. Если нет, то это локально или они сами назвали это. Итак, я бы сначала попробовал local \ SQLEXPRESS, затем local. Если ничего не работает, просто сгенерируйте исключение и попросите пользователя добавить его самостоятельно.

0 голосов
/ 29 июля 2010

Неименованный экземпляр называется «экземпляром по умолчанию» и может быть доступен с помощью "Data Source=(local);...".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...