首页 文章

provider:命名管道提供程序,错误:40 - 无法打开与SQL Server 2012 Express的连接

提问于
浏览
0

尝试使用EF的Generate Database向导连接到我的SQLEXPRESS数据库时,我收到以下错误 .

Build 与SQL Server的连接时发生与网络相关或特定于实例的错误 . 服务器未找到或无法访问 . 验证实例名称是否正确,以及SQL Server是否配置为允许远程连接 . (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

我按照以下问题启用了SQLEXPRESS的TCp / IP .

Enable remote connections for SQL Server Express 2012

我刚刚启用了tcp / Ip设置(没有更改IP2和所有设置)并重新启动了sql server进程 .

重新启动服务后,在连接属性对话框窗口中未检测到我的服务器 .

为什么会这样?我现在应该怎么做?

2 回答

  • 0

    我刚刚遇到这个试图在深夜设置EF连接的人 . 事实证明我没有正确读取连接设置 . 我将服务器计算机名称放在“服务器名称”框中,并将实例名称放在“数据库”框中 .

    “服务器名称”应为(COMPUTERNAME)\(INSTANCE),数据库应为实际数据库名称 .

    希望这能解决你的问题!

  • 5

    我首先尝试从现有数据库创建实体数据模型(.edmx文件),然后使用服务器资源管理器在VS2013中创建一个新的(空)数据库(如果尚未创建) . 然后使用数据实体模型向导使用迁移从工作数据库创建新表/模式到空数据库 . 如果这不起作用,那么您知道SQL Express实例可能存在您的问题,而不是您为此项目配置连接字符串的方式 .

    我在VS2013的MVC 4项目中尝试了这些步骤,没有问题,所以也许你也可以尝试:

    STEP 1: 从现有数据库创建日期实体模型 . 右键单击解决方案名称 - >添加新项 - > ADO.NET Entity Data Model 注意:取消选中保存连接字符串,因为我们只需要使用现有数据库时的示例ADO.NET模型

    STEP 2: 从服务器资源管理器创建新数据库 - >数据连接 - > Create New SQL Server Database (测试连接)

    STEP 3: 右键单击.edmx图中的模型并选择 Generate Database from Model...

    STEP 4: 从NuGet控制台管理器启用迁移,添加迁移MigrationName,更新数据库 .

    注意:如果您计划使用身份验证开箱即用,则将有两个连接字符串 . 我还从NuGet安装了EF 6.0 .

相关问题