使用时连接字符串不起作用(数据源 =.\SQLExpress)
Posted
技术标签:
【中文标题】使用时连接字符串不起作用(数据源 =.\\SQLExpress)【英文标题】:Connection string is not working while using (data source =.\SQLExpress)使用时连接字符串不起作用(数据源 =.\SQLExpress) 【发布时间】: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 在我们拥有并安装的其他网站上运行良好 【参考方案1】:在你的 web.config 文件中试试这个
<connectionStrings>
<add name="ConnectionName"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|DatabaseName.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
【讨论】:
无法打开,因为是852版本。本服务器支持663及更早的版本。 参考这个网址可能会有所帮助link 我在 SQL Server 2008 r2 上的另一台计算机上重新创建了数据库并添加了用户实例,它工作正常,谢谢以上是关于使用时连接字符串不起作用(数据源 =.\SQLExpress)的主要内容,如果未能解决你的问题,请参考以下文章