2011-11-09 227 views
0

我想从浏览器访问我的项目,我已将它放在我的服务器上。SQL Server连接字符串问题

我的数据库位于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

http://social.msdn.microsoft.com/forums/en-US/sqldataaccess/thread/f21c0728-935d-492a-baaf-ff2704e3683b/也许这将帮助 – Oli

回答

3

AttachDbFileName=功能可用ONLY在SQL Server EXPRESS版。它是不是兼容并支持“完整的”SQL Server安装。

如果你有一个完整的SQL Server,你有你的数据库附加到SQL Server实例,然后由它(逻辑)数据库名称引用它 - 物理文件名:

<connectionStrings> 
    <add name="LocalSqlServer" 
     connectionString="server=.;database=DataUi;Integrated Security=SSPI;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 
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> 
+0

这不工作:( – Kiwimoisi

+0

我刚刚把这个。 现在我得到这个奇怪的错误:** System.Data .SqlClient.SqlException:用户登录失败。** – Kiwimoisi

+0

用户是否有权访问SQL Server。同时检查用户是否有权访问数据库以及数据库允许哪些命令。 – krammer

0

我认为有一个失踪\\AttachDBFilename|DataDirectory|之后:

AttachDBFilename=|DataDirectory|\\DataUi.mdf 
+0

我无法访问2 \\。 我得到了与\相同的错误。 – Kiwimoisi

+0

我刚把这个。 节点 <除去名称= “LocalSqlServer” 这个/> <添加名称= “LocalSqlServer” 这个的connectionString = “数据源=贝斯平\ SQLEXPRESS;数据库= DataUi.mdf;用户实例=真” 的providerName =“系统。 Data.SqlClient“/> 现在我得到这个奇怪的错误:** System.Data。SqlClient.SqlException:用户登录失败。**。** – Kiwimoisi