Microsoft SQL 驅動程式與框架

適用於:SQL ServerAzure SQL 資料庫Azure SQL 受控執行個體Azure Synapse AnalyticsMicrosoft Fabric 中的 SQL 資料庫

應用程式使用驅動程式或資料提供者來連接 Microsoft SQL 產品。 許多應用程式也會在驅動程式之上使用框架、物件關聯映射器(ORM)或其他資料存取函式庫。

  • 驅動程式或提供者負責網路通訊、認證、指令、交易、參數與結果。
  • 框架或資料存取函式庫使用驅動程式或提供者,並加入物件映射、查詢產生、變更追蹤、遷移或與應用框架整合等功能。

先選擇適合你語言和平台的司機或服務提供者。 接著,如果你的應用程式需要更高階的程式設計模型,就選擇相容的框架或函式庫。 框架並不能取代底層驅動程式。

驅動程式的支援與框架的支援是分開的。 Microsoft 對驅動程式的支援不包含使用該驅動程式的第三方框架。

選擇駕駛人或供應商

下表列出本文件涵蓋的主要駕駛人與提供者。 請檢視連結的產品文件,涵蓋支援的作業系統、執行時版本、SQL 產品、認證方法及功能。

語言或平台 駕駛人或提供者 擁有權和支援
.NET Microsoft.Data.SqlClient Microsoft 提供新 .NET 開發的供應商。
C 和 C++ 適用於 SQL Server 的 Microsoft ODBC 驅動程式 Microsoft ODBC 驅動程式。
C 和 C++ 適用於 SQL Server 的 Microsoft OLE 資料庫驅動程式 Microsoft OLE DB 提供者。
Go Go-MSSQLDB 官方 Microsoft Go 驅動程式,實作了標準database/sql介面。
JAVA Microsoft JDBC SQL Server 驅動程式 Microsoft JDBC 驅動程式。
Node.js 無聊 社群支持的驅動程式。 Microsoft 有參與這個專案,但沒有 Microsoft 的支援。
PHP 適用於 SQL Server 的 Microsoft PHP 驅動程式 Microsoft SQLSRV 和 PDO_SQLSRV 擴充功能。 這些擴充功能使用 Microsoft ODBC Driver for SQL Server。
Python MSSQL-Python Microsoft Python 驅動程式。
Ruby TinyTDS 社群支持的驅動程式。 Ruby 和 TinyTDS 沒有 Microsoft 支援。

對於 Apache Spark,請使用內建的 Spark JDBC 資料來源,搭配 Microsoft JDBC Driver for SQL Server。 Microsoft SQL Spark 連接器已存檔,目前尚未積極開發中。

選擇框架或資料存取函式庫

下表列出透過提供者、介面卡或資料庫方言支援 Microsoft SQL 產品的框架與資料存取函式庫。 這份清單並不詳盡。

語言 框架或函式庫 Microsoft SQL 整合 擁有權和支援
.NET Entity Framework Core SQL Server提供者 Microsoft.Data.SqlClient 由 Microsoft 維護的 Entity Framework Core 提供者。
.NET Entity Framework 6 SQL Server 提供者 Microsoft.Data.SqlClient Microsoft 為現有 Entity Framework 6 應用程式提供服務。
.NET Dapper 延伸 ADO.NET DbConnection;搭配 Microsoft.Data.SqlClient 使用。 第三方微型ORM。
Go GORM go-mssqldb 第三方 ORM。 連結文章展示了如何使用其 Microsoft SQL 方言。
Go SQLX go-mssqldb 可透過對應與查詢輔助程式來擴充 database/sql 的第三方函式庫。
JAVA Hibernate ORM Microsoft SQL 方言於 JDBC 上;可搭配 Microsoft JDBC 驅動程式 for SQL Server 使用。 第三方 ORM。
Node.js 與 TypeScript Prisma ORM 內建 sqlserver 提供者;Prisma 7 可使用其 node-mssql 驅動程式轉接器。 第三方 ORM。
Node.js 與 TypeScript Sequelize 以 Tedious 為基礎的 Microsoft SQL 方言。 第三方 ORM。
Node.js 與 TypeScript TypeORM 以 node-mssql 和 Tedious 為基礎的 Microsoft SQL 資料來源。 第三方 ORM。
PHP Laravel Eloquent 使用 SQLSRV 和 PDO_SQLSRV 的 Microsoft SQL 連線。 第三方網頁框架與 ORM。
PHP DBAL 與 ORM 原則 Microsoft SQL 透過 pdo_sqlsrv 或 sqlsrv 驅動程式連線。 第三方資料庫抽象層與 ORM。
Python MSSQL-django mssql-python 或 pyodbc 於 mssql-django 2.0 中。 Microsoft Django 資料庫後端。
Python SQLAlchemy 這取決於所選的 Microsoft SQL 方言。 第三方工具包和ORM。 請檢視連結的整合指引及其版本要求。
Ruby Active Record SQL Server 介面卡 以 TinyTDS 為基礎的適用於 Ruby on Rails 的 Microsoft SQL 配接器。 由社群支援的轉接器。

當你評估一個框架或函式庫時:

  • 確認其提供者、介面卡或方言是否支援 Microsoft SQL 產品、認證方法及您的應用程式所需的功能。
  • 檢查框架的維護狀態、發布政策和支援管道。
  • 對於連線問題,請盡可能使用底層驅動程式重現該問題。 直接驅動程式的重現有助於判斷問題屬於驅動程式還是高階框架。