• (转)在SQL Server 2016,Visual Studio 2017环境下,连接数据库屡屡失败,在connectionString上出的问题


    适用情景:
    1,ServerVersion出了问题,“SqlCnt.ServerVersion”引发了类型“System.InvalidOperationException”的异常
    2,在String上还以为Data Source应该是.或者local的,这个实际上是要看情况的。
     
     
    问题描述:
            在环境(SQL Server2008、Win7、32位、VS2010开发系统)下,连接数据库失败,出现“在于SQL Server建立连接时出现与网络相关的或特定于实例的错误,未找到或无法访问服务器,请验证实例名称是否正确并且SQL Server已配置为允许远程连接。(provider:Named Pipes Provider,error:40 - 无法打开SQL Server的连接)”。如下图所示:
     
    解决:provider:Named Pipes Provider error:40无法打开SQL Server的连接 - Twilight of Twifly - Twilight of Twifly
     
    解决方案:
          既然错误提示已经说明可能是由于实例名称写错了。那么这有两种可能性,一是SQL服务没有开启,二是SQL实例名真写错了。
    1、确认服务是否开启,我们找到服务设置界面(控制面板-->管理工具-->服务),如下图所示:
    解决:provider:Named Pipes Provider error:40无法打开SQL Server的连接 - Twilight of Twifly - Twilight of Twifly
     找到SQL Server服务,确认该服务已经开启。
     (注:SQL在安装时默认的实例名为MSSQLServer,学习版为SQLEXPRESS)
     
    2、查看项目的Web.config文件,检测数据库连接字符串的实例名(Data Source 的值)是否正确。
    如:我查看到配置的Data Source =.         点(.)表示使用MSSQLServer实例,但是从上面可以看出,我SQL使用的是Express版本数据库,所以正确的配置应该是Data Source =. SQLEXPRESS
           有些人会说,我也清楚什么时候用点(.),什么使用.SQLEXPRESS,亦或是自定义的实例名。那这个也好办,只要拿SQL测试一下即可。打开SQL SERVER Management Studio,在登录中测试我们的数据,把服务器名称设置为点(.),如下图所示:
    解决:provider:Named Pipes Provider error:40无法打开SQL Server的连接 - Twilight of Twifly - Twilight of Twifly
     
    把服务器名设置为点(.),提示出错,错误和上面一样,但是我们换成“.SQLEXPRESS”就能正常登录了。
     
    出现这种问题的情况:
           一般来说,实例名是很少配置错误的,但是如果是团队项目,平时大家都运行正常,但是哪天突然把代码和数据库搬到其他电脑上去运行,由于不同电脑的SQL数据库的版本的差异(有企业版的,有学习版的)就可能会出现这种问题,当然还有就是自己在安装SQL的时候把实例名给修改成别的了。
           除了实例名的问题或服务没有开启,还有一种情况,就是错误提示所说的可能没有允许远程连接。这个需要到“外围配置工具”去修改一下就可以了。
     
    扩展阅读:
  • 相关阅读:
    MySql安装方法和配置、解决中文乱码
    医疗器械软件安全性级别判定
    工业镜头视场、倍率、焦距之间的关系
    C#一个进程监控另一进程的用户界面是否响应系统
    TextEdit验证
    "tsc.exe"已退出,代码1
    截取上传视频的第一帧作为封面的方法
    汉堡也会结对子
    第二次作业——全国中小学生数学(四则运算)竞赛
    第二次作业——全国中小学生数学(四则运算)竞赛(更改版)
  • 原文地址:https://www.cnblogs.com/ldzhangyx/p/6792059.html
Copyright © 2020-2023  润新知