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 连接字符串

SQL Server 连接字符串问题

SQL Server 集群的 JDBC 连接字符串

如何从 SQL Server Express 获取连接字符串?

SQL Server 实例的连接字符串

如何获取SQL server数据库的连接字符串