reosoftproductions.com
RODNEY AND ARLYN'S WEB SITE

Linux and ODBC

Linux Linux and ODBC

Linux and ODBC

https://msdn.microsoft.com/library/hh568451(SQL.110).aspx
https://msdn.microsoft.com/en-us/data/ff658532.aspx
https://msdn.microsoft.com/en-us/library/hh568451(v=sql.110).aspx

The ODBC driver for SQL Server allows native applications (C/C++) running on Linux to connect to SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, and Microsoft Azure SQL Database.

Installing the Driver Manager

Delete any driver manager packages installed on your computer before you install the unixODBC Driver Manager. Installing the unixODBC Driver Manager could cause a failure of an existing Driver Manager.

Using the Installation Script

Ensure you have the correct package by downloading from one of the following locations and selecting version 13.

Microsoft ODBC Driver 13 (Preview) and 11 for SQL Server - Red Hat Linux

Make sure that you have root permission.

Go to the directory where the Microsoft SQL Server ODBC Driver download placed the file called msodbcsql-13.0.0.0.tar.gz. Make sure that you have the *.tar.gz file that matches your version of Linux. To extract the files, execute the following command:

tar xvzf msodbcsql-13.0.0.0.tar.gz
msodbcsql-13.0.0.0/
msodbcsql-13.0.0.0/lib64/
msodbcsql-13.0.0.0/lib64/libmsodbcsql-13.0.so.0.0
msodbcsql-13.0.0.0/lib64/msodbcsqlr13.rll
msodbcsql-13.0.0.0/bin/
msodbcsql-13.0.0.0/bin/bcp-13.0.0.0
msodbcsql-13.0.0.0/bin/bcp.rll
msodbcsql-13.0.0.0/bin/sqlcmd-13.0.0.0
msodbcsql-13.0.0.0/bin/BatchParserGrammar.dfa
msodbcsql-13.0.0.0/bin/BatchParserGrammar.llr
msodbcsql-13.0.0.0/bin/SQLCMD.rll
msodbcsql-13.0.0.0/include/
msodbcsql-13.0.0.0/include/msodbcsql.h
msodbcsql-13.0.0.0/install.sh
msodbcsql-13.0.0.0/build_dm.sh
msodbcsql-13.0.0.0/WARNING
msodbcsql-13.0.0.0/docs/
msodbcsql-13.0.0.0/docs/en_US.tar.gz
msodbcsql-13.0.0.0/LICENSE
msodbcsql-13.0.0.0/README
msodbcsql-13.0.0.0/INSTALL

Change to the msodbcsql-13.0.0.0.tar.gz directory.

cd msodbcsql-13.0.0.0

There you should see a file called build_dm.sh. You can run build_dm.sh to install the unixODBC Driver Manager.

./build_dm.sh
Build unixODBC 2.3.1 DriverManager script
Copyright Microsoft Corp.

In order to use the Microsoft® ODBC Driver 13 for SQL Server®,
the unixODBC DriverManager must be installed on your computer.  unixODBC
DriverManager is a third-party tool made available by the unixODBC Project.
To assist you in the installation process, this script will attempt to 
download, properly configure, and build the unixODBC DriverManager from 
http://www.unixodbc.org/ for use with 
Microsoft® ODBC Driver 13 for SQL Server®.

Alternatively, you can choose to download and configure unixODBC
DriverManager from http://www.unixodbc.org/ yourself.

Note: unixODBC DriverManager is licensed to you under the terms of an
agreement between you and the unixODBC Project, not Microsoft.  Microsoft
does not guarantee the unixODBC DriverManager or grant any rights to
you.  Prior to downloading, you should review the license for unixODBC
DriverManager at http://www.unixodbc.org/.

The script is provided as a convenience to you as-is, without any express
or implied warranties of any kind.  Microsoft is not liable for any issues
arising out of your use of the script.

Enter 'YES' to have this script continue: 

Enter the word 'YES' and hit Enter.

Verifying processor and operating system ................................... OK
Verifying wget is installed ................................................ OK
Verifying tar is installed ................................................. OK
Verifying make is installed ................................................ OK
Downloading unixODBC 2.3.1 DriverManager ................................... OK
Unpacking unixODBC 2.3.1 DriverManager ..................................... OK
Configuring unixODBC 2.3.1 DriverManager ................................... OK
Building unixODBC 2.3.1 DriverManager ...................................... OK
Build of the unixODBC 2.3.1 DriverManager complete.

Run the command 'cd /tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1; make install'
 to install the driver manager.

PLEASE NOTE THAT THIS WILL POTENTIALLY INSTALL THE NEW DRIVER MANAGER OVER ANY
EXISTING UNIXODBC DRIVER MANAGER.  IF YOU HAVE ANOTHER COPY OF UNIXODBC INSTALLED,
THIS MAY POTENTIALLY OVERWRITE THAT COPY.

The next command to execute is:

cd /tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1; make install
Making install in extras
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/extras'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/extras'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/extras'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/extras'
Making install in log
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/log'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/log'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/log'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/log'
Making install in lst
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/lst'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/lst'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/lst'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/lst'
Making install in ini
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/ini'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/ini'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/ini'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/ini'
Making install in libltdl
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/libltdl'
make  install-am
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/libltdl'
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/libltdl'
test -z "/usr/lib64" || /usr/bin/mkdir -p "/usr/lib64"
test -z "/usr/include" || /usr/bin/mkdir -p "/usr/include"
test -z "" || /usr/bin/mkdir -p ""
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/libltdl'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/libltdl'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/libltdl'
Making install in odbcinst
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/odbcinst'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/odbcinst'
test -z "/usr/lib64" || /usr/bin/mkdir -p "/usr/lib64"
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libodbcinst.la '/usr/lib64'
libtool: install: /usr/bin/install -c .libs/libodbcinst.so.2.0.0 /usr/lib64/libodbcinst.so.2.0.0
libtool: install: (cd /usr/lib64 && { ln -s -f libodbcinst.so.2.0.0 libodbcinst.so.2 || { rm -f libodbcinst.so.2 && ln -s libodbcinst.so.2.0.0 libodbcinst.so.2; }; })
libtool: install: (cd /usr/lib64 && { ln -s -f libodbcinst.so.2.0.0 libodbcinst.so || { rm -f libodbcinst.so && ln -s libodbcinst.so.2.0.0 libodbcinst.so; }; })
libtool: install: /usr/bin/install -c .libs/libodbcinst.lai /usr/lib64/libodbcinst.la
libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin:/sbin" ldconfig -n /usr/lib64
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib64

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/etc" || /usr/bin/mkdir -p "/etc"
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/odbcinst'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/odbcinst'
Making install in DriverManager
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DriverManager'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DriverManager'
test -z "/usr/lib64" || /usr/bin/mkdir -p "/usr/lib64"
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libodbc.la '/usr/lib64'
libtool: install: /usr/bin/install -c .libs/libodbc.so.2.0.0 /usr/lib64/libodbc.so.2.0.0
libtool: install: (cd /usr/lib64 && { ln -s -f libodbc.so.2.0.0 libodbc.so.2 || { rm -f libodbc.so.2 && ln -s libodbc.so.2.0.0 libodbc.so.2; }; })
libtool: install: (cd /usr/lib64 && { ln -s -f libodbc.so.2.0.0 libodbc.so || { rm -f libodbc.so && ln -s libodbc.so.2.0.0 libodbc.so; }; })
libtool: install: /usr/bin/install -c .libs/libodbc.lai /usr/lib64/libodbc.la
libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin:/sbin" ldconfig -n /usr/lib64
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib64

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DriverManager'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DriverManager'
Making install in exe
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/exe'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/exe'
test -z "/usr/bin" || /usr/bin/mkdir -p "/usr/bin"
  /bin/sh ../libtool   --mode=install /usr/bin/install -c isql dltest odbcinst iusql odbc_config '/usr/bin'
libtool: install: /usr/bin/install -c .libs/isql /usr/bin/isql
libtool: install: /usr/bin/install -c dltest /usr/bin/dltest
libtool: install: /usr/bin/install -c .libs/odbcinst /usr/bin/odbcinst
libtool: install: /usr/bin/install -c .libs/iusql /usr/bin/iusql
libtool: install: /usr/bin/install -c odbc_config /usr/bin/odbc_config
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/exe'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/exe'
Making install in cur
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/cur'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/cur'
test -z "/usr/lib64" || /usr/bin/mkdir -p "/usr/lib64"
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libodbccr.la '/usr/lib64'
libtool: install: /usr/bin/install -c .libs/libodbccr.so.2.0.0 /usr/lib64/libodbccr.so.2.0.0
libtool: install: (cd /usr/lib64 && { ln -s -f libodbccr.so.2.0.0 libodbccr.so.2 || { rm -f libodbccr.so.2 && ln -s libodbccr.so.2.0.0 libodbccr.so.2; }; })
libtool: install: (cd /usr/lib64 && { ln -s -f libodbccr.so.2.0.0 libodbccr.so || { rm -f libodbccr.so && ln -s libodbccr.so.2.0.0 libodbccr.so; }; })
libtool: install: /usr/bin/install -c .libs/libodbccr.lai /usr/lib64/libodbccr.la
libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin:/sbin" ldconfig -n /usr/lib64
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib64

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/cur'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/cur'
Making install in DRVConfig
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DRVConfig'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DRVConfig'
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DRVConfig'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DRVConfig'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DRVConfig'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/DRVConfig'
Making install in Drivers
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/Drivers'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/Drivers'
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/Drivers'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/Drivers'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/Drivers'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/Drivers'
Making install in include
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/include'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/include'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/include" || /usr/bin/mkdir -p "/usr/include"
 /usr/bin/install -c -m 644 odbcinst.h odbcinstext.h sql.h sqlext.h sqltypes.h sqlucode.h autotest.h uodbc_stats.h uodbc_extras.h '/usr/include'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/include'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/include'
Making install in doc
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc'
Making install in AdministratorManual
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/AdministratorManual'
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/AdministratorManual'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/AdministratorManual'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/AdministratorManual'
Making install in ProgrammerManual
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual'
Making install in Tutorial
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual/Tutorial'
make[4]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual/Tutorial'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual/Tutorial'
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual/Tutorial'
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual'
make[4]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual'
make[4]: Nothing to be done for `install-exec-am'.
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual'
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/ProgrammerManual'
Making install in UserManual
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/UserManual'
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/UserManual'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/UserManual'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/UserManual'
Making install in lst
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/lst'
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/lst'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/lst'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc/lst'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc'
make[3]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc'
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/doc'
Making install in samples
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/samples'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/samples'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/samples'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1/samples'
make[1]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1'
make[2]: Entering directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1'
make[2]: Nothing to be done for `install-exec-am'.
touch /etc/odbcinst.ini
touch /etc/odbc.ini
mkdir -p /etc/ODBCDataSources
cp unixodbc_conf.h /usr/include/unixodbc_conf.h
make[2]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1'
make[1]: Leaving directory `/tmp/unixODBC.22851.19567.8231/unixODBC-2.3.1'

It is time to make a backup copy of odbcinst.ini. To determine location of odbcinst.ini, use the following command:

odbc_config --odbcinstini

This will return something like:

/etc/odbcinst.ini

Copy the file:

cp /etc/odbcinst.ini /etc/odbcinst.bak

Verify that the required software to support the ODBC driver on Linux is present:

  cd ~/Downloads/msodbc*
  ./install.sh verify

The output:

Microsoft ODBC Driver 13 for SQL Server Installation Script
Copyright Microsoft Corp.

Starting install for Microsoft ODBC Driver 13 for SQL Server

Checking for 64 bit Linux compatible OS ..................................... OK
Checking required libs are installed ........................................ OK
unixODBC utilities (odbc_config and odbcinst) installed ..................... OK
unixODBC Driver Manager version 2.3.1 installed ............................. OK
unixODBC Driver Manager configuration correct .............................. OK*
Microsoft ODBC Driver 13 for SQL Server already installed ............ NOT FOUND

Install log created at /tmp/msodbcsql.1081.14963.5459/install.log.

One or more steps may have an *. See README for more information regarding
these steps.

Time to install the SQL Server driver:

./install.sh install

And the output:

Microsoft ODBC Driver 13 for SQL Server Installation Script
Copyright Microsoft Corp.

Starting install for Microsoft ODBC Driver 13 for SQL Server

MICROSOFT SOFTWARE LICENSE TERMS
MICROSOFT ODBC DRIVER 13 (Preview) FOR SQL SERVER  
These license terms are an agreement between Microsoft Corporation (or based on 
where you live, one of its affiliates) and you. Please read them. They apply to 
the software named above, which includes the media on which you received it, if 
any. The terms also apply to any Microsoft
•	updates,
•	supplements,
•	Internet-based services, and
•	support services
for this software, unless other terms accompany those items. If so, those terms 
apply.
BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT
 USE THE SOFTWARE.
If you comply with these license terms, you have the rights below.
1.	INSTALLATION AND USE RIGHTS. You may install and use any number of copie
s of the software on your devices to design, develop and test your programs.
2.	ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
a.	Distributable Code.
i.	Right to Use and Distribute. If you comply with the terms below:
•	You may copy and distribute the object code form of the software (“Distr
ibutable Code”) in programs you develop; and 
•	You may permit distributors of your programs to copy and distribute the 
Distributable Code as part of those programs.
ii.	Distribution Requirements. For any Distributable Code you distribute, yo
u must
•	add significant primary functionality to it in your programs;
•	for any Distributable Code having a filename extension of .lib, distribu
te only the results of running such Distributable Code through a linker with you
r program;
•	distribute Distributable Code included in a setup program only as part o
f that setup program without modification;
•	require distributors and external end users to agree to terms that prote
ct it at least as much as this agreement; 
•	display your valid copyright notice on your programs; and
•	indemnify, defend, and hold harmless Microsoft from any claims, includin
g attorneys’ fees, related to the distribution or use of your programs.
iii.	Distribution Restrictions. You may not
•	alter any copyright, trademark or patent notice in the Distributable Cod
e;
•	use Microsoft’s trademarks in your programs’ names or in a way that sugg
ests your programs come from or are endorsed by Microsoft;
•	distribute Distributable Code to run on a platform other than the Window
s platform;
•	include Distributable Code in malicious, deceptive or unlawful programs;
 or
•	modify or distribute the source code of any Distributable Code so that a
ny part of it becomes subject to an Excluded License. An Excluded License is one
 that requires, as a condition of use, modification or distribution, that
•	the code be disclosed or distributed in source code form; or
•	others have the right to modify it.
3.	SCOPE OF LICENSE. The software is licensed, not sold. This agreement onl
y gives you some rights to use the software. Microsoft reserves all other rights
. Unless applicable law gives you more rights despite this limitation, you may u
se the software only as expressly permitted in this agreement. In doing so, you 
must comply with any technical limitations in the software that only allow you t
o use it in certain ways. You may not
•	work around any technical limitations in the software;
•	reverse engineer, decompile or disassemble the software, except and only
 to the extent that applicable law expressly permits, despite this limitation;
•	make more copies of the software than specified in this agreement or all
owed by applicable law, despite this limitation;
•	publish the software for others to copy;
•	rent, lease or lend the software;
•	transfer the software or this agreement to any third party; or
•	use the software for commercial software hosting services.
4.	BACKUP COPY. You may make one backup copy of the software. You may use i
t only to reinstall the software.
5.	DOCUMENTATION. Any person that has valid access to your computer or inte
rnal network may copy and use the documentation for your internal, reference pur
poses.
6.	EXPORT RESTRICTIONS. The software is subject to United States export law
s and regulations. You must comply with all domestic and international export la
ws and regulations that apply to the software. These laws include restrictions o
n destinations, end users and end use. For additional information, see www.micro
soft.com/exporting.
7.	SUPPORT SERVICES. Because this software is “as is,” we may not provide s
upport services for it.
8.	ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates
, Internet-based services and support services that you use, are the entire agre
ement for the software and support services.
9.	APPLICABLE LAW.
a.	United States. If you acquired the software in the United States, Washin
gton state law governs the interpretation of this agreement and applies to claim
s for breach of it, regardless of conflict of laws principles. The laws of the s
tate where you live govern all other claims, including claims under state consum
er protection laws, unfair competition laws, and in tort.
b.	Outside the United States. If you acquired the software in any other cou
ntry, the laws of that country apply.
10.	LEGAL EFFECT. This agreement describes certain legal rights. You may hav
e other rights under the laws of your country. You may also have rights with res
pect to the party from whom you acquired the software. This agreement does not c
hange your rights under the laws of your country if the laws of your country do 
not permit it to do so.
11.	DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE R
ISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS
. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREE
MENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXC
LUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOS
E AND NON-INFRINGEMENT.
12.	LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FRO
M MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT R
ECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRE
CT OR INCIDENTAL DAMAGES.
This limitation applies to
•	anything related to the software, services, content (including code) on 
third party Internet sites, or third party programs; and
•	claims for breach of contract, breach of warranty, guarantee or conditio
n, strict liability, negligence, or other tort to the extent permitted by applic
able law.
It also applies even if Microsoft knew or should have known about the possibilit
y of the damages. The above limitation or exclusion may not apply to you because
 your country may not allow the exclusion or limitation of incidental, consequen
tial or other damages.

Please note: As this software is distributed in Quebec, Canada, some of the clau
ses in this agreement are provided below in French.
Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses 
dans ce contrat sont fournies ci-dessous en français.
EXONéRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel 
». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft
 n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits addi
tionnels en vertu du droit local sur la protection des consommateurs, que ce con
trat ne peut modifier. La ou elles sont permises par le droit locale, les garant
ies implicites de qualité marchande, d’adéquation à un usage particulier et d’ab
sence de contrefaçon sont exclues.
LIMITATION DES DOMMAGES-INTéRÊTS ET EXCLUSION DE RESPONSABILITé POUR LES DOMMAGE
S. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en 
cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez préten
dre à aucune indemnisation pour les autres dommages, y compris les dommages spéc
iaux, indirects ou accessoires et pertes de bénéfices.
Cette limitation concerne :
• tout ce qui est relié au logiciel, aux services ou au contenu (y compris le co
de) figurant sur des sites Internet tiers ou dans des programmes tiers ; et
• les réclamations au titre de violation de contrat ou de garantie, ou au titre 
de responsabilité stricte, de négligence ou d’une autre faute dans la limite aut
orisée par la loi en vigueur.
Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’
éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la lim
itation de responsabilité pour les dommages indirects, accessoires ou de quelque
 nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’
appliquera pas à votre égard.


Enter YES to accept the license or anything else to terminate the installation:

Enter 'YES' and hit Enter.

Checking for 64 bit Linux compatible OS ..................................... OK
Checking required libs are installed ........................................ OK
unixODBC utilities (odbc_config and odbcinst) installed ..................... OK
unixODBC Driver Manager version 2.3.1 installed ............................. OK
unixODBC Driver Manager configuration correct .............................. OK*
Microsoft ODBC Driver 13 for SQL Server already installed ............ NOT FOUND
Microsoft ODBC Driver 13 for SQL Server files copied ........................ OK
Symbolic links for bcp and sqlcmd created ................................... OK
Microsoft ODBC Driver 13 for SQL Server registered ................... INSTALLED

Install log created at /tmp/msodbcsql.19351.21545.25797/install.log.

One or more steps may have an *. See README for more information regarding
these steps.

Verify that the ODBC Driver Manager library location is part of the ld path as follow:

Edit the /etc/ld.so.conf.

vi /etc/ld.so.conf

My file contents include:

include ld.so.conf.d/*.conf

Add the following line to the bottom of the file:

/usr/lib64

Save the file. Force the ld configuration file to reload by issuing the command:

ldconfig

Installation puts the driver in /opt/microsoft/msodbcsql/13.0.0.0. The driver and its support files must be in /opt/microsoft/msodbcsql/13.0.0.0

To verify that the ODBC drive on Linux was registered successfully,, execute the following command:

odbcinst -q -d -n "ODBC Driver 13 for SQL Server"

The output looks like:

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
Threading=1
UsageCount=1