SQL数据库实例名称找不到或远程连接失败并显示毛病error40的缘由及解决办法
分享由字符“\”转义引发的SQL数据库实例名称找不到或远程连接失败并显示毛病error40的解决办法:
一、问题介绍
很久没有用c#去连数据库程序了,不过在网上找了一些资料,基本上或者写出来了,但是调试初步完成的程序时候,却发现在con.open()这个方法总是出错,说找不到数据库实例名称,或远程连接失败,显示的毛病是error40。
毛病以下:
二、环境介绍
1、我的数据库是sqlserver2008,使用的开发环境是vs2013,.net4.0
2、我的数据库安装采取的命名实例,所以在编写数据库连接字符串的时候的服务器名称应为 【计算机名\数据实例名】
数据库连接字符为:
当发现连接毛病以后,我以为是我的sql2008和vs2013环境不对而致使的毛病,以后把之前的项目打开,把数据库附加上,更改一下数据连接字符串,发现毛病是一样的。
三、解决办法
找了一个多小时毛病最后发现,之前写sql连接字符的时候前面的都会加一个@符号,由于我字符串中有字符“\”,如果不加的会提示毛病,所以我每次都会加了。但是上次重装系统的时候把命名实例改成了“t”字符开头的名称了。然后【\t】这个表示是一个制表格符,所以其实不是会出错,本身就是一个转义符号的正确的使用处合,由于没有出错,也就忘记了加“@”了。
解决办法就是在字符串前面加一个@。
注意
在写sql连接字符串,或是在windows平台写文件路径的时候都记得在前面加上@字符,养成良好的习惯。
文章来源:丸子建站
文章标题:SQL数据库实例名称找不到或远程连接失败并显示毛病error40的缘由及解决办法
https://www.wanzijz.com/view/62418.html