Wykonywanie równoczesne w ADO.NET

Wykonywanie równoległe w programie .NET Framework to możliwość wykonywania aplikacji na komputerze, na którym zainstalowano wiele wersji programu .NET Framework, wyłącznie przy użyciu wersji, dla której skompilowano aplikację. Aby uzyskać szczegółowe informacje na temat konfigurowania wykonywania równoległego, zobacz Wykonywanie równoległe.

Aplikacja skompilowana przy użyciu jednej wersji programu .NET Framework może działać w innej wersji programu .NET Framework. Zalecamy jednak skompilowanie wersji aplikacji dla każdej zainstalowanej wersji programu .NET Framework i uruchomienie ich oddzielnie. W obu scenariuszach należy pamiętać o zmianach w ADO.NET między wydaniami, które mogą mieć wpływ na zgodność z przyszłością lub zgodność z poprzednimi wersjami aplikacji.

Zgodność z poprzednimi wersjami i zgodnością z poprzednimi wersjami

Zgodność z przekazywaniem oznacza, że aplikację można skompilować przy użyciu starszej wersji programu .NET Framework, ale nadal będzie działać pomyślnie w nowszej wersji programu .NET Framework. ADO.NET kod napisany dla programu .NET Framework w wersji 1.1 jest zgodny z nowszymi wersjami.

Zgodność z poprzednimi wersjami oznacza, że aplikacja jest kompilowana dla nowszej wersji programu .NET Framework, ale nadal działa we wcześniejszych wersjach programu .NET Framework bez utraty funkcjonalności. Oczywiście nie będzie to dotyczyć funkcji wprowadzonych w nowej wersji programu .NET Framework.

Dostawca danych programu .NET Framework dla ODBC

Począwszy od wersji 1.1, program .NET Framework Dostawca danych dla ODBC (System.Data.Odbc) jest dołączany jako część programu .NET Framework.

Jeśli masz aplikację opracowaną dla programu .NET Framework w wersji 1.0 korzystającej z dostawcy danych ODBC w celu nawiązania połączenia ze źródłem danych i chcesz uruchomić tę aplikację w programie .NET Framework w wersji 1.1 lub nowszej, musisz zaktualizować przestrzeń nazw dostawcy danych ODBC do pliku System.Data.Odbc. Następnie należy ponownie skompilować ją dla nowszej wersji programu .NET Framework.

Jeśli masz aplikację opracowaną dla programu .NET Framework w wersji 2.0 lub nowszej, która używa dostawcy danych ODBC do nawiązania połączenia ze źródłem danych i chcesz uruchomić aplikację na platformie .NET Framework w wersji 1.0, musisz pobrać dostawcę danych ODBC i zainstalować go w systemie .NET Framework w wersji 1.0. Następnie należy zmienić przestrzeń nazw dostawcy danych ODBC na Microsoft.Data.Odbc i ponownie skompilować aplikację dla programu .NET Framework w wersji 1.0.

Dostawca danych programu .NET Framework dla programu Oracle

Począwszy od wersji 1.1, program .NET Framework Dostawca danych dla programu Oracle (System.Data.OracleClient) jest dołączany jako część programu .NET Framework.

Jeśli masz aplikację opracowaną dla programu .NET Framework w wersji 2.0 lub nowszej, która używa dostawcy danych do nawiązywania połączenia ze źródłem danych i chcesz uruchomić aplikację na platformie .NET Framework w wersji 1.0, musisz pobrać dostawcę danych i zainstalować go w systemie .NET Framework w wersji 1.0.

Zabezpieczenia dostępu kodu

Począwszy od programu .NET Framework w wersji 2.0, wszyscy dostawcy danych programu .NET Framework mogą być używane w częściowo zaufanych strefach. Ponadto dodano nową funkcję zabezpieczeń do dostawców danych programu .NET Framework w programie .NET Framework w wersji 1.1. Ta funkcja umożliwia ograniczenie parametry połączenia mogą być używane w określonej strefie zabezpieczeń. Można również wyłączyć używanie pustych haseł dla określonej strefy zabezpieczeń. Aby uzyskać więcej informacji, zobacz Zabezpieczenia dostępu kodu i ADO.NET.

Ponieważ każda instalacja programu .NET Framework ma oddzielny plik Security.config, nie ma problemów ze zgodnością z ustawieniami zabezpieczeń. Jeśli jednak aplikacja zależy od dodatkowych funkcji zabezpieczeń ADO.NET zawartych w programie .NET Framework w wersji 1.1 lub nowszej, nie będzie można go dystrybuować do systemu w wersji 1.0.

SqlCommand Execution

W programie .NET Framework w wersji 1.1 lub nowszej ExecuteReader wykonuje polecenie tylko w kontekście procedury składowanej sp_executesql , jeśli polecenie zawiera parametry, co zapewnia korzyść z wydajności. W związku z tym, jeśli polecenie wpływające na stan połączenia jest zawarte w nieparametryzowanym poleceniu, modyfikuje stan połączenia dla wszystkich kolejnych poleceń wykonywanych podczas otwierania połączenia.

Rozważmy następującą partię poleceń wykonanych w wywołaniu metody ExecuteReader.

SET NOCOUNT ON;  
SELECT * FROM dbo.Customers;  

NOCOUNT pozostaną ON dla wszystkich kolejnych poleceń wykonywanych podczas otwierania połączenia.

Zobacz też