收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
首页 > 数据库 > MsSql > 正文

首页 - PHP - 数据库 - 操作系统 - 游戏开发 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell编程 - DOS命令 - jQuery - CSS样式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

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

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

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

错误如下:

查看图片

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

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

数据库连接字符为:

查看图片

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

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

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

注意

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

SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息
在SQLSERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相

SQL Server使用游标处理Tempdb究极竞争-DBA问题-程序员必知
SQLServertempdb分配竞争算是DBA老生常谈的问题了,几乎现在所有的DBA都知道多建几个文件来解决/缓解问题.但是深层次的的竞争依旧不可避免.这里给大家剖

SQLServer中merge函数用法详解
Merge关键字是一个神奇的DML关键字。它在SQLServer2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:根据与源表联接

本周排行

更新排行

强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号