连接字符串中数据源和服务器之间的区别是什么?为什么第一个不起作用而第二个不起作用?

时间:2014-03-13 17:33:24

标签: sql-server-2012 sqlconnection

我的同事和我在C#中遇到了一个棘手的问题,当访问本地SQL Server 2012时,代码可以正常使用" server"在连接字符串中,当我们使用"数据源"时连接将失败并超时。以下是示例代码:

服务器:

SqlConnection sc = 
   new SqlConnection( @"user id=sa;password=blabla;server=(local)\sql2012;database=Dummy.Database;connection timeout=30" );

数据源版本:

SqlConnection sc = 
    new SqlConnection( @"Data Source=(local)\sql2012;Initial Catalog=Dummy.Database;User=sa;Password=blabla;MultiSubnetFailover=true" );

然后在调用

时第1个将通过
sc.Open( );

而第二个不能。可能是差异的根本原因是什么?

我使用Win7 x64和VS2013 Premium。非常感谢。

顺便说一句,使用完全相同的设置,数据源版本仍然失败。

SqlConnection sc = new SqlConnection(@" User = sa; Password = blabla; Data Source =(local)\ sql2012; Initial Catalog = Dummy.Database; connection timeout = 30");

刚检查配置管理器,并且已启用命名管道/ TCP IP /共享内存。防火墙已启用,但由于我使用的是本地主机,因此数据包会在不触及物理网络的情况下回送,所以应该没问题?

此外,我正在使用

Microsoft SQL Server 2012 - 11.0.2100.60(X64) 2012年2月10日19:39:15 Windows NT 6.1(Build 7601:Service Pack 1)上的Developer Edition(64位)

0 个答案:

没有答案