ADO.NET 中的并行执行

.NET Framework 中的并行执行是指在安装了 .NET Framework 的多个版本的计算机上以独占方式使用编译的应用程序所针对的版本执行该应用程序的能力。 有关配置并行执行的详细信息,请参见并行执行

使用 .NET Framework 的一种版本编译的应用程序可以在 .NET Framework 的其他版本上运行。 不过,建议您为安装的每个 .NET Framework 版本都编译一个相应版本的应用程序,并单独运行这些应用程序。 在任一方案中,您都应该知道各版本之间 ADO.NET 中的更改,这些更改可能影响应用程序的向前或向后兼容性。

向前兼容性和向后兼容性

向前兼容性表示应用程序可以使用较早版本的 .NET Framework 进行编译,但是仍可以在较高版本的 .NET Framework 上成功运行。 为 .NET Framework 1.1 版编写的 ADO.NET 代码与更高版本向前兼容。

向后兼容性表示应用程序为较高版本的 .NET Framework 编译,但可以继续在较早版本的 .NET Framework 上运行而不丧失任何功能。 当然,这不包括新版本的 .NET Framework 中引入的功能。

ODBC .NET Framework 数据提供程序

从 1.1 版开始,适用于 ODBC 的 .NET Framework 数据提供程序 (System.Data.Odbc) 作为 .NET Framework 的一部分提供。

如果您有一个针对 .NET Framework 1.0 版开发的应用程序,该应用程序使用 ODBC 数据提供程序连接到您的数据源,并且你想要在 .NET Framework 1.1 版或更高版本上运行该应用程序,则必须将 ODBC 数据提供程序的命名空间更新为 System.Data.Odbc。 然后,必须针对 .NET Framework 的较新版本重新编译该应用程序。

如果你有一个针对 .NET Framework 2.0 版(或更高版本)开发的应用程序,该应用程序使用 ODBC 数据提供程序连接到你的数据源,并且你想要在 .NET Framework 1.0 版上运行该应用程序,则必须下载相应的 ODBC 数据提供程序并将其安装在 .NET Framework 1.0 版的系统上。 然后,必须将该 ODBC 数据提供程序的命名空间更改为 Microsoft.Data.Odbc,并针对 .NET Framework 1.0 版重新编译该应用程序。

Oracle .NET Framework 数据提供程序

从 1.1 版开始,适用于 Oracle 的 .NET Framework 数据提供程序 (System.Data.OracleClient) 作为 .NET Framework 的一部分提供。

如果你有一个针对 .NET Framework 2.0 版(或更高版本)开发的应用程序,该应用程序使用 数据提供程序连接到你的数据源,并且你想要在 .NET Framework 1.0 版上运行该应用程序,则必须下载相应的数据提供程序并将其安装在 .NET Framework 1.0 版的系统上。

代码访问安全性

从 .NET Framework 2.0 版开始,所有 .NET Framework 数据提供程序均可以在部分信任的区域中使用。 此外,.NET Framework 1.1 版中的 .NET Framework 数据提供程序添加了一项新的安全功能。 通过该功能可以限制特定安全区域中可以使用的连接字符串。 您也可以对特定安全区域禁用空白密码。 有关更多信息,请参见 Code Access Security and ADO.NET

因为每个 .NET Framework 安装均有独立的 Security.config 文件,所以安全设置不存在兼容性问题。 不过,如果应用程序依赖于 .NET Framework 1.1 版以及更高版本中包含的 ADO.NET 的附加安全功能,则将无法将该应用程序发布到 1.0 版系统中。

SqlCommand 执行

在 .NET Framework 1.1 版以及更高版本中,只有当命令含有参数时,ExecuteReader 才会在 sp_executesql 存储过程的上下文中执行该命令,从而提高性能。 因此,如果非参数化命令中包含影响连接状态的命令,会修改在连接打开时执行的所有后续命令的连接状态。

请考虑下面这个在 ExecuteReader 调用中执行的批命令。

SET NOCOUNT ON;  
SELECT * FROM dbo.Customers;  

NOCOUNT 对连接打开时执行的任何后续命令都将保持为 ON

另请参阅