Connection modules for Microsoft SQL Database

This article provides download links to connection modules or drivers that your client programs can use for interacting with Microsoft SQL Server, and with its twin in the cloud Azure SQL Database. Drivers are available for a variety of programming languages, running on the following operating systems:

  • Linux
  • macOS
  • Windows

OOP-to-relational mismatch:

Relational: Client programs that are written in an object-oriented programming (OOP) language often use SQL drivers, which return queried data in a format that is more relational than object oriented. C# using ADO.NET is one example. The OOP-relational format mismatch sometimes makes the OOP code harder to write and understand.

ORM: Other drivers or frameworks return queried data in the OOP format, avoiding the mismatch. These drivers work by expecting that classes have been defined to match the data columns of particular SQL tables. The driver then performs the object-relational mapping (ORM) to return queried data as an instance of a class. Microsoft's Entity Framework (EF) for C#, and Hibernate for Java, are two examples.

The present article devotes separate sections to these two kinds of connection drivers.

Drivers for relational access

Language Download the SQL driver
C# ADO.NET
Microsoft.Data.SqlClient
.NET Core for: Linux-Ubuntu, macOS, Windows
Entity Framework Core
Entity Framework
C++ ODBC

OLE DB
Java JDBC
Node.js Node.js driver, install instructions
PHP PHP
Python pyodbc, install instructions
Download ODBC
Ruby Ruby driver, install instructions
Ruby download page

Drivers for ORM access

The following table lists examples of Object Relational Mapping (ORM) frameworks that client applications use to connect to Microsoft SQL Database.

Language ORM driver download
C# Entity Framework Core
Entity Framework (6.x or later)
Java Hibernate ORM
PHP Eloquent ORM, included in Laravel install
Node.js Sequelize ORM
Prisma
Python Django
Ruby Ruby on Rails

Build-an-app webpages

https://aka.ms/sqldev takes you to a set of Build-an-app webpages. The webpages provide information about numerous combinations of programming language, operating system, and SQL connection driver. Among the information provided by the Build-an-app webpages are the following items:

  • Details about how to get started from the very beginning, for each combination of language + operating system + driver.
    • Instructions for installing the latest SQL connection drivers.
  • Code examples for each of the following items:
    • Object-relational code examples.
    • ORM code examples.
    • Columnstore index demonstrations for much faster performance.

First page, of Build-an-app webpages:
Build-an-app webpages, first page screenshot

Menu for Java - Ubuntu, of Build-an-app webpages
Build-an-app webpages, menu Java Ubuntu