【发布时间】:2020-01-26 15:54:34
【问题描述】:
我正在使用带有 C# 和 SQL Server 的 ASP.NET
我必须使用 App_Data 文件夹中的 .mdf 文件,因为我无权访问 SQL 数据库。
仅当 T 使用 .\SQLExpress 时,此连接字符串才有问题
<connectionStrings>
<add name="msscEduConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MsscEdu.mdf;Integrated Security=True;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
此连接字符串不起作用,显示附加数据库错误
我们有另一个站点,其连接字符串与此类似,但名称不同,但运行良好。
这是另一个站点的连接字符串
<connectionStrings>
<add name="msdschoolkjConnectionString1" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\msdschoolkj.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
如果我使用以下连接字符串,它只适用于我的计算机,而不适用于服务器
<connectionStrings>
<add name="msscEduConnectionString"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\MsscEdu.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
有人可以帮忙吗?
【问题讨论】:
-
如果可行,为什么不直接使用 localdb?你有安装 SQLExpress 吗?您不应该指望在开发和生产之间使用相同的连接字符串,因此只需计划在部署期间转换该设置。
-
因为我写的是本地只在我的电脑上工作而不是在服务器上。
-
我知道。您不会在生产中使用 localdb,但这没关系。您通常在部署期间将连接字符串更改为指向生产环境。
-
您是否尝试过硬编码 DB 文件的路径?而不是 |DataDirectory|?
-
问题出在 .\sqlexpress 上,即使在我的电脑上也无法正常工作,而 .\sqlexpress 在我们拥有并安装的其他网站上运行良好
标签: c# sql asp.net sql-server connection