Драйверы и фреймворки Microsoft SQL

Область применения:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsБаза данных SQL в Microsoft Fabric

Приложения используют драйвер или провайдер данных для подключения к продуктам Microsoft SQL. Многие приложения также используют фреймворк, средство объектно-реляционного сопоставления (ORM) или другую библиотеку доступа к данным поверх драйвера.

  • Драйвер или провайдер отвечает за сетевую коммуникацию, аутентификацию, команды, транзакции, параметры и результаты.
  • Фреймворк или библиотека доступа к данным использует драйвер или провайдера и добавляет такие возможности, как отображение объектов, генерация запросов, отслеживание изменений, миграции или интеграция с фреймворком приложений.

Сначала выберите водителя или провайдера для вашего языка и платформы. Затем, если вашему приложению нужна модель программирования более высокого уровня, выберите совместимую структуру или библиотеку. Фреймворк не заменяет основной драйвер.

Поддержка драйвера и поддержка фреймворка — это отдельные вещи. Поддержка драйвера Microsoft не включает поддержку стороннего фреймворка, использующего этот драйвер.

Выберите водителя или поставщика услуг

В следующей таблице перечислены основные драйверы и поставщики, охваченные этой документацией. Ознакомьтесь с привязанной документацией продукта по поддерживаемым операционным системам, версиям runtime, продуктам SQL, методам аутентификации и функциям.

Язык или платформа Водитель или провайдер Владение и поддержка
.NET Microsoft.Data.SqlClient Microsoft — поставщик для новой разработки .NET.
C и C++ Драйвер Microsoft ODBC для SQL Server Microsoft ODBC драйвер.
C и C++ Драйвер Microsoft OLE DB для SQL Server Microsoft OLE DB провайдер.
Иди go-mssqldb Официальный драйвер Microsoft Go, реализующий стандартные database/sql интерфейсы.
Ява Драйвер Microsoft JDBC для SQL Server Драйвер Microsoft JDBC.
Node.js Скучно Водитель, поддерживаемый сообществом. Microsoft участвует в проекте, но для него нет поддержки Microsoft.
PHP Драйверы Microsoft SQL Server для PHP Расширения Microsoft SQLSRV и PDO_SQLSRV. Расширения используют драйвер Microsoft ODBC для SQL Server.
Питон mssql-python Драйвер Python от Microsoft
Руби TinyTDS Водитель, поддерживаемый сообществом. Ruby и TinyTDS не поставляются с поддержкой Microsoft.

Для Apache Spark используйте встроенный источник данных Spark JDBC с Microsoft JDBC Driver for SQL Server. Коннектор Microsoft SQL Spark архивирован и не находится в активной разработке.

Выберите фреймворк или библиотеку доступа к данным

В следующей таблице перечислены фреймворки и библиотеки доступа к данным, поддерживающие продукты Microsoft SQL через провайдера, адаптера или диалект базы данных. Список не является исчерпывающим.

Язык Фреймворк или библиотека Интеграция Microsoft SQL Владение и поддержка
.NET Провайдер SQL Server для Entity Framework Core Microsoft.Data.SqlClient Провайдер в Entity Framework Core, поддерживаемый Microsoft.
.NET Провайдер SQL Server Entity Framework 6 Microsoft.Data.SqlClient Microsoft — поставщик существующих приложений Entity Framework 6.
.NET Dapper Расширяет ADO.NET DbConnection; используется с Microsoft.Data.SqlClient. Сторонний микро-ORM.
Иди GORM go-mssqldb Сторонний ORM. В ссылке показано, как использовать его диалект Microsoft SQL.
Иди sqlx go-mssqldb Сторонняя библиотека, расширяющая database/sql средствами сопоставления и вспомогательными средствами для запросов.
Ява Hibernate ORM Диалект Microsoft SQL для JDBC; используется с Microsoft JDBC Driver for SQL Server. Сторонний ORM.
Node.js и TypeScript Prisma ORM Встроенный sqlserver провайдер; Prisma 7 может использовать свой node-mssql драйверный адаптер. Сторонний ORM.
Node.js и TypeScript Sequelize Диалект Microsoft SQL, основанный на Tedious. Сторонний ORM.
Node.js и TypeScript TypeORM Источник данных Microsoft SQL на основе node-mssql и Tedious. Сторонний ORM.
PHP Laravel Eloquent Подключение к Microsoft SQL через SQLSRV и PDO_SQLSRV. Сторонний веб-фреймворк и ORM.
PHP Doctrine DBAL и ORM Подключение к Microsoft SQL через драйвер pdo_sqlsrv или sqlsrv. Сторонний слой абстракции баз данных и ORM.
Питон mssql-django mssql-python Или pyodbc в MSSQL-Django 2.0. Бэкенд базы данных Django для Microsoft
Питон SQLAlchemy Зависит от выбранного диалекта Microsoft SQL. Сторонний набор инструментов и ORM. Ознакомьтесь с руководством по интеграции, указанным по ссылке, и требованиями к его версии.
Руби Адаптер Active Record для SQL Server Адаптер Microsoft SQL для Ruby on Rails на базе TinyTDS. Адаптер, поддерживаемый сообществом.

Когда вы оцениваете фреймворк или библиотеку:

  • Убедитесь, что его провайдер, адаптер или диалект поддерживает продукт Microsoft SQL, метод аутентификации и функции, необходимые вашему приложению.
  • Проверьте статус поддержки фреймворка, политику релиза и канал поддержки.
  • При проблемах с подключением воспроизводите проблему с базовым драйвером, когда это возможно. Воспроизведение проблемы напрямую через драйвер помогает определить, связана ли проблема с драйвером или с высокоуровневым фреймворком.