Бөлісу құралы:


Параллельное выполнение в ADO.NET

Параллельное выполнение в .NET Framework — это возможность выполнять приложение на компьютере с несколькими версиями .NET Framework, исключительно используя версию, для которой было скомпилировано приложение. Подробные сведения о настройке параллельного выполнения см. в разделе "Параллельное выполнение".

Приложение, скомпилированное с помощью одной версии .NET Framework, может работать в другой версии .NET Framework. Однако рекомендуется скомпилировать версию приложения для каждой установленной версии .NET Framework и запустить их отдельно. В любом сценарии следует учитывать изменения в ADO.NET между выпусками, которые могут повлиять как на прямую, так и на обратную совместимость вашего приложения.

Прямая совместимость и обратная совместимость

Обратная совместимость означает, что приложение может быть скомпилировано с более ранней версией .NET Framework, но по-прежнему будет успешно работать на более поздней версии .NET Framework. ADO.NET код, написанный для .NET Framework версии 1.1, совместим с более поздними версиями.

Обратная совместимость означает, что приложение компилируется для более новой версии .NET Framework, но продолжает работать на более ранних версиях .NET Framework без потери функциональных возможностей. Конечно, это не будет иметь место для функционала, введенного в новой версии .NET Framework.

Поставщик данных .NET Framework для ODBC

Начиная с версии 1.1 поставщик данных .NET Framework для ODBC (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.

Поставщик данных .NET Framework для Oracle

Начиная с версии 1.1 поставщик данных .NET Framework для Oracle (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 добавлена новая функция безопасности. Эта функция позволяет ограничить, какие строки подключения можно использовать в определенной зоне безопасности. Вы также можете отключить использование пустых паролей для определенной зоны безопасности. Дополнительные сведения см. в разделе Безопасность доступа к коду и ADO.NET.

Так как каждая установка .NET Framework имеет отдельный файл Security.config, проблемы совместимости с параметрами безопасности отсутствуют. Однако если приложение зависит от дополнительных возможностей безопасности ADO.NET, включенных в .NET Framework версии 1.1 и более поздних версий, вы не сможете распространять его в систему версии 1.0.

Выполнение SqlCommand

В .NET Framework версии 1.1 и более поздних ExecuteReader выполняет команду в контексте sp_executesql хранимой процедуры только если команда содержит параметры, что обеспечивает преимущество производительности. В результате, если команда, влияющая на состояние подключения, включена в не параметризованную команду, она изменяет состояние соединения для всех последующих команд, выполняемых при открытии соединения.

Рассмотрим следующий пакет команд, выполняемых в вызове ExecuteReader.

SET NOCOUNT ON;
SELECT * FROM dbo.Customers;

NOCOUNT будет оставаться ON для всех последующих команд, выполняемых во время открытия подключения.

См. также