The following instructions assume you already have a SQL Server database running somewhere that your Mac has network access to. Just FYI, Microsoft's instructions for installing the latest drivers are here.
This redistributable installer for Microsoft ODBC Driver 13 for SQL Server installs the client components needed during run time to take advantage of new SQL Server 2016 feautres, and optionally installs the header files needed to develop an application that uses the ODBC API. Allow AutoUpdate to install updates. You do not need an ODBC driver to import a.csv file. On the Data tab of the Ribbon click the From Text button. Navigate to your.csv file and then click the Get Data button. In Step 2 of the wizard that opens, under Delimiters uncheck Tab and then do check Comma.
Install FreeTDS and unixODBC
Install Microsoft Odbc Driver Mac Free
Download ODBC Driver. This article explains how to install the Microsoft ODBC Driver for SQL Server on Linux and macOS, as well as the optional Command-Line Tools for SQL Server (bcp and sqlcmd) and the unixODBC Development Headers. Jun 19, 2018 Install microsoft excel odbc can use this dialog install microsoft excel odbc to do the following. Selecting this check box ensures that updates to the connection file will always be used by excfl workbooks that use that connection file, which must also have this property set. Microsoft ODBC Driver 17 for SQL Server is a single dynamic-link library (DLL) containing run-time support for applications using native-code APIs to connect to Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, Analytics Platform System, Azure SQL Database and Azure SQL Data Warehouse.
The connection to SQL Server will be made using the unixODBC driver manager and the FreeTDS driver. Installing them is most easily done using homebrew
, the Mac package manager:
Edit the freetds.conf configuration file
Microsoft ODBC Driver 13.1 for SQL Server is a single dynamic-link library (DLL) containing run-time support for applications using native-code APIs to connect to Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, Analytics Platform System, Azure SQL Database and Azure SQL Data Warehouse. Field Value; Driver: The name of the ODBC driver to use. Depending on the driver that you download for your architecture, the values is Amazon Redshift (x86) (for the 32-bit driver) or Amazon Redshift (x64) (for the 64-bit driver).
Ensure the freetds.conf
file is located in directory /usr/local/etc/
, which will be a symlink to the actual file as installed by Homebrew. Check the specific location of the freetds.conf
file by running tsql -C
. The default file already contains a standard example configuration, but all you need to do is add your server information to the end, as follows:
There are other key/value pairs that can be added but this shouldn't usually be necessary, see here for details. The host
parameter should be either the network name (or IP address) of the database server, or 'localhost' if SQL Server is running directly on your Mac (e.g. using Docker). A TDS version of 7.3 should be OK for SQL Server 2008 and newer, but bear in mind you might need a different value for older versions of SQL Server. For more information on TDS protocol versions see Choosing a TDS protocol version. Do not use TDS versions 8.0 or 9.0 though. Oddly, they are not newer than version 7.4. They are actually obsolete aliases for older TDS versions and their use is discouraged.
Test the connection using the tsql
utility, e.g. tsql -S MYMSSQL -U myuser -P mypassword
. If this works, you should see the following:
At this point you can run SQL queries, e.g. 'SELECT @@VERSION' but you'll need to enter 'GO' on a separate line to actually execute the query. Type exit
to get out of the interactive session.
Edit the odbcinst.ini and odbc.ini configuration files
Run odbcinst -j
to get the location of the odbcinst.ini
and odbc.ini
files (probably in the directory /usr/local/etc/
). Edit odbcinst.ini
to include the following:
Edit odbc.ini
to include the following:
Note, the 'Driver' is the name of the entry in odbcinst.ini
, and the 'Servername' is the name of the entry in freetds.conf
(not a network name). There are other key/value pairs that can be included, see here for details.
Check that all is OK by running isql MYMSSQL myuser mypassword
. You should see the following:
You can enter SQL queries at this point if you like. Type quit
to exit the interactive session.
Connect with pyodbc
It should now be possible to connect to your SQL Server database using pyodbc, for example:
Connecting without defining a DSN
If you don't want to define a DSN in odbc.ini
, you can reference the driver entry you added to odbcinst.ini
.
E.g.:
Note: in this case you may need to specify all necessary TDS parameters in pyodbc.connect
.
Connecting without modifying odbcinst.ini
or odbc.ini
If you want to avoid modifying both odbc.ini
and odbcinst.ini
, you can just specify the driver file location in the driver
param in pyodbc.connect
.
Install Microsoft Odbc Driver Mac Download
E.g.: