История драйверов для Microsoft SQL Server
На этой странице описываются все технологии Майкрософт для подключения к данным на сервере SQL Server.
ODBC
Есть три поколения Microsoft ODBC Driver for SQL Server. Первый драйвер ODBC "SQL Server" по-прежнему входит в состав компонентов доступа к данным Windows DAC. Этот драйвер не рекомендуется использовать в новых разработках. Начиная с SQL Server 2005 SQL Server Native Client содержит интерфейс ODBC и драйвер ODBC, поставляемый в составе версий от SQL Server 2005 до версии SQL Server 2012. Этот драйвер также не рекомендуется использовать в новых разработках. После SQL Server 2012 появился драйвер Microsoft ODBC Driver for SQL Server. Именно в него добавляются все новые серверные возможности и компоненты.
SQL Server Native Client
Sql Server Native Client — это автономная библиотека, используемая как для OLE DB, так и для ODBC. SQL Server Native Client (SNAC) входил в состав с SQL Server 2005 по SQL Server 2012. SQL Server Native Client можно использовать для приложений, которым нужны новые возможности, появившиеся в версиях с SQL Server 2005 до SQL Server 2012. (Компоненты доступа к данным Microsoft/Windows не обновляются для этих новых функций в SQL Server.) Для новых функций за пределами SQL Server 2012 sql Server Native Client не будет обновлен. Sql Server Native Client (SNAC) не поставляется с:- SQL Server 2022 (16.x) и более поздних версий — SQL Server Management Studio 19 и более поздних версий: SQL Server Native Client (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для разработки новых приложений. Для новых проектов используйте один из следующих драйверов: Драйвер Microsoft ODBC для MICROSOFT - OLE DB Driver for SQL Server for SQL Serverfor SQLNCLI, который поставляется в качестве компонента SQL Server ядро СУБД (версии 2012–2019), см. в этом исключении жизненного цикла поддержки.
Полное описание SQL Server Native Client см. в документации SQL Server Native Client.
Драйвер Microsoft ODBC для SQL Server
После SQL Server 2012 основной драйвер ODBC для SQL Server разрабатывается и выпускается как Microsoft ODBC Driver for SQL Server. Дополнительные сведения см. в документации Microsoft ODBC Driver for SQL Server.
OLE DB
Существует три поколения поставщиков Microsoft OLE DB для SQL Server. Microsoft OLE DB Provider for SQL Server (SQLOLEDB) по-прежнему поставляется в составе компонентов доступа к данным Windows. В этот поставщик не будут добавляться новые возможности, и его не рекомендуется использовать при разработке новых продуктов. Начиная с SQL Server 2005 SQL Server Native Client содержит интерфейс поставщика OLE DB (SQLNCLI) и является поставщиком OLE DB, который поставляется в версиях с SQL Server 2005 по SQL Server 2017. С 2011 года он считается устаревшим и мы не рекомендуем использовать этот драйвер для разработки новых приложений. В 2017 году технология доступа к данным OLE DB была объявлена рекомендуемой и на 2018 год был запланирован новый выпуск . В настоящее время поддерживается и поддерживается новый драйвер Microsoft OLE DB для SQL Server (MSOLEDBSQL ).
ADO.NET
ADO.NET — это набор классов, определяющих интерфейс для доступа к любым типам источников данных, как реляционных, так и нереляционных. ADO.NET впервые появился в составе платформы Microsoft.NET. Этот компонент продолжает поддерживаться и улучшаться в .NET. Библиотека SqlClient — это поставщик данных ADO.NET, который обеспечивает подключение к источникам данных SQL Server и SQL Azure.
System.Data.SqlClient
System.Data.SqlClient входит в состав .NET Framework и .NET Core. До 2019 года он получал регулярные обновления компонентов. После объявления о будущих планах по развитию .NET Core, .NET Framework и платформы .NET в целом потребовалось выделить разработку SqlClient в пакет за пределами .NET. System.Data.SqlClient по-прежнему поддерживается, но не получает обновления компонентов и не рекомендуется к использованию в новых разработках.
Microsoft.Data.SqlClient
Поставщик данных Microsoft SqlClient для SQL Server, представленный в 2019 году, является поставщиком данных ADO.NET, который поддерживает приложения, предназначенные для .NET Framework, .NET Core и .NET Standard. Дополнительные сведения о пространстве имен Microsoft.Data.SqlClient см. в разделе Microsoft ADO.NET для SQL Server.
JDBC
Драйвер Microsoft JDBC для SQL Server
Выпущенный в 2000 году драйвер Microsoft JDBC для SQL Server поддерживается и постоянно улучшается и по сей день. Исходный код этого драйвера был открыт в 2016 году. Актуальные сведения, в том числе сведения о загрузке драйвера, см. в статье Общие сведения о драйвере JDBC.
PHP
Драйверы Microsoft SQL Server для PHP
Выпущенные в 2009 году в составе проекта с открытым исходным кодом драйверы Microsoft SQL Server для PHP поддерживаются и постоянно улучшаются и по сей день. Актуальные сведения, в том числе сведения о загрузке драйвера для PHP, см. в статье Драйверы Microsoft SQL Server для PHP.
Node.js
Драйвер Microsoft SQL Server для Node.js
Драйвер Microsoft SQL Server для Node.js позволяет приложениям Node.js в Microsoft Windows и Microsoft Azure получать доступ к Microsoft SQL Server и базе данных SQL Microsoft Azure. Дальнейшая разработка этого драйвера больше не ведется. Создавать новые приложения с помощью драйвера Microsoft SQL Server для Node.js не рекомендуется.
Дополнительные сведения о драйвере Microsoft SQL Server для Node.js см. здесь.
Tedious
Сейчас Майкрософт поддерживает и помогает развивать модуль с открытым исходным кодом Tedious в Node.js. Этот модуль используется для подключения к SQL Server с помощью JavaScript. Дополнительные сведения см. в статье Драйвер Node.js для SQL Server.
Компоненты доступа к данным Microsoft или Windows
Компоненты доступа к данным Microsoft/Windows (MDAC/WDAC) поставляются вместе с Windows. Они обеспечивают обратную совместимость приложений, но не входят в текущий стек технологий SQL Server. Новые возможности в компоненты MDAC/WDAC добавляться не будут, и их не рекомендуется использовать для разработки новых приложений.
В этом документе стек MDAC/WDAC можно разделить на следующие компоненты с точки зрения технологий и продуктов:
- ADO (в том числе ADOMD и ADOX);
- OLE DB (в том числе основные службы OLE DB, поставщик OLE DB для SQL Server, поставщик OLE DB для Oracle, поставщик OLE DB для драйверов ODBC, поставщик Data Shape Provider и поставщик удаленных данных);
- ODBC (в том числе диспетчер драйверов ODBC, драйвер для SQL ODBC и драйвер для Oracle ODBC).
Компоненты MDAC/WDAC
MDAC/WDAC содержит следующие компоненты:
- ODBC: Интерфейс подключения к базе данных (ODBC) Microsoft Open Database Connectivity (ODBC) — это интерфейс языка программирования C, позволяющий приложениям получать доступ к данным из различных видов систем управления базами данных (СУБД). Приложения, использующие этот API-интерфейс, ограничены только доступом к реляционным источникам данных.
- OLE DB: OLE DB — это набор com-интерфейсов для доступа к данным в различных типах хранилищ данных. Поставщики OLE DB дают возможность работать с данными в базах данных, файловых системах, хранилищах сообщений, службах каталогов, рабочих процессах и хранилищах документов.
- ADO: Объекты данных ActiveX (ADO) предоставляет модель программирования высокого уровня. Несмотря на то, что ADO дает чуть меньшую производительность, чем код для OLE DB или ODBC, ADO легко освоить и использовать. Этот компонент можно использовать в языках сценариев, таких как Microsoft Visual Basic Scripting Edition (VBScript) или Microsoft JScript.
- ADOMD: ADO многомерных данных (ADOMD) будет использоваться с поставщиками многомерных данных, такими как поставщик Microsoft OLAP, также известный как поставщик Microsoft Analysis Services. С момента выпуска MDAC 2.0 существенные улучшения в компонент не вносились.
- ADOX: расширения ADO для DDL и безопасности (ADOX) позволяют создавать и изменять определения базы данных, таблицы, индекса или хранимой процедуры. ADOX можно использовать с любым поставщиком. Поставщик OLE DB для Microsoft Jet обеспечивает полную поддержку ADOX, а поставщик OLE DB для Microsoft SQL Server предоставляет ограниченную поддержку.
- Сетевые библиотеки Microsoft SQL Server: сетевые библиотеки SQL Server позволяют SQLOLEDB и SQLODBC взаимодействовать с базой данных SQL Server. Следующие сетевые библиотеки SQL Server устарели в выпусках MDAC/WDAC: Banyan Vines, AppleTalk, ServerNet, IPX/SPX, Giganet и RPC. TCP/IP и именованные каналы будут по-прежнему поддерживаться. Кроме того, они доступны в 64-разрядной ОС Windows.
- MSDASQL: Поставщик Microsoft OLE DB для ODBC (MSDASQL) позволяет приложениям, созданным в OLE DB и ADO (который внутренне используется OLEDB) обращаться к источникам данных посредством драйвера ODBC. MSDASQL — это поставщик OLEDB, который подключается к ODBC, а не к базе данных. Он предназначен как мост от OLE DB к драйверу ODBC, если прямой поставщик OLE DB не существует для источника данных. MSDASQL поставляется с операционной системой Windows. Первыми выпусками Windows, содержащими 64-разрядную версию технологии, были Windows Server 2008 и Vista с пакетом обновления 1 (SP1).
Нерекомендуемые компоненты MDAC/WDAC
Эти компоненты по-прежнему поддерживаются в текущем выпуске MDAC/WDAC, но в будущих выпусках они могут быть удалены. Майкрософт рекомендует не использовать эти компоненты при разработке новых приложений. Кроме того, при обновлении или изменении существующих приложений удалите все зависимости от этих компонентов.
SQLOLEDB: Поставщик Microsoft OLE DB для SQL Server (SQLOLEDB), которая поддерживает доступ к Microsoft SQL Server, является устаревшим. Возможность подключения к будущим версиям SQL Server не гарантируется. Возможность подключения к версиям, предшествующим SQL Server 7, будет удалена из операционных систем, вышедшим после Windows 7. Новые приложения должны использовать драйвер Microsoft OLE DB для SQL Server (MSOLEDBSQL), который поддерживает новые возможности SQL Server. Существующие приложения нужно перевести на драйвер Microsoft OLE DB для SQL Server, чтобы улучшить производительность, надежность и возможности поддержки. Дополнительные сведения см. в статье Updating an Application to OLE DB Driver for SQL Server from MDAC (Обновление приложения с переходом с MDAC на драйвер OLE DB для SQL Server).
SQLODBC: Драйвер ODBC Microsoft SQL Server (SQLODBC), поддерживающий доступ к Microsoft SQL Server, устарел. Возможность подключения к будущим версиям SQL Server не гарантируется. Возможность подключения к версиям, предшествующим SQL Server 7, будет удалена из операционных систем, вышедшим после Windows 7. Новые приложения должны использовать Microsoft ODBC Driver for SQL Server в Windows, который поддерживает новые возможности SQL Server. Существующие приложения нужно перевести на драйвер Microsoft ODBC Driver for SQL Server, чтобы улучшить производительность, надежность и возможности поддержки. Соответствующие сведения см. в статье Updating an Application to SQL Server Native Client from MDAC (Обновление приложения с переходом с MDAC на SQL Server Native Client).
Microsoft Jet ядро СУБД 4.0: начиная с версии 2.6 MDAC больше не содержит компоненты Jet. Другими словами, MDAC 2.6, 2.7 и 2.8 не содержат Microsoft Jet, поставщик OLE DB для Microsoft Jet, драйверы базы данных ODBC для настольных систем и объекты Jet Data Access Objects (DAO).
64-разрядные версии ядра СУБД Jet, драйвера Jet OLEDB, драйвера Jet ODBC и Jet DAO не существуют. Дополнительные сведения см. в статье базы знаний 957570. В 64-разрядных версиях Windows 32-разрядная версия Jet выполняется в подсистеме Windows WOW64. Дополнительные сведения о WOW64 см. в разделе Документация MSDN по WOW64. Нативные 64-разрядные приложения не могут взаимодействовать с 32-разрядными драйверами Jet, работающими в WOW64.
Для разработки новых приложений, которые не используют Microsoft Access и которым требуется реляционное хранилище данных, вместо Microsoft Jet мы рекомендуем использовать Microsoft SQL Server Express Edition. Эти новые или преобразованные приложения могут продолжать использовать Jet с целью использования файлов Microsoft Office 2003 и более ранних версий (MDB и XLS) для неосновного хранилища данных. Однако для этих приложений следует запланировать переход с Jet на ядро СУБД Microsoft Access. Вы можете скачать ядро СУБД Microsoft Access, который позволяет считывать и записывать файлы в существующие файлы в office 2003 (.mdb и .xls) или в форматы файлов Office 2007 (
*.accdb
,*.xlsm
*.xlsx
и*.xlsb
) .Внимание
Ознакомьтесь с лицензионным соглашением для конечных пользователей системы Office 2007 на предмет особых ограничений использования.
Примечание.
Приложения SQL Server также могут получить доступ к файлам системы Office 2007 и более ранней версии из подключений к разнородным данным SQL Server и возможностей служб интеграции, с помощью драйвера системы Office 2007. Кроме того, 64-разрядные приложения SQL Server могут получать доступ к 32-разрядным файлам Jet и системы Office 2007, используя 32-разрядные службы SQL Server Integration Services (SSIS) в 64-разрядной среде Windows.
Поставщик MICROSOFT OLE DB для формирования данных (MSDADS): с помощью MSDADS можно создавать иерархические связи между ключами, полями или наборами строк в приложении. С момента выпуска MDAC 2.1 в него не вносились существенные улучшения. Этот поставщик является нерекомендуемым. Корпорация Майкрософт рекомендует использовать XML вместо MSDADS.
Oracle ODBC и Oracle OLE DB: драйвер Microsoft Oracle ODBC (Oracle ODBC) и поставщик OLE DB для Oracle (Майкрософт) (Oracle OLE DB) предоставляют доступ к серверам баз данных Oracle. Они создаются с помощью интерфейса Oracle Call Interface (OCI) версии 7 и обеспечивают полную поддержку Oracle 7. Кроме того, он использует эмуляцию Oracle 7, чтобы предоставить ограниченную поддержку для баз данных Oracle 8. Oracle больше не поддерживает приложения, использующие OCI версии 7. Эти технологии являются нерекомендуемыми. При использовании источников данных Oracle следует перейти на предоставляемый Oracle драйвер и поставщик.
Удаленные службы данных (RDS): RDS — это собственный механизм Майкрософт для доступа к удаленным объектам набора записей ADO через Интернет или интрасеть. Технология RDS является нерекомендуемой; существенные изменения в возможности RDS 2.1 не вносились. Корпорация Майкрософт выпустила .NET Framework, которая обладает широкими возможностями SOAP и заменяет компоненты RDS. После Windows 7 все серверные компоненты RDS будут удалены из операционной системы.
Объекты репликации Jet (JRO): JRO не рекомендуется. JRO используется в базах данных ADO с базами данных Jet (.mdb) для создания и сжатия баз данных Jet (.mdb) и управления репликацией Jet. MDAC 2.7 будет последним выпуском. JRO не будет доступен в 64-разрядной операционной системе Windows. JRO не поддерживается в формате файла Microsoft Access 2007 (ACCDB).
16-разрядная поддержка ODBC: если вы используете 16-разрядные приложения, следует перенести в 32-разрядное приложение. 16-разрядные функции являются нерекомендуемыми и удаляются из 64-разрядных операционных систем. Дополнительные сведения см. в статье базы знаний 896458.
Простой поставщик OLEDB (MSDAOSP): OLEDB Simple Provider предлагает платформу для быстрого создания поставщиков OLE DB по простым данным. MSDAOSP является нерекомендуемым.
Библиотека курсоров ODBC: библиотека курсоров ODBC (ODBCCR32.dll) предоставляет ограниченные клиентские курсоры данных. Библиотека курсоров ODBC является нерекомендуемой; в качестве замены приложение может использовать реализации курсоров на стороне сервера.
Удаленное взаимодействие интерфейса OLE DB: удаленное взаимодействие с интерфейсом OLEDB (msdaps.dll) было попыткой разрешить поставщикам OLE DB выйти из процесса. Удаленное взаимодействие OLE DB интерфейса вне процесса не рекомендуется.
Сетевые библиотеки AppleTalk и Banyan Vines SQL: Banyan Vines, AppleTalk, ServerNet, IPX/SPX, Giganet и RPC SQL не рекомендуется. Если вы используете любую из этих технологий, следует изменить приложения так, чтобы они использовали одну из других сетевых библиотек, например TCP/IP и именованный канал.
Выпуски MDAC/WDAC
Ниже приведен список сценариев поддержки для прошлых выпусков MDAC/WDAC, начиная с самого раннего.
MDAC 1.5, MDAC 2.0 и MDAC 2.1: эти версии MDAC были независимыми выпусками, выпущенными с помощью пакета параметров Microsoft Windows NT, пакета SDK платформы Microsoft Windows или веб-сайта MDAC. Эти версии MDAC больше не поддерживаются.
MDAC 2.5: Эта версия MDAC вошло в состав операционной системы Windows 2000. Пакеты обновления MDAC 2.5 входили в состав соответствующих пакетов обновлений для Windows 2000.
Компоненты MDAC 2.6: MDAC 2.6 RTM, SP1 и SP2 входили в состав Microsoft SQL Server 2000 RTM, SP1 и SP2, соответственно. Кроме того, эти пакеты обновления MDAC были выпущены на веб-узле MDAC в соответствии с графиком выпуска пакетов обновлений для Microsoft SQL Server 2000. Эту версию MDAC и ее пакеты обновления можно установить на платформах Windows 2000, Windows Millennium Edition, Windows NT, Windows 95 и Windows 98. Эта версия MDAC больше не поддерживается.
MDAC 2.7: Эта версия MDAC вошло в состав операционных систем Microsoft Windows XP RTM и SP1. Эту версию MDAC и ее пакеты обновления можно установить на платформах Windows 2000, Windows Millennium Edition, Windows NT и Windows 98. Эту версию можно установить на платформе Windows XP только с помощью операционной системы или ее пакетов обновлений. Эта версия MDAC больше не поддерживается.
MDAC 2.8: Эта версия MDAC был вместе с Windows Server 2003 и Windows XP SP2 и более поздних версий. Вы также можете установить эту версию MDAC и ее пакеты обновления в Windows 2000.
- 32-разрядная версия MDAC 2.8 также была выпущена на веб-узле MDAC одновременно с выпуском Windows Server 2003 для клиентов.
- 64-разрядная версия MDAC 2.8 была выпущена с 64-разрядными версиями Windows Server 2003 и Windows XP.
Компоненты доступа к данным Windows (WDAC): MDAC изменил свое имя на WDAC — "Компоненты доступа к данным Windows" начиная с Windows Vista и Windows Server 2008. WDAC входит в состав операционной системы и недоступен отдельно для повторного распространения. Обслуживание WDAC определяется жизненным циклом операционной системы.
32-разрядная и 64-разрядная версии WDAC выпускаются с 32-разрядными и 64-разрядными версиями операционных систем Windows соответственно.
Устаревшие технологии доступа к данным
Устаревшие технологии — это технологии, которые не были улучшены или обновлены в нескольких выпусках продукта и которые будут исключены из будущих выпусков продуктов. Не используйте эти технологии при написании новых приложений. При изменении существующих приложений, написанных с помощью этих технологий, рекомендуем перенести эти приложения на ADO.NET или другую текущую технологию.
Устаревшими считаются следующие компоненты:
- DB-Library: DB-Library — это модель программирования связанные с SQL Server, который включает API C. С момента выхода SQL Server 6.5 в библиотеке DB-Library улучшения в возможности не вносились. Его последний выпуск — SQL Server 2000, и он не будет перенесен в 64-разрядную операционную систему Windows.
- Внедренный SQL (E-SQL): E-SQL — это модель программирования, зависящую от SQL Server, которая позволяет внедрять инструкции Transact-SQL в код Visual C. Начиная с SQL Server 6.5, в E-SQL улучшения в возможности не вносились Его последний выпуск — SQL Server 2000, и он не будет перенесен в 64-разрядную операционную систему Windows.
- Объекты доступа к данным (DAO): DAO предоставляет доступ к базам данных JET (Access). Этот программный интерфейс можно использовать в языках Microsoft Visual Basic, Microsoft Visual C++, а также в языках сценариев. Он входил в состав Microsoft Office 2000 и Office XP. DAO 3.6 — это последняя версия этой технологии. Он не будет доступен в 64-разрядной операционной системе Windows.
- Удаленные объекты данных (RDO): RDO был разработан специально для доступа к удаленным источникам реляционных данных ODBC и упрощает использование ODBC без сложного кода приложения. Она входила в состав Microsoft Visual Basic версий 4, 5 и 6. RDO версии 2.0 была последней версией этой технологии.
- System.Data.OracleClient: System.Data.OracleClient предоставляет доступ к серверам баз данных Oracle. Он был создан с помощью Интерфейса вызова Oracle (OCI) версии 7 и первоначально предоставил полную поддержку Oracle 7. Она использует эмуляцию Oracle 7 для обеспечения ограниченной поддержки баз данных Oracle 8i. Oracle больше не поддерживает приложения, использующие OCI версии 7. В результате System.Data.OracleClient официально не поддерживается для использования в Oracle 9i или более поздней версии. Эти технологии являются нерекомендуемыми. Если вы используете источники данных Oracle, необходимо перейти на поставщик данных Oracle для .NET (ODP.NET), который поддерживается с используемой версией Oracle Server. Пространство имен System.Data.OracleClient официально устарело в платформа .NET Framework 4.0 и больше не поддерживается.
Получение справки
- Идеи об SQL. Есть рекомендации по улучшению SQL Server?
- Вопросы и ответы по продуктам Майкрософт (SQL Server)
- DBA Stack Exchange (тег sql-server): вопросы о SQL Server
- Stack Overflow (тег sql-server): ответы на вопросы о разработке SQL
- Reddit: общие сведения о SQL Server
- Условия лицензии и информация о Microsoft SQL Server
- Варианты поддержки для бизнес-пользователей
- Дополнительная справка и отзывы по SQL Server
Примите участие в разработке документации по SQL
Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.
Дополнительные сведения см. в разделе Участие в работе над документацией по SQL Server.