Можем ли мы иметь обобщенную строку подключения для SQL Server и SQL Server Express? - PullRequest
0 голосов
/ 23 октября 2009

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

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

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

  1. идентификатор пользователя
  2. пароль
  3. ServerName
  4. MachineName

В случае SQL Server Express

Свойство ServerName имеет значение "SQLEXPRESS". Внутренне я добавляю ServerName с MachineName, чтобы serverName было:

MachineName \ SQLEXPRESS

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

В случае SQL Server

Когда я передаю ServerName в SQL Server, выдается исключение.

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

Ответы [ 3 ]

1 голос
/ 23 октября 2009

Вы можете использовать один и тот же формат строки подключения для подключения как к 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;
0 голосов
/ 24 октября 2009

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

DataSource = ServerName
If (InstanceName != "")
    DataSource += "\" + InstanceName
0 голосов
/ 23 октября 2009

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

...