SQL Server ODBC driver
Are you struggling to manage your business due to a lack of decision-making information? Do you need to get to your SQL Server data in a reliable and resilient manner?
Our highly dependable SQL Server ODBC driver provides ODBC access to Microsoft SQL Server from Linux, UNIX, and Windows platforms, and unlike other "ported" solutions you might find, our SQL Server ODBC driver was written for these platforms.
We are proud to support all versions of SQL Server (including pre-2008 versions and SQL Server Express). Take a look at the technical description below for more information.
Leveraging the latest TDS protocols, we can communicate directly with remote SQL Server instances; ultimately improving the performance and scalability of the solution.
We are also keen to support you in your business and as such we allow you to leverage the full functionality of your SQL Server installation (for example, our driver supports both ApplicationFailover and Read-Only Routing from SQL Server 2012, In-Memory tables from SQL Server 2014, and AlwaysEncrypted columns from SQL Server 2016).
The SQL Server ODBC driver offers ODBC 3.8 support.
As with all of our drivers, you can download and trial this free for 14 days and our support team is always here for you with any difficulties or questions that you might have; once purchased you can enjoy 12 months free support.
ODBC driver for SQL Server 7.0, 2000, 2005, 2008, 2012, 2014, 2016, 2017, 2019, 2022, and Express
The SQL Server ODBC driver provides ODBC access to Microsoft SQL Server from Linux, UNIX, and Windows platforms. The SQL Server ODBC driver supports SQL Server 7.0–2022.
The SQL Server ODBC driver uses SQL Server's Tabular Data Stream (TDS) protocol to communicate directly with remote SQL Server instances. You install the SQL Server ODBC driver on the client machines from which you want to access SQL Server. No additional software needs to be installed on the SQL Server machine.
Connect to SQL Server from Linux, UNIX, and Windows
The SQL Server ODBC driver connects Linux, UNIX, and Windows applications to SQL Server 7.0–2022 and Express databases. Use the SQL Server ODBC driver to connect to SQL Server from Linux distributions such as Debian, Fedora, Mandrake, Red Hat, SUSE, and Ubuntu and UNIX platforms such as AIX, HP-UX, and Solaris. Download the SQL Server ODBC driver to connect Perl, PHP, Python, Ruby, C, and any other language, interface, or application that supports ODBC to SQL Server.
Easysoft ensure that the SQL Server ODBC driver supports the latest version of SQL Server as well as earlier versions of the database.
-
SQL Server 2022 support:
- Ledger tables Ledger tables are a security feature that provide tamper-evidence capabilities in your database. The SQL Server ODBC driver can work with ledger tables both in SQL Server 2022, and Azure.
-
SQL Server 2019 support:
- UTF-8 databases and columns UTF-8 collations can reduce the footprint of character data in SQL Server. To take advantage of these storage benefits, you need to ensure that your ODBC driver can work with UTF-8 encoded SQL Server data. The
UTF8DB
connection string attribute we've added to the SQL Server ODBC driver ensures that this is the case for our users.
- UTF-8 databases and columns UTF-8 collations can reduce the footprint of character data in SQL Server. To take advantage of these storage benefits, you need to ensure that your ODBC driver can work with UTF-8 encoded SQL Server data. The
-
SQL Server 2017 support:
- SSIS packages on Linux Use the SQL Server ODBC driver to run an SSIS package from a Linux machine.
- Graph databases Build and query tables that store graph entities from your Linux, UNIX, and Windows applications.
- Python integration Run Python scripts under SQL Server either from Python or any other ODBC-compliant application.
- Database engine enhancements Because ODBC is Microsoft's recommended interface for SQL Server, SQL Server ODBC driver users can automatically take advantage of database engine enhancements such as resumable online index rebuilds, the identity cache, adaptive query processing, and new SQL functions (for example,
TRIM
,CONCAT_WS
,TRANSLATE
, andSTRING_AGG
). - SQL Server on Linux Use the SQL Server ODBC driver to connect applications to the Linux port of SQL Server.
For more information about running an SSIS package on Linux, refer to this blog.
-
SQL Server 2016 support:
- Always Encrypted columns Protect SQL Server data with an encryption key that you generate, manage, store, and own.
- Dynamic data masking Protect SQL Server data by obscuring some or all of a column's contents. For example, expose the last four digits of a credit card number or obscure data held in a salary column.
- JSON support Exchange data between SQL Server and NoSQL databases.
- Row-level security Transparently filter rows from result sets when users are not authorised to access data held in those rows.
For more information about Always Encrypted columns, refer to this blog.
For more information about the other SQL Server 2016 features, refer to this blog.
SQL Server 2014 support:- In-memory tables Improve the performance of your online transaction processing (OLTP) applications.
- Updateable columnstore indexes SQL Server 2014 enhances columnstore indexes (which significantly improve performance for data warehousing types of queries) by allowing the underlying table to be updateable.
- New security permissions Facilitate the separation of duties to minimise the possibility of error and fraud, by distributing privileges among users or roles, so that no one user or role has complete control over a business process or a piece of software.
- Increased number of replicas Make full use of standby hardware by running read-only workloads on up to eight AlwaysOn Availability Group replicas.
-
SQL Server 2012 support:
- Contained databases Simplify the process of moving a database from one SQL Server instance to another.
- Sequence objects These operate the same way as an identity column, but the sequence numbers can span multiple tables.
- Statistical semantic search Provide insight into unstructured data stored in SQL Server databases.
- The
EXECUTE
statement'sWITH RESULT SETS
clause lets you specify the metadata returned from the SQL statement. - UTF-16 supplementary characters (SC) collations Work with Unicode supplementary character data.
- Additional User-defined server roles A useful security enhancement.
- New and enhanced spatial features, conversion functions, date and time functions, logical functions, and string functions.
-
SQL Server 2008 support:
GEOGRAPHY
andGEOMETRY
data types Access spatial data that's stored in a SQL Server database. Applications can use spatial data for a variety of tasks: retrieving the name of the salesperson who lives closest to a particular customer; calculating the optimal route for a pallet pick run; keeping track of the current locations of the participants in a multi-player game; predicting the arrival times of buses and trains; performing CAD modelling of an interior space.DATE
,TIME
,DATETIME2
, andDATETIMEOFFSET
data types TheDATE
andTIME
data types allow a date to be stored without a time value and vice versa, enabling you to work with just the point in time portion that you need. TheDATETIME2
references the Coordinated Universal Time (UTC) instead of the system time for greater accuracy. TheDATETIMEOFFSET
data type introduces time zone support, which helps organisations whose business is distributed globally develop applications that can handle time zone conversion between different locales.- FILESTREAM data type Store binary large object (BLOB) data externally on the Windows file system instead of in the database file.
FILESTREAM
data is still under the control of SQL Server, and so you retain database engine functionality such as backing up, restoring, and controlling access to the data while taking advantage of low-cost hardware to store the data. HIERARCHYID
data type Represent tree-like structures, such as organisational hierarchies, without the need for complex SQL.- Transparent Data Encryption The SQL Server ODBC driver can connect to databases that have been protected with Transparent Data Encryption (TDE), and, to complement this security feature, can also encrypt the network connection to the database.
- Data compression Access SQL Server databases that use row and page level compression to reduce the amount of storage space required to store their data.
- Transact-SQL enhancements The SQL Server ODBC driver supports the SQL Server 2008 enhancements to Transact-SQL functions (
CONVERT
,DATEPART
) and constructs (compound operators;GROUPING SETS
,ROLLUP
, andCUBE
operators;MERGE
statement; table-valued parameters; row constructors, which allow multiple value inserts within a singleINSERT
statement).
-
SQL Server 2005 support:
- Database mirroring The SQL Server ODBC driver maintains data availability by transparently connecting to the failover partner for a mirrored database if the initial partner is unavailable when an application connects.
- MARS The SQL Server ODBC driver supports Multiple Active Result Sets (MARS), enabling your applications to have more than one pending request per connection, and, in particular to have more than one default result set open per connection. The MARS feature removes the restriction present in earlier versions of SQL Server in which an open default result set blocks the driver from sending requests to the server until the entire result set is consumed.
- XML data type The SQL Server ODBC driver supports the XML data type, a SQL Server 2005 data type that allows ODBC applications to use an XQuery to query the contents of an XML document stored in SQL Server, check that the document conforms to an XML schema, and even modify the contents of the XML document in place.
- Large-value data types The SQL Server ODBC driver supports the
VARCHAR(MAX)
,NVARCHAR(MAX)
, andVARBINARY(MAX)
data types. These data types enable SQL Server to store and retrieve large character, Unicode, and binary data more efficiently. - Snapshot transaction isolation levels The SQL Server ODBC driver supports the snapshot isolation level. When reading rows modified by another transaction, snapshot isolation enables a user to retrieve the version of the rows that existed when the transaction started. Other transaction isolation levels can prevent a user from reading data until the (potentially long-running) transaction completes, even though the pre-transaction version of the data is sufficient for the user's needs.
- SQL Server Express The SQL Server ODBC driver supports SQL Server Express, the free, easy-to-use, lightweight version of SQL Server.
- Self-signed SSL certificates SQL Server 2005 can make SSL encryption available even if an SSL certificate has not been installed on the SQL Server machine. It does this by generating a self-signed SSL certificate. The SQL Server ODBC driver supports SSL encryption through either a self-signed certificate or a certificate issued by a certificate authority (CA).
In addition, the SQL Server ODBC driver provides these features:
- Easy access to SQL Server data The SQL Server ODBC driver installation leads you through the process of creating your first data source and tests the new data source by retrieving some remote SQL Server data.
- Detect available SQL Server instances The SQL Server ODBC driver includes a diagnostic program that uses the SQL Server Browser or SQL Server 2000 listener service to detect and report the SQL Server instances that are accessible from your client machine. You can therefore verify that your SQL Server instance is available before configuring your ODBC data source.
- Protect sensitive data by using SSL encryption The SQL Server ODBC driver lets you secure data transmitted across the network between your application and SQL Server database by using an encrypted SSL connection. This protects your private data from attackers who try to capture unencrypted data by using a packet sniffer.
- Bulk copy The SQL Server ODBC driver distribution includes a bulk copy program, which lets you import and export large amounts of data in and out of SQL Server databases from Linux and UNIX.
- Dynamic port detection SQL Server can listen for incoming requests on either a fixed or dynamically assigned port. By default, named instances listen on a dynamically assigned port, which means an available port is allocated when the instance starts. The SQL Server ODBC driver can detect the port used by an instance. This allows the SQL Server ODBC driver to connect to an instance that is listening on a dynamically assigned port — the driver will automatically find out the port the instance is currently using. The SQL Server ODBC driver can also connect to an instance that is listening on a fixed port. For example, use the SQL Server ODBC driver to access a SQL Server instance that is listening on a fixed port behind a firewall.
- Dynamic port detection SQL Server can listen for incoming requests on either a fixed or dynamically assigned port. By default, named instances listen on a dynamically assigned port, which means an available port is allocated when the instance starts. The SQL Server ODBC driver can detect the port used by an instance. This allows the SQL Server ODBC driver to connect to an instance that is listening on a dynamically assigned port — the driver will automatically find out the port the instance is currently using. The SQL Server ODBC driver can also connect to an instance that is listening on a fixed port. For example, use the SQL Server ODBC driver to access a SQL Server instance that is listening on a fixed port behind a firewall.
- Mixed mode authentication support The SQL Server ODBC driver supports both Windows and SQL Server authentication modes. This allows you to connect to SQL Server with either a Windows or a SQL Server user name and password.
- Kerberos authentication support The SQL Server ODBC driver's support for Kerberos provides the benefits of single sign-on and centralised authentication to SQL Server users. Single sign-on lets a user access multiple accounts and applications with a single password, entered during a single connection. This makes it unnecessary for users to remember multiple passwords and for security administrators to protect multiple password repositories, reducing the cost of managing user accounts. Centralised authentication means that password checking happens in one place. This makes it possible to prevent an unauthorised user from accessing all systems or to alter all access rights and privileges of an employee who is leaving the company by making one change in one place. In addition, client machines and database servers do need not to store any information that can be used to try to guess a password.
- XA support Can take part in distributed XA transactions.
- Access SQL Server from Perl, PHP, Python, Ruby and C Use the SQL Server ODBC driver with the Perl DBI and DBD::ODBC modules, PHP, PEAR DB, the Python mxODBC and pyodbc modules, Ruby, C and any other ODBC-enabled programming language or interface.
- Connect Linux and UNIX Applications to SQL Server Access SQL Server databases from Apache, ApplixWare, IBM UniVerse and UniData, Informatica, Lotus Notes and Domino, OpenOffice.org, StarOffice, SAS, and any other ODBC-enabled application.
- Connect Oracle on Linux, UNIX, and Windows to SQL Server Enable Oracle client applications to transparently access SQL Server data as if the data was stored in an Oracle table by connecting Oracle's Database Gateway for ODBC (DG4ODBC)/Heterogeneous Services ODBC agent (HSODBC) to the SQL Server ODBC driver. This transparent solution removes the need for application developers to customise their applications to integrate SQL Server data with Oracle, protecting your investment in existing applications.
- 32-bit and 64-bit SQL Server driver Both 32-bit and 64-bit versions of the SQL Server ODBC driver are available, where appropriate, which enables both 32-bit and 64-bit applications to access SQL Server.
- IPv6 ready The SQL Server ODBC driver supports Internet Protocol version 6 (IPv6) and can use IPv6 to connect to SQL Server 2005 instances running on either IPv6 or IPv4 and IPv6 dual stack machines. IPv6 was developed to replace the current version of IP, IPv4, primarily because the available IP address pool is being depleted due to the growth of the Internet. The impending shortage of IP addresses recently prompted the American Registry for Internet Numbers (ARIN) to call for a faster migration to IPv6. The US Government has recognised the need to move to IPv6 and has mandated that federal agencies make their core networks IPv6 compatible. This is part of a phased transition to IPv6, which will vastly increase the number of IP addresses available for government agency use as well as bringing the benefits of IPv6's new functionality such as improved performance through header format simplification. Whatever your organisation's plans for IPv6 migration are, you can be confident that the SQL Server ODBC driver is a future proof solution that provides Linux and UNIX to SQL Server connectivity in IPv4-only, IPv6-only, and mixed IPv4/IPv6 environments.
- ODBC 3.8 support The SQL Server ODBC driver complies with the ODBC 3.8 specification and supports streamed output parameters, which were introduced in ODBC 3.8. The SQL Server ODBC driver supports all ODBC 3.8 API calls. The driver also supports applications written using earlier versions of ODBC.
- Unicode support The SQL Server ODBC driver is a Unicode ODBC driver that provides both Unicode and ANSI access to SQL Server databases.
- unixODBC SQL Server driver The SQL Server ODBC driver is compatible with and includes unixODBC, the open-source ODBC Driver Manager for non-Windows platforms. The SQL Server ODBC driver installation can automatically install the driver into unixODBC, making the SQL Server ODBC driver immediately available to your ODBC applications. The unixODBC project is currently led by Easysoft developer Nick Gorham and we have many years of experience in supporting and testing our drivers with unixODBC.
- Thread-safety The SQL Server ODBC driver is thread-safe and therefore safe to use behind multi-threaded applications.
- ODBC diagnostic logging The SQL Server ODBC driver lets you generate diagnostic trace logs that help you troubleshoot problems by monitoring the ODBC calls your application makes.
Demos
Using Oracle to read data from SQL Server
Installing the SQL Server ODBC driver on a non-Windows platform
)Install SQL Server ODBC driver on Linux in under 60 seconds
Platforms
The SQL Server ODBC driver is currently available on these platforms:
Version | Platform | Distribution |
---|---|---|
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | AIX (PPC) (32 - Bit) | (4.3-7.2) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | AIX (PPC) (64 - Bit) | (5.0-7.2) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | HP-UX (Itanium i64) (32 - Bit) | (11i) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | HP-UX (Itanium i64) (64 - Bit) | (11i) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Linux (AArch64) (64 - Bit) | (Raspberry Pi, kernel 4.9.41-v7+, glibc 2.24+) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Linux (ARMv71) (32 - Bit) | (Raspberry Pi, kernel 4.9.41-v7+, glibc 2.24+) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Linux (x86) (32 - Bit) | (kernel 2.2-6.0+, glibc 2.1+) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Linux (x86) (64 - Bit) | (kernel 2.6-6.0+, glibc 2.3.5+) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Solaris (Sparc) (32 - Bit) | (2.6-2.11) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Solaris (Sparc) (64 - Bit) | (2.8-2.11) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Solaris (x86) (32 - Bit) | (2.8-2.11) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Solaris (x86) (64 - Bit) | (2.8-2.11) |
v2.2 (SQL Server 7.0 - 2022, SQL Azure) | Windows (x86) (32 - Bit, 64 - Bit) | (7, 8, 2012 R2, 10, 2016, 2019) |
v1.10 (SQL Server 7.0 - 2017, SQL Azure) | HP-UX (PA-Risc) (32 - Bit) | (10.10-11) |
v1.10 (SQL Server 7.0 - 2017, SQL Azure) | HP-UX (PA-Risc 2) (64 - Bit) | (11) |
v1.9 (SQL Server 7.0 - 2016, SQL Azure) | Linux (Itanium i64) (64 - Bit) | (kernel 2.4-3.0+, glibc 2.2.5) |
v1.5 (SQL Server 7.0 - 2012, SQL Azure) | Mac OS X (x86) (32 - Bit) | (10.4-10.8) |
v1.5 (SQL Server 7.0 - 2012, SQL Azure) | Mac OS X (x86) (64 - Bit) | (10.4-10.8) |