SQL Server 连接字符串问题
Posted
技术标签:
【中文标题】SQL Server 连接字符串问题【英文标题】:SQL Server connection string woes 【发布时间】:2012-10-14 15:34:50 【问题描述】:今天花了 6 个小时从 Visual Studios 2012 连接到我的 SQL Server 2012 数据库后,我放弃了。
设置:
数据库:App_Data/GameDB.mdf
数据库位置:C:\Users\USERNAME\Documents\Visual Studio 2012\Projects\ProjectRawWar\ProjectRawWar\App_Data\GameDB.mdf
连接字符串:
<add name="LocalSqlServer"
connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=GameDB;Integrated Security=False;"/>
我第一次尝试了一个 SQL Server Compact 数据库,没有用。
我尝试了许多来自 connectionstrings.com 的其他连接字符串,但均无效。 我尝试将数据库的完整路径放在连接字符串中,没有成功。有人可以帮我摆脱痛苦吗?
更新: 我刚刚关注http://msdn.microsoft.com/en-us/library/aa983322.aspx。 数据库在那里。我将向导中的连接字符串直接复制到了我的 webconfig 连接字符串中,但仍然无法正常工作。为什么?逻辑在哪里?
【问题讨论】:
试试this easy way to get connection strings。 我也试过了。我试过 server = localhost -> 没有找到任何数据库。我试过 server = computername -> 没有找到任何数据库。 您可以使用 Sql Server Management Studio 连接到它吗? 您的 SQL Server Browser 服务是否正在运行? 尝试连接时遇到什么错误? 【参考方案1】:阅读您的问题,我感觉您正在尝试连接到数据库文件。虽然您可以使用 Access“数据库”来做到这一点,但使用 SQL Server 数据库则无法做到这一点。该文件需要先挂载或附加到 SQL Server。
查看这篇 MSDN 文章了解详情:http://msdn.microsoft.com/en-us/library/ms190209.aspx#SSMSProcedure
【讨论】:
我去看看,谢谢。 SQL Server 数据库已附加到我的项目中,因为我可以在 Visual Studios 中打开它。 '' 目前是我的连接字符串。看起来它正在连接,因为现在我收到错误:'无法打开登录请求的数据库“GameDB”。登录失败。用户 HPCDSBE\Wesley.DeKeirsmaeker 登录失败。 ' 在 Visual Studio 中,我的数据库已附加,我可以使用它。 我下载并安装了 MS SQL Server Management,而且这个程序无法连接到我的 Visual Studio 服务器。错误:` 建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)(Microsoft SQL Server,错误:2)`【参考方案2】:如果您要禁用集成安全性,则需要提供用户名和密码。
IE:
Server=127.0.0.1;User ID=useridhere;Password=passwordhere;database=dbnamehere
请务必确保您指定的用户 ID 和密码可以访问您需要的数据库。对于测试,您可以使用“sa”帐户,但出于主要安全原因,这是一个糟糕的长期解决方案。
【讨论】:
'' 目前是我的连接字符串。看起来它正在连接,因为现在我收到错误:'无法打开登录请求的数据库“GameDB”。登录失败。用户 HPCDSBE\Wesley.DeKeirsmaeker 登录失败。 ' 在 Visual Studio 中,我的数据库已附加,我可以使用它。 您需要与附加的数据库进行交互,而不是与 MDF 文件交互。【参考方案3】:好的,我自己修好了。 我是怎么做到的: 删除每个 .sdf 和 .mdf 文件。 刚刚制作了以下连接字符串:
`<add name="DataContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\GameDB1.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
<add name="LocalSqlServer"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\GameDB1.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />`
Visual Studio 使用我的 DBContext 创建了我的数据库。
感谢大家提供的信息。
【讨论】:
以上是关于SQL Server 连接字符串问题的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL 查询中检索当前 SQL Server 连接字符串