我的同事和我在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位)