SQL Server连接字符串和Express版本之间有区别吗?!
Server=servername.com\SQLEXPRESS
而不是Server=servername.com
。是的,有一个区别 - 最大的区别在于完整版SQL Server中不会有AttachDbFilename。
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;
用于访问 SQL Server 和 SQL Server Express 的连接字符串?
通常不需要。使用 Express 的好处在于,可以在本地进行开发,并且只需进行最少的更改即可将数据访问迁移到 SQL Server。
Data Source=localhost\SQLExpress
这里有一个连接字符串的绝佳参考。
我最近从Telerik网站下载了一个示例应用程序,但在我安装了SQL Server 2008 SP1开发者版的计算机上无法运行,直到我执行查找和替换所有“User Instance=True”为“User Instance=False”。
在任何人开始烦恼之前,请先听我说完。我的情况可能是独特的(但不应该是),因为我没有安装SQL Server 2008 Express来运行示例应用程序(例如Telerik),而是在我的SQL Server 2008 Developer Edition上安装了第二个命名实例,即sqlexpress。这样当Telerik(或其他应用程序)演示应用程序尝试连接到“Data Source =. \ sqlexpress”时,它并不知道它真正连接的是“大型SQL Server”(这就是此发布的SQL Server Developer版的目的)。
你需要理解的关键概念(我敢说是“金句”)是这些:
SQL Express允许(实际上假定如果缺失)User Instance=True,因此如果您正在运行名为sqlexpress的命名实例在“big SQL”(Developer、Standard、Enterprise或Data Center)上,则只需在连接字符串中查找/替换User Instance=True为User Instance=False,您的问题就解决了。即使是“Attach database”(我在Telerik connectionStrings部分的web.config中看到的)也适用于“big SQL”(与此线程中某人发布的相反)。
这里是一个实际示例,直接从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="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Northwind.mdf;Integrated Security=True;User Instance=False;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient"/>
<add name="TelerikEntities" connectionString="metadata=res://*;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Telerik.mdf;Integrated Security=True;User Instance=False;MultipleActiveResultSets=True"" 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>
附言:Fred Morrison - 谢谢,你是我今天的“英雄”,我只是在你的帮助下解决了Telerik Live Demo的问题!