Строка экспресс-подключения к серверу sql - PullRequest
9 голосов
/ 08 августа 2009

Есть ли разница между строкой подключения к серверу SQL и экспресс-версией?!

Ответы [ 6 ]

13 голосов
/ 08 августа 2009

По умолчанию (хотя я не рекомендую 1 ), Sql Express устанавливается как именованный экземпляр . Это означает, что вы должны подключиться как Server=servername.com\SQLEXPRESS, а не просто Server=servername.com.

Как всегда, connectionstrings.com имеет свои плюсы.

1 Я не рекомендую именованные экземпляры, потому что они работают на другом порту , что делает межсетевой экран PITA. Кроме того, для меня не имеет смысла запускать более одного MSSQL-сервера на компьютере, когда вместо этого можно просто разместить несколько баз данных, поэтому я не совсем уверен, в чем суть.

1 голос
/ 08 августа 2009

Строка подключения, используемая для доступа к SQL Server и SQL Server Express?

Как правило, нет. Это хорошая вещь об использовании Express; разрабатывать его локально и с минимальными изменениями перенести доступ к данным на SQL Server.

0 голосов
/ 16 января 2010

В дополнение к предыдущему сообщению: если у вас возникли проблемы с настройкой примеров Telerik на MSSQL Server 2008, вы можете сделать следующее:

  1. Открыть решение LiveDemos Telerik VS
  2. Настройка соединений с базой данных для файлов telerik .mdf в VS master
  3. Копировать строку подключения для подключений в файл web.config
  4. И добавить «Integrated Security = True; User Instance = False» в конец строки.

PS. Фред Моррисон - спасибо, ты мой "человек дня", я просто исправляю проблему с Telerik Live Demo с помощью поста!

0 голосов
/ 29 сентября 2009

Недавно я загрузил образец приложения с сайта Telerik и не смог запустить его на моем компьютере, на котором установлена ​​только SQL Server 2008 SP1 Developer Edition, пока я не нашел и не заменил все «User Instance = True» на « Пользовательский экземпляр = False ".

Прежде чем кто-нибудь пойдет и соберет свои трусики в узел, выслушай меня первым. Мои обстоятельства могут быть (но не должны быть) уникальными в том смысле, что вместо установки SQL Server 2008 Express просто для запуска примеров приложений (например, Telerik) я просто установил второй именованный экземпляр SQL Server с именем, как вы уже догадались, sqlexpress на моем копия SQL Server 2008 Developer Edition. Таким образом, когда демонстрационное приложение Telerik (или вы его называете) пытается подключиться к «Data Source =. \ Sqlexpress», не мудрее, что то, что он на самом деле подключает, тоже «большой SQL Server» (именно это SQL Server Developer Edition для целей этой публикации).

Ключевые понятия (смею сказать «денежная цитата»), которые вам необходимо понять, таковы:

SQL Express допускает (фактически предполагает, что если отсутствует) пользовательский экземпляр = True, поэтому, если вы запускаете именованный экземпляр с именем sqlexpress на «большом SQL» (Developer, Standard, Enterprise или Data Center), то вам просто нужно найти / замените User Instance = True на User Instance = False в строке подключения, и ваши проблемы закончились. Даже материал «Присоединить базу данных» (который я вижу в разделе Telerik connectionStrings их web.config) работает над «большим SQL» (в отличие от того, что кто-то ранее писал в этой теме).

Вот фактический пример, взятый непосредственно из web.config файла Telerik web.config после того, как я «исправил»:

<connectionStrings>
    <add name="NorthwindConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Northwind.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient"/>
    <add name="TelerikConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Telerik.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient"/>
    <add name="NorthwindConnectionString35" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Northwind.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient"/>
    <add name="TelerikConnectionString35" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Telerik.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient"/>
    <add name="NorthwindEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Northwind.mdf;Integrated Security=True;User Instance=False;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
    <add name="TelerikEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Telerik.mdf;Integrated Security=True;User Instance=False;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
    <add name="EditorFileBrowserDatabase" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|EditorDBStorage.mdf;Integrated Security=True;User Instance=False" providerName="System.Data.SqlClient"/>
</connectionStrings>
0 голосов
/ 08 августа 2009

Да, есть разница - большая разница в том, что у вас не будет AttachDbFilename в полном SQL Server.

Строка подключения к SQL Server Express:

Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;

Типичная обычная строка подключения к SQL Server:

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Подробнее см. connectionStrings.com .

0 голосов
/ 08 августа 2009

Единственное отличие состоит в том, что вам придется указывать именованный экземпляр в строке conn, если Express был настроен таким образом. У 2005 не было выбора, но у 2008 есть.

Data Source=localhost\SQLExpress

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

...