How to get started developing applications for SQL Server on Linux

Applies to: SQL Server - Linux

You can create applications that connect to and use SQL Server on Linux from various programming languages, such as C#, Java, Node.js, PHP, Python, Ruby, and C++. You can also use popular web frameworks and Object Relational Mapping (ORM) frameworks.

Tip

These same development options also enable you to target SQL Server on other platforms. Applications can target SQL Server running on-premises or in the cloud, on Linux, Windows, or Docker on macOS. Or you can target Azure SQL Database and Azure Synapse Analytics.

Try the tutorials

The best way to get started and build applications with SQL Server is to try it out for yourself.

  • Browse to SQL Data Developer.
  • Select your language and development platform.
  • Try the code samples.

Tip

If you want to develop for SQL Server on Docker, take a look at the macOS tutorials.

Create new applications

If you're creating a new application, refer to the Connectivity libraries and frameworks for Microsoft SQL Server, for a summary of the connectors and popular frameworks available for various programming languages.

Use existing applications

If you have an existing database application, you can change its connection string to target SQL Server on Linux. For more information, see SQL Server on Linux: Known issues.

Use existing SQL tools on Windows with SQL Server on Linux

Tools that currently run on Windows such as SSMS, SSDT, and PowerShell, also work with SQL Server on Linux. Although they don't run natively on Linux, you can still manage remote SQL Server instances on Linux.

See the following articles for more information:

Note

Make sure that you're using the latest versions of these tools for the best experience.

Use new SQL tools for Linux

You can use the mssql extension for Visual Studio Code on Linux, macOS, and Windows. For a step-by-step walkthrough, see the following tutorial:

You can also use command-line tools that are native for Linux. These tools include the following: