无法使用VS 2013 Professional(特别是VB)连接到MSSQL Express 2014数据库

时间:2015-03-03 08:32:19

标签: vb.net visual-studio-2013 sql-server-2014-express

在获取正在使用的文件消息时,我阅读了另一篇关于此问题的文章。我进入SQL管理工作室并断开了数据库,但仍未成功连接。以下是一步一步发生的事情:

我下载了SQL Express 2014并安装了它。我创建了一个名为MyEntertainmentDB的数据库,然后创建了几个文件(电影和评级)。我向两者都添加了一些数据。我启动了VS并在VB中创建了一个表单添加了各种控件,包括一个datagrid。 DB存在于MS SQL使用的默认位置。我单击了智能标记,出现了数据网格视图任务窗口。我单击选择数据源下拉箭头,然后添加项目数据源。数据库突出显示,我点击下一步。数据集突出显示,然后单击下一步。现在我单击新连接并选择Microsoft SQL Server数据库文件(数据提供程序是SQL Server的.NET Framework数据提供程序(该下拉框中唯一的内容)),然后单击继续。现在我在第一个框中显示了一个数据源为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。有人看到我哪里错了吗?如果是这样,请帮忙,我试着非常具体,希望我已经提供了所有必要的信息。

3 个答案:

答案 0 :(得分:1)

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

在SQL Config Manager上,您必须转到SQL Server网络配置,然后您将看到(您的数据库实例)的协议。点击它。

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

现在你的MSSQL服务器必须监听标准端口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实例而没有任何问题。

您也可以查看本教程:Allow SQL Server Express to accept remote connections

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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