Можем ли мы иметь обобщенную строку подключения для SQL Server и SQL Server Express?

StackOverflow https://stackoverflow.com/questions/1613739

Вопрос

У меня есть служба WCF, развернутая на машине.Эту службу WCF можно настроить для SQL Server или SQL Server Express.

ПРИМЕЧАНИЕ : Местоположением базы данных SQL может быть другой компьютер, отличный от того, на котором развернута служба WCF.

Я помещаю следующую информацию в XML-файл:

  1. ID пользователя
  2. пароль
  3. Имя сервера
  4. Имя машины

В случае SQL Server Express

А Имя сервера свойство — «SQLEXPRESS».Внутренне я добавляю имя_сервера к имени_машины, чтобы имя_сервера было следующим:

ИмяМашины\SQLEXPRESS

который передается в строку подключения.

В случае SQL-сервера

Когда я прохожу Имя сервера для SQL Server он выдает исключение.

Пожалуйста, помогите мне найти лучший подход!

Это было полезно?

Решение

Что такое исключение?Также я не уверен, в чем разница между ServerName и MachineName.Может быть, вы имели в виду имя сервера и имя экземпляра?Вы должны построить свою строку следующим образом (псевдокод, я понятия не имею, какой язык вы используете):

DataSource = ServerName
If (InstanceName != "")
    DataSource += "\" + InstanceName

Другие советы

Вы можете использовать один и тот же формат строки подключения для подключения как к SQL Server Express, так и к полным выпускам.

Просто убедитесь, что вы используете правильную строку, что-то подобное обычно встречается при установках DEFAULT.

Data Source=MachineName\SQLExpress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

и для полного SQL Server

Data Source=MachineName;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Наиболее вероятная причина заключается в том, что ваш экземпляр MSSQLSERVER работает под экземпляром по умолчанию, а не под именованным экземпляром (что и делает SQL Express).Обходной путь — настроить локальный файл свойств, содержащий строку подключения, специфичную для среды.Затем либо укажите ссылку на файл в самом файле конфигурации, либо включите часть процесса сборки в файл конфигурации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top