0

我需要在我的 ASP.NET 应用程序中支持 SQL Express 和 LocalDb。这是一个用于演示目的的示例应用程序,而不是一个真实的网站。

目前,该应用程序附带 LocalDb 连接字符串:

<add name="Conn" 
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=SampleDB;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\SampleDB.mdf" 
providerName="System.Data.SqlClient" />

如果用户只安装了 SQL Express,他必须将连接字符串更新为:

<add name="Conn"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\SampleDB.mdf;User Instance=true"
providerName="System.Data.SqlClient" />

是否可以指定连接字符串以便同时支持 SQL Express 和 SQL LocalDb 并且用户不需要更新连接字符串?

我可以更新我的示例应用程序以测试 Sql Express 和 Local DB 的存在并自动选择所需的字符串,但要避免这种情况,因为我需要使用最少的代码使应用程序尽可能简单。

4

1 回答 1

0

我认为“通用”连接字符串是不可能的。它会破坏连接字符串的目的,即为在特定技术上运行的特定数据存储提供信息。

如果您的问题是您在 LocalDB 上开发并在 SQL Server Express 中进行生产,您可以利用web.config 转换来根据您要部署的环境选择连接字符串。

于 2013-06-25T11:27:07.230 回答