今天刚上班,一个同事找我,说我连不上数据库了,报错。此为背景
把错误贴出来先
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
大家看着很眼熟吧。一说到这个问题,大家首先想到的可能有几点:
1、SQL Server的服务全部启动
2、服务端设置为允许远程连接
3、启用SQL Server服务端的网络协议中的TCP/IP协议和Named Pipes协议
4、防火墙中设置1433端口例外
或许再将RemoteDacEnabled设置为true?
好吧,我能想到的就这么多了。
下面是连接字符串
Data Source=IP\实例名;Initial Catalog=DB_Name;Persist Security Info=True;User ID=UserID;Password=******
有错吗?没错吧?这个真没错。但为什么还连不上呢。
她在程序里直接声明了一个字符串,然后把上面一段赋给这个字符串,再创建连接。没错,流程也没错。但就是连不上。
我就把我所了解的这以上点都翻来覆去做了个遍,结果还是不行,要崩溃了......
1、SQL Server的服务全部启动
全部已启动
2、服务端设置为允许远程连接
已设置为允许
3、启用SQL Server服务端的网络协议中的TCP/IP协议和Named Pipes协议
全部开启
4、防火墙中设置1433端口例外
telnet通
中午吃完饭,在外面被太阳晒了一下,回来睡了一觉。醒了擦擦眼睛,看看新闻,诶,想起来了!!让我们再看看这个字符串啊
Data Source=IP\实例名;Initial Catalog=DB_Name;Persist Security Info=True;User ID=UserID;Password=******
她的写法:string conn = "Data Source=IP\实例名;Initial Catalog=DB_Name;Persist Security Info=True;User ID=UserID;Password=******";
那个斜杠大家看到了吧,就是个转椅字符啊。。。泪奔了。。。
前面加了个at,连上了。。。
这个问题,有够弱智吧,但就是发生了。网上好多说这个也配了,那个也设了的同学,看看你是不是跟我遇到的问题一样呢?
|
请发表评论