SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法

所属分类: 数据库 / MsSql 阅读数: 1700
收藏 0 赞 0 分享

分享由字符“\”转义引起的SQL数据库实例名称找不到或远程连接失败并显示错误error40的解决办法:

一、问题介绍
很久没有用c#去连数据库程序了,不过在网上找了一些资料,基本上还是写出来了,但是调试初步完成的程序时候,却发现在con.open()这个方法总是出错,说找不到数据库实例名称,或者远程连接失败,显示的错误是error40。

错误如下:

 

二、环境介绍
1、我的数据库是sqlserver2008,使用的开发环境是vs2013,.net4.0

2、我的数据库安装采用的命名实例,所以在编写数据库连接字符串的时候的服务器名称应为 【计算机名\数据实例名】

数据库连接字符为:

 

当发现连接错误之后,我以为是我的sql2008和vs2013环境不对而导致的错误,之后把以前的项目打开,把数据库附加上,更改一下数据连接字符串,发现错误是一样的。

三、解决办法
找了一个多小时错误最后发现,以前写sql连接字符的时候前面的都会加一个@符号,因为我字符串中有字符“\”,如果不加的会提示错误,所以我每次都会加了。但是上次重装系统的时候把命名实例改为了“t”字符开头的名称了。然后【\t】这个表示是一个制表格符,所以并不是会出错,本身就是一个转义符号的正确的使用场合,因为没有出错,也就忘记了加“@”了。

解决办法就是在字符串前面加一个@。

注意

在写sql连接字符串,或者是在windows平台写文件路径的时候都记得在前面加上@字符,养成良好的习惯。

更多精彩内容其他人还在看

如何远程连接SQL Server数据库图文教程

如何远程连接SQL Server数据库图文教程
收藏 0 赞 0 分享

一个SQL语句获得某人参与的帖子及在该帖得分总和

一个SQL语句获得某人参与的帖子及在该帖得分总和
收藏 0 赞 0 分享

通用分页存储过程,源码共享,大家共同完善

通用分页存储过程,源码共享,大家共同完善
收藏 0 赞 0 分享

SQL查找某一条记录的方法

SQL查找某一条记录的方法
收藏 0 赞 0 分享

使用 GUID 值来作为数据库行标识讲解

使用 GUID 值来作为数据库行标识讲解
收藏 0 赞 0 分享

非常详细的SQL--JOIN之完全用法

非常详细的SQL--JOIN之完全用法
收藏 0 赞 0 分享

收缩后对数据库的使用有影响吗?

收缩后对数据库的使用有影响吗?
收藏 0 赞 0 分享

mssql server 存储过程里,bulk insert table from '路径+文件',路径固定,文件名不固定的实现方法

mssql server 存储过程里,bulk insert table from '路径+文件',路径固定,文件名不固定的实现方法
收藏 0 赞 0 分享

请问在mssql“SQL事件探查器”里表格的标题,如CPU,Read,Write,Duration,SPID.........的解释

请问在mssql“SQL事件探查器”里表格的标题,如CPU,Read,Write,Duration,SPID.........的解释
收藏 0 赞 0 分享

SQL Server 2000的安全配置

SQL Server 2000的安全配置
收藏 0 赞 0 分享
查看更多