我试图从浏览器访问我的项目,我把它放在我的服务器上。
我的数据库位于SQL Server 2008 R2上。
当我尝试登录时,我总是有这个例外:
键'attachdbfilename'
的值无效
我认为问题来自我的连接字符串,但我无法修复它。我试过很多方面。
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer"
connectionString="data source=.\SQLEXPRESS;Initial Catalog=DataUi;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|DataUi.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
有人能帮助我吗?
非常感谢你。
答案 0 :(得分:3)
AttachDbFileName=
功能在SQL Server EXPRESS 版本中可用仅。 NOT 兼容并支持“完整”SQL Server安装。
如果您有完整的SQL Server,则必须将数据库附加到SQL Server实例,然后通过其(逻辑)数据库名称引用它 - 不物理文件名:
<connectionStrings>
<add name="LocalSqlServer"
connectionString="server=.;database=DataUi;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
</connectionStrings>
答案 1 :(得分:1)
您应该“数据库”而不是“AttachDbFileName”,因为它不建议用于生产服务器。
因此,您的连接字符串应为:
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Initial
Catalog=DataUi;Integrated Security=SSPI;Database=DataUi.mdf;User
Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
答案 2 :(得分:0)
我认为\\
之后AttachDBFilename
中|DataDirectory|
遗失了AttachDBFilename=|DataDirectory|\\DataUi.mdf
:
{{1}}