적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft 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 DB 드라이버 | Microsoft OLE DB 제공자. |
| 가라 | Go-MSSQLDB | 표준 database/sql 인터페이스를 구현한 공식 Microsoft Go 드라이버입니다. |
| 자바 | SQL Server용 Microsoft JDBC Driver | Microsoft JDBC 드라이버. |
| Node.js | 지루하네요 | 커뮤니티 지원 운전자. Microsoft도 프로젝트에 기여하지만, Microsoft 지원은 제공되지 않습니다. |
| PHP | SQL Server용 PHP용 Microsoft 드라이버 | Microsoft SQLSRV와 PDO_SQLSRV 확장 기능입니다. 확장 프로그램은 Microsoft ODBC Driver for SQL Server를 사용합니다. |
| 파이썬 | mssql-python | Microsoft Python 드라이버 |
| 루비 | 타이니TDS | 커뮤니티 지원 운전자. 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입니다. |
| 가라 | GORM | go-mssqldb |
서드파티 ORM. 링크된 기사는 Microsoft SQL 방언 사용 방법을 보여줍니다. |
| 가라 | SQLx | go-mssqldb |
database/sql을 확장하는 매핑 및 쿼리 도우미를 제공하는 타사 라이브러리입니다. |
| 자바 | Hibernate ORM | Microsoft SQL 방언을 JDBC에 적용; Microsoft JDBC 드라이버 for SQL Server와 함께 사용할 수 있습니다. | 서드파티 ORM. |
| Node.js 및 TypeScript | 프리즈마 ORM |
sqlserver 내장 공급자; Prisma 7은 해당 node-mssql 드라이버 어댑터를 사용할 수 있습니다. |
서드파티 ORM. |
| Node.js 및 TypeScript | Sequelize | Microsoft SQL 방언은 Tedious를 기반으로 합니다. | 서드파티 ORM. |
| Node.js 및 TypeScript | TypeORM |
node-mssql 및 Tedious 기반 Microsoft SQL 데이터 소스 |
서드파티 ORM. |
| PHP | 라라벨 웅변가 | Microsoft SQLSRV와 PDO_SQLSRV를 통한 SQL 연결. | 서드파티 웹 프레임워크와 ORM. |
| PHP | DBAL 및 ORM 교리 |
sqlsrv 또는 pdo_sqlsrv 드라이버를 통한 Microsoft SQL 연결 |
서드파티 데이터베이스 추상화 계층과 ORM. |
| 파이썬 | MSSQL-django |
mssql-python 또는 pyodbc MSSQL-django 2.0에서도 가능합니다. |
Microsoft Django 데이터베이스 백엔드. |
| 파이썬 | SQLAlchemy | 선택한 Microsoft SQL 방언에 따라 다릅니다. | 서드파티 툴킷과 ORM. 링크된 통합 지침과 버전 요구사항을 검토하세요. |
| 루비 | 액티브 레코드 SQL Server 어댑터 | TinyTDS 기반의 Ruby on Rails용 Microsoft SQL 어댑터 | 커뮤니티 지원 어댑터입니다. |
프레임워크나 라이브러리를 평가할 때:
- 해당 제공업체, 어댑터 또는 방언이 Microsoft SQL 제품, 인증 방법 및 애플리케이션에 필요한 기능을 지원하는지 확인하세요.
- 프레임워크의 유지보수 상태, 릴리스 정책, 지원 채널을 확인하세요.
- 연결 문제의 경우, 가능하면 기본 드라이버에서 문제를 재현하세요. 직접 드라이버 재생산은 해당 문제가 드라이버에 속하는지 상위 프레임워크에 속하는지 판단하는 데 도움을 줍니다.