4

我可以在 ADO.NET 连接字符串中指定什么类型的系统版本(兼容级别)令牌以指示仅支持 SQL Server 2012?

4

1 回答 1

4

据此,它将是“SQL Server 2012”。虽然该页面适用于 .NET Framework 4.5,因此仍是预发布版,但考虑到参数的其他可能值,可以安全地假设该值将成立。

话虽如此,我不知道 4.5 以下的任何 .NET 版本是否会接受该值作为有效值。我现在不在电脑前,所以我无法检查,抱歉。

编辑它看起来好像这个值确实在客户端解析/检查,即在内部System.Data。用反射器看,它发生在SqlConnectionString.SqlConnectionString(string connectionString). 此外,还有一个枚举SqlConnectionString.TypeSystem,它命名了所有已知/支持的值。对于 .NET 4.0 ,这将是SqlServer2000、和. 这个值是在类内部传递的,最终在内部的某个地方使用。SqlServer2005SqlServer2008LatestSystem.Data.SqlClientSqlDataReader

因此,除非您使用Latestwhich would use but not force SQL Server 2012,否则无法强制使用 .NET < 4.5 的 SQL Server 2012 类型系统。

于 2012-05-06T07:36:03.640 回答