Microsoft ODBC Driver 17 for SQL Server is a cross-platform, standards-compliant driver that lets applications connect securely and performantly to SQL Server and Azure SQL databases.
ODBC Driver 17 is Microsoft’s current, fully supported connector for SQL Server across Windows, macOS, and Linux. It supports TLS 1.2+, Always Encrypted, Kerberos, Azure AD, and performance features like MARS and connection pooling.
ODBC Driver 17 is a native, C-based implementation of the Open Database Connectivity standard that exposes SQL Server features to any ODBC-compliant tool or language, including Python, R, C#, Java, and Galaxy’s SQL editor.
Driver 17 adds TLS 1.3 readiness, Azure Active Directory authentication, UTF-8 data type support, performance fixes, and long-term support. Older 13/11 drivers lack security patches and new protocol optimizations.
Download msodbcsql17.msi
from Microsoft, run the installer, accept the license, and verify with odbcad32.exe
. The setup registers the driver and enables DSN creation without a reboot.
Use Homebrew: brew tap microsoft/mssql-release && brew update && ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools
. Homebrew copies libmsodbcsql.17.dylib
into /usr/local/lib
and updates odbcinst.ini
.
Add Microsoft’s repo: curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
, then sudo apt-get update && sudo ACCEPT_EULA=Y apt-get install msodbcsql17
.
Open ODBC Data Source Administrator, click “System DSN,” add “ODBC Driver 17 for SQL Server,” then supply Server, Database, Authentication, and optionally Encrypt=yes;TrustServerCertificate=no.
import pyodbc
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};'
'SERVER=tcp:sql.demo.com,1433;'
'DATABASE=Sales;UID=app;PWD=Secr3t$;'
'Encrypt=yes;TrustServerCertificate=no;')
cur = conn.cursor()
cur.execute('SELECT TOP 5 * FROM Orders')
print(cur.fetchall())
Driver 17 negotiates TLS 1.2 by default, enforces certificate validation, and supports Always Encrypted with secure enclaves. Set ColumnEncryption=Enabled
to transparently decrypt protected columns.
Enable connection pooling (Pooling=yes
), batch inserts with fast_executemany=True
in pyodbc, and reduce network chatter via MultipleActiveResultSets=yes
(MARS) when you need concurrent cursors.
Galaxy’s desktop app detects installed ODBC drivers. Selecting “SQL Server (ODBC 17)” lets you reuse saved DSNs, benefit from Galaxy’s AI copilot, and share parameterized queries in Collections without manual DSN strings.
Handshake errors often stem from outdated OpenSSL libraries—upgrade libssl. “Driver not found” means odbcinst.ini
lacks the correct Driver=/path/libmsodbcsql-17.*
entry; re-run install scripts.
ODBC Driver 17 is the secure, future-proof way to connect to SQL Server. Install via official packages, use encrypted connections, and let tools like Galaxy streamline query authoring and sharing.
Reliable connectivity underpins every data pipeline. ODBC Driver 17 ensures secure, performant access to SQL Server from any language or BI tool, reducing latency and compliance risks. Upgrading avoids unpatched vulnerabilities and unlocks features like Always Encrypted and Azure AD authentication, which are mandatory in regulated industries.
Yes. Microsoft distributes the driver under a royalty-free license for production use on all supported platforms.
Yes, but advanced features like Always Encrypted will be ignored. Ensure you disable newer authentication options not supported by legacy servers.
Galaxy scans odbcinst.ini
(Unix) or the Windows registry at startup, then lists “ODBC Driver 17 for SQL Server” in the connection wizard.
Absolutely. Specify the IPv6 address in brackets, e.g., SERVER=[2603:1030:807:4::1]:1433
.