Можем ли мы иметь обобщенную строку подключения для SQL Server и SQL Server Express?
-
06-07-2019 - |
Вопрос
У меня есть служба WCF, развернутая на машине.Эту службу WCF можно настроить для SQL Server или SQL Server Express.
ПРИМЕЧАНИЕ : Местоположением базы данных SQL может быть другой компьютер, отличный от того, на котором развернута служба WCF.
Я помещаю следующую информацию в XML-файл:
- ID пользователя
- пароль
- Имя сервера
- Имя машины
В случае 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).Обходной путь — настроить локальный файл свойств, содержащий строку подключения, специфичную для среды.Затем либо укажите ссылку на файл в самом файле конфигурации, либо включите часть процесса сборки в файл конфигурации.