Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот поставщик данных платформы .NET Framework используется для подключения к базе данных, выполнения команд и получения результатов. Эти результаты обрабатываются напрямую, помещаются в DataSet для их предоставления пользователям по мере необходимости, комбинируются с данными из множества источников или передаются между уровнями. Поставщики данных .NET Framework являются легковесными, создавая минимальный слой между источником данных и кодом, повышая производительность без ущерба для функциональности.
В следующей таблице перечислены поставщики данных, включенные в платформа .NET Framework.
| Поставщик данных .NET Framework | Описание |
|---|---|
| Поставщик данных .NET Framework для SQL Server | Предоставляет доступ к данным для Microsoft SQL Server. Использует пространство имен System.Data.SqlClient . |
| Поставщик данных .NET Framework для OLE DB | Для источников данных, раскрытых с использованием OLE DB. Использует пространство имен System.Data.OleDb . |
| Поставщик данных .NET Framework для ODBC | Для источников данных, доступных через ODBC. Использует пространство имен System.Data.Odbc . |
| Поставщик данных .NET Framework для Oracle | Для источников данных Oracle. Поставщик данных для платформы .NET Framework для Oracle поддерживает клиентское программное обеспечение Oracle версии 8.1.7 и более поздних версий и использует пространство имен System.Data.OracleClient. |
| EntityClient - поставщик | Предоставляет доступ к данным для приложений модели EDM (Entity Data Model). Использует пространство имен System.Data.EntityClient . |
| Поставщик данных .NET Framework для SQL Server Compact 4.0. | Предоставляет доступ к данным для Microsoft SQL Server Compact 4.0. Использует пространство имен System.Data.SqlServerCe . |
Основные объекты поставщиков данных .NET Framework
В следующей таблице описаны четыре основных объекта, составляющих поставщик данных платформы .NET Framework.
| Объект | Описание |
|---|---|
Connection |
Устанавливает соединение с конкретным источником данных. Базовым классом для всех объектов Connection является DbConnection . |
Command |
Выполняет команду на источнике данных. Обеспечивает доступность Parameters и может выполнять команды в области Transaction из Connection. Базовым классом для всех объектов Command является DbCommand . |
DataReader |
Считывает из источника данных однопроходный поток данных только для чтения. Базовым классом для всех объектов DataReader является DbDataReader . |
DataAdapter |
Заполняет DataSet и выполняет обновления в источнике данных. Базовым классом для всех объектов DataAdapter является DbDataAdapter . |
Помимо основных классов, перечисленных в таблице выше в этом документе, поставщик данных платформа .NET Framework также содержит классы, перечисленные в следующей таблице.
| Объект | Описание |
|---|---|
Transaction |
Прикрепляет команды к транзакциям в источнике данных. Базовым классом для всех объектов Transaction является DbTransaction . ADO.NET также поддерживает транзакции, использующие классы в пространстве имен System.Transactions . |
CommandBuilder |
Объект помощника, автоматически формирующий свойства команд DataAdapter или извлекающий сведения о параметрах из хранимой процедуры и заполняющий коллекцию Parameters объекта Command . Базовым классом для всех объектов CommandBuilder является DbCommandBuilder . |
ConnectionStringBuilder |
Объект помощника, обеспечивающий простой способ создания и управления содержимым строки соединения, которую используют объекты Connection . Базовым классом для всех объектов ConnectionStringBuilder является DbConnectionStringBuilder . |
Parameter |
Определяет входные, выходные и возвращаемые значения параметров для команд и хранимых процедур. Базовым классом для всех объектов Parameter является DbParameter . |
Exception |
Возвращается при возникновении ошибки в источнике данных. При возникновении ошибки у клиента поставщики данных .NET Framework выбрасывают исключение .NET Framework. Базовым классом для всех объектов Exception является DbException . |
Error |
Отображает сведения, относящиеся к предупреждениям и ошибкам, возвращенным источником данных. |
ClientPermission |
Предоставляется для атрибутов безопасности доступа к коду поставщика данных .NET Framework. Базовым классом для всех объектов ClientPermission является DBDataPermission . |
Поставщик данных .NET Framework для SQL Server (SqlClient)
Поставщик данных платформы .NET Framework для SQL Server (SqlClient) использует собственный протокол для общения с SQL Server. Он является упрощенным и хорошо работает, так как он оптимизирован для доступа к SQL Server напрямую без добавления слоя OLE DB или Open Database Connectivity (ODBC). На следующем рисунке сравниваются поставщик данных .NET Framework для SQL Server и поставщик данных .NET Framework для OLE DB. Поставщик данных платформы .NET Framework для OLE DB взаимодействует с источником данных OLE DB с помощью компонента службы OLE DB, который предоставляет пул подключений и службы транзакций, а также поставщик OLE DB для источника данных.
Примечание.
Поставщик данных платформа .NET Framework для ODBC имеет аналогичную архитектуру с поставщиком данных платформа .NET Framework для OLE DB. Например, он вызывает компонент службы ODBC.
Поставщик данных платформа .NET Framework для классов SQL Server находится в System.Data.SqlClient пространстве имен.
Поставщик данных платформа .NET Framework для SQL Server поддерживает как локальные, так и распределенные транзакции. Для распределенных транзакций поставщик данных на платформе .NET Framework для SQL Server по умолчанию автоматически участвует в транзакции и получает сведения о транзакции из служб компонентов Windows или System.Transactions. Дополнительные сведения см. в разделе "Транзакции и параллелизм".
Следующий пример кода показывает, как включать в приложения пространство имен System.Data.SqlClient .
Imports System.Data.SqlClient
using System.Data.SqlClient;
Поставщик данных .NET Framework для OLE DB
Поставщик данных .NET Framework для OLE DB (OleDb) использует собственный OLE DB через COM-взаимодействие для обеспечения доступа к данным. Поставщик данных платформа .NET Framework для OLE DB поддерживает как локальные, так и распределенные транзакции. Для распределенных транзакций поставщик данных платформа .NET Framework для OLE DB по умолчанию автоматически входит в транзакцию и получает сведения о транзакциях из служб компонентов Windows. Дополнительные сведения см. в разделе "Транзакции и параллелизм".
В следующей таблице показаны поставщики, которые были протестированы с помощью ADO.NET.
| Драйвер | Поставщик |
|---|---|
| SQLOLEDB | Поставщик MICROSOFT OLE DB для SQL Server |
| MSDAORA | Поставщик Microsoft OLE DB для Oracle |
| Microsoft.Jet.OLEDB.4.0 | Поставщик OLE DB для Microsoft Jet |
Примечание.
Использование базы данных Access (Jet) в качестве источника данных для многопоточных приложений, таких как ASP.NET приложения, не рекомендуется. Если вы должны использовать Jet в качестве источника данных для приложения ASP.NET, поймите, что ASP.NET приложения, подключающиеся к базе данных Access, могут столкнуться с проблемами подключения.
Поставщик данных платформа .NET Framework для OLE DB не поддерживает интерфейсы OLE DB версии 2.5. Поставщики OLE DB, требующие поддержки интерфейсов OLE DB 2.5, не будут работать правильно с поставщиком данных для OLE DB платформы .NET Framework. Это относится к поставщику OLE DB для Exchange (Майкрософт) и поставщику Microsoft OLE DB для публикаций в Интернете.
Поставщик данных платформы .NET Framework для OLE DB не работает с поставщиком OLE DB для использования с ODBC (MSDASQL). Чтобы получить доступ к источнику данных ODBC с помощью ADO.NET, используйте поставщик данных .NET Framework для ODBC.
Классы поставщика данных .NET Framework для OLE DB расположены в пространстве имен System.Data.OleDb. Следующий пример кода показывает, как включать в приложения пространство имен System.Data.OleDb .
Imports System.Data.OleDb
using System.Data.OleDb;
Поставщик данных .NET Framework для ODBC
Поставщик данных .NET Framework для ODBC (Odbc) использует родной диспетчер драйверов ODBC (DM) для обеспечения доступа к данным. Поставщик данных ODBC поддерживает как локальные, так и распределенные транзакции. Для распределенных транзакций поставщик данных ODBC по умолчанию автоматически задействуется в транзакции и получает сведения о транзакциях из служб компонентов Windows. Дополнительные сведения см. в разделе "Транзакции и параллелизм".
В следующей таблице показаны драйверы ODBC, протестированные с помощью ADO.NET.
| Драйвер |
|---|
| SQL Server |
| Microsoft ODBC для Oracle |
| Драйвер Microsoft Access (*.mdb) |
В .NET Framework поставщик данных для классов ODBC находится в пространстве имен System.Data.Odbc.
Следующий пример кода показывает, как включать в приложения пространство имен System.Data.Odbc .
Imports System.Data.Odbc
using System.Data.Odbc;
Примечание.
Для поставщика данных .NET Framework для ODBC требуется MDAC 2.6 или более поздняя версия, а для MDAC 2.8 с пакетом обновления 1 (SP1) рекомендуется использовать эту версию.
Поставщик данных .NET Framework для Oracle
Поставщик данных платформа .NET Framework для Oracle (OracleClient) обеспечивает доступ к источникам данных Oracle через программное обеспечение подключения клиента Oracle. Поставщик данных поддерживает клиентское ПО Oracle версии 8.1.7 или более поздней версии. Поставщик данных поддерживает как локальные, так и распределенные транзакции. Дополнительные сведения см. в разделе "Транзакции и параллелизм".
Поставщик данных платформа .NET Framework для Oracle требует клиентского программного обеспечения Oracle (версии 8.1.7 или более поздней версии) в системе, прежде чем подключиться к источнику данных Oracle.
Классы поставщика данных .NET Framework для Oracle находятся в пространстве имен System.Data.OracleClient и содержатся в сборке System.Data.OracleClient.dll. При компиляции приложения, использующего этот источник данных, необходимо ссылаться как на System.Data.dll , так и на System.Data.OracleClient.dll .
Следующий пример кода показывает, как включать в приложения пространство имен System.Data.OracleClient .
Imports System.Data
Imports System.Data.OracleClient
using System.Data;
using System.Data.OracleClient;
Выберите поставщика данных .NET Framework
В зависимости от структуры и источника данных для приложения выбор поставщика данных платформа .NET Framework может повысить производительность, возможности и целостность приложения. В следующей таблице рассматриваются преимущества и ограничения каждого поставщика данных платформа .NET Framework.
| Поставщик | Примечания. |
|---|---|
| Поставщик данных .NET Framework для SQL Server | Рекомендуется для приложений среднего уровня, использующих Microsoft SQL Server. Рекомендуется для одноуровневых приложений, использующих Microsoft ядро СУБД (MSDE) или SQL Server. Рекомендуется использовать поставщик данных .NET Framework для OLE DB вместо поставщика OLE DB для SQL Server (SQLOLEDB). |
| Поставщик данных .NET Framework для OLE DB | Рекомендуется использовать поставщик данных .NET Framework для SQL Server вместо этого поставщика. Рекомендуется для одноуровневых приложений, использующих базы данных Microsoft Access. Базы данных Microsoft Access не рекомендуется использовать для приложений среднего уровня. |
| Поставщик данных .NET Framework для ODBC | Рекомендуется для приложений среднего уровня и одноуровневых приложений, использующих источники данных ODBC. |
| Поставщик данных .NET Framework для Oracle | Рекомендуется для приложений среднего уровня и одноуровневых приложений, использующих источники данных Oracle. |
Поставщик EntityClient
Поставщик EntityClient используется для доступа к данным на основе модели EDM (Entity Data Model). В отличие от других поставщиков данных .NET этот поставщик не взаимодействует с источником данных непосредственно. Вместо этого для взаимодействия с соответствующим поставщиком данных используется язык Entity SQL. Дополнительные сведения см. в разделе EntityClient Provider для Entity Framework.