0

在获取文件正在使用消息时,我阅读了另一篇关于此问题的文章。我进入 SQL Management Studio 并断开了数据库的连接,但仍然没有成功连接。这是一步一步发生的事情:

我下载了 SQL Express 2014 并安装了它。我创建了一个名为 MyEntertainmentDB 的数据库,然后创建了几个文件(电影和评级)。我向两者都添加了一些数据。我启动了 VS,并在 VB 中创建了一个表单,添加了包括数据网格在内的各种控件。DB 存在于 MS SQL 使用的默认位置。我单击了智能标记,出现了数据网格视图任务窗口。我单击选择数据源下拉箭头,然后添加项目数据源。数据库突出显示,然后单击下一步。数据集突出显示,然后单击下一步。现在我单击新连接并选择 Microsoft SQL Server 数据库文件(数据提供程序是 SQL Server 的 .NET Framework 数据提供程序(该下拉框中唯一的内容)),然后单击继续。现在我' m 在第一个框中显示了一个数据源为 Microsoft SQL Server 数据库文件 (SqlClient) 的窗口,我浏览到我的数据库所在的位置并选择它(即 C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS \MSSQL\DATA\MyEntertainmentDB.mdf)。一切顺利,我正在使用 Windows 身份验证。我点击确定。现在它等待几分钟,我收到这条消息:

尝试附加到数据库失败并显示以下消息:建立与 SQL Server 的连接时发生网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:50 - 发生本地数据库运行时错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。

我查看了 SQL Server 日志,但没有提到任何内容。我找不到任何 VS 日志。我检查了 Windows 日志,但找不到任何看似相关的内容。我对这个问题不知所措,准备丢弃 MS SQL 服务器,只使用 MS Access 2010 或 MySQL。有人看到我哪里出错了吗?如果是这样,请帮忙,我试图非常具体,希望我已经提供了所有必要的信息。

4

3 回答 3

1

首先你必须配置你的 MSSQL Express 服务器来响应。为此,您必须打开 SQL Server 配置管理器(在 Windows 8.1 上,只需进入右上角,点击搜索并输入:SQL Server 配置管理器。如果您使用的是 Windows 7,您可以在开始菜单上找到它)。

在 SQL 配置管理器上,您必须展开 SQL Server 网络配置,您将看到(您的数据库实例)的协议。点击那个。

在右侧窗口中单击(您的数据库实例)的协议后,您将看到共享内存、命名管道和 TCP/IP。双击每个并将它们设置为 Enabled = Yes。

现在您的 MSSQL Server 必须监听标准端口 1433。为此,请双击 TCP/IP,选择 IP 地址(现在您将看到 IP1 配置、IP2 配置等),向下滚动到 IPAll 并将 TCP 动态端口设置为 0,然后TCP 端口到 1433。

现在重新启动您的 SQL Server 服务。如果不知道该怎么做,只需重新启动计算机。重新启动后打开命令提示符并键入 netstat -a 以查看您的 MSSQL 是否正在侦听端口 1433。

现在在 Visual Studio 中,当您连接到服务器名称类型服务器 IP(您的 IP 或 127.0.0.1)上的 SQL Server 时,或者您可以从下拉列表中选择您的 SQL Server 实例而不会出现任何问题。

您也可以查看本教程:允许 SQL Server Express 接受远程连接

于 2015-03-03T15:07:03.460 回答
1

好吧,我终于解决了这个问题,而不是人们想的那样。首先,我要感谢所有回答聪明答案的人,但我们在这个基础上偏离了这个问题,我不知道为什么,但你的回答最终导致我战胜了这个问题。在过去的 3 天里,我几乎一直在努力解决这个问题 - 我不喜欢被殴打 - 并且整晚都在努力。我已经卸载并重新安装了好几次,甚至迷信并挥舞着鸡骨头 - 哈哈 - 但没有任何效果!我在几个网站上问过这个问题,最后我去了一个链接,指出 .msi 文件包含在 MS SQL Server 2012 管理对象中,并且因为它们与 2012 版本有关而犹豫下载。因此,在修补无济于事后,我下载了 2012 CLR 类型和管理对象并查看了 Windows\assemblies 文件夹,但仍然没有 v 11。但我猜 2012 安装将它们安装在 Program Files (x86)\Microsoft SQL Server\110\SDK \assemblies\Microsoft.SqlServer.Management.Sdk.Sfc.dll v11.0.2100.60。我运行了 VS 2013 并添加了数据源。在经历了所有这些问题之后,我想知道为什么微软发明了所有这些地方来放置可以工作的东西。从 3 到现在的每个版本的 Windows 一直都经过完全修改,我想知道是什么。改进是好的,但不要重新发明轮子。如果没有您的帮助,我可能永远找不到解决方案,并且可能会成为 oracle 或 mysql 大师。你的男人。谢谢大家。

于 2015-03-05T06:46:15.953 回答
0

不要连接到 mdf,连接到 SQL Server 并从那里使用 MyEntertainmentDB 数据库

MDF 文件被 SQL Server 锁定以读取/写入数据。

于 2015-03-03T08:39:07.997 回答