Partager via


ODBC Driver 13.1 for Linux Released

Hi all, we are delighted to share the Production Ready Release of the Microsoft ODBC Driver 13.1 for Linux –  (Ubuntu, RedHat and SUSE). The new driver enables access to SQL Server, Azure SQL Database and Azure SQL DW from any C/C++ application on Linux

Added

  • BCP API Support 
    • You can use functions through the ODBC driver as described here on Linux
  • Support for user defined KeyStoreProvider for Always Encrypted
  • Ubuntu 16.10 support
    • Developed a package for Ubuntu 16.10 to ensure an apt-get install experience
  • Dependency on the platform unixODBC Driver Manager instead of the custom unixODBC-utf16 Driver Manager
    • This avoids conflicts with applications/software that depends on the platform unixODBC Driver Manager

Fixed

  • msqobcsql.h  (Connect issues 3115331, 3114970)  
    • Missing definitions for AE, BCP, and SQL Server specific types were added 
  • TRUST_SERVER_CERTIFICATE connection attribute is always yes (Connect 3116639)  
    • Setting the TRUST_SERVER_CERTIFICATE connection attribute to anything other than yes failed to set the attribute value.  This has been corrected. 
  • Fixed Connect issue 2693027 - Memory Leak 
    • We detected this issue independently of the bug report using valgrind.  The memory leak has been fixed.
  • Driver failure when connecting with more than 1024 handles
    • Switched away from libio select. Driver now supports (theoretical) handle limit of 64k or platform max 
  • Intermittent commlinkfailure when using Azure DW 
    • In some high latency scenarios over an encrypted channel, the driver could fail unexpectedly. This has been resolved

Install the ODBC Driver for Linux on Ubuntu 15.10

[snippet slug=odbc-driver-15-10-13-1-rtw lang=bsh]

Install the ODBC Driver for Linux on Ubuntu 16.04

[snippet slug=odbc-driver-16-04-13-1-rtw lang=bsh]

Install the ODBC Driver for Linux on Ubuntu 16.10

[snippet slug=odbc-driver-16-10-13-1-rtw lang=bsh]

Install the ODBC Driver for Linux on RedHat 6

[snippet slug=odbc-driver-rhel-6-13-1-rtw lang=bsh]

Install the ODBC Driver for Linux on RedHat 7

[snippet slug=odbc-driver-rhel-7-13-1-rtw lang=bsh]

Install the ODBC Driver for SLES 12

[snippet slug=odbc-driver-suse12-13-1-rtw lang=bsh]

Try our Sample

Once you install the driver that runs on a supported Linux distro, you can use this C sample to connect to SQL Server/Azure SQL DB/Azure SQL DW. To download the sample and get started, follow these steps:

[snippet slug=odbc-c-sample lang=bsh]

If you installed the driver using the manual instructions found here, you will have to manually uninstall the ODBC Driver and the unixODBC Driver Manager to use the deb/rpm packages. If you have any questions on how to manually uninstall, feel free to leave a comment below. 

Please fill bugs/questions/issues on our Issues page. We welcome contributions/questions/issues of any kind. Happy programming!

Meet Bhagdev (meetb@microsoft.com)

sql-loves-linux_2_twitter-002

Comments

  • Anonymous
    February 06, 2017
    When i run "sudo ACCEPT_EULA=Y apt-get install msodbcsql=13.1.4.0-1 " i get this error: E: Unable to locate package msodbcsql im using ubuntu 16.04
    • Anonymous
      February 07, 2017
      Did you add the packages.microsoft.com repository?
      • Anonymous
        February 20, 2017
        How i could do this ?
      • Anonymous
        February 20, 2017
        I follow the example above for the ubuntu 16.04
      • Anonymous
        February 24, 2017
        I am also getting the same error. I added packages.microsoft.com repository as mentioned.root@asdfssd:~# sudo ACCEPT_EULA=Y apt-get install msodbcsql=13.1.4.0-1 mssql-tools-14.0.3.0-1 unixodbc-devReading package lists... DoneBuilding dependency treeReading state information... DoneE: Unable to locate package mssql-tools-14.0.3.0-1E: Couldn't find any package by glob 'mssql-tools-14.0.3.0-1'E: Couldn't find any package by regex 'mssql-tools-14.0.3.0-1'
      • Anonymous
        February 24, 2017
        In fact, I am getting error because public key is not available.W: GPG error: https://apt-mo.trafficmanager.net/repos/mssql-ubuntu-xenial-release xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B02C46DF417A0893W: The repository 'https://apt-mo.trafficmanager.net/repos/mssql-ubuntu-xenial-release xenial InRelease' is not signed.N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.N: See apt-secure(8) manpage for repository creation and user configuration details.
      • Anonymous
        February 24, 2017
        I have the same problem. Ubuntu 16.04. and I had the packages.microsoft.com repository added to the /etc/apt/sources.list.d/mssql-release.list
        • Anonymous
          February 27, 2017
          Can you try installing msodbcsql and mssql-tools separately? In different apt-get commands. apt-get install msodbcsqlapt-get install mssql-tools
    • Anonymous
      February 24, 2017
      Hi Xscence, Did you solve the problem? could you please share the note if so? thank you
      • Anonymous
        February 27, 2017
        Let me try these steps on a fresh machine and get back to you.
      • Anonymous
        March 02, 2017
        This should now be fixed!
  • Anonymous
    February 14, 2017
    hello Is ODBC Driver 13 for linux is compatible with linux 11.4? which version of unixODBC is supported?ss
    • Anonymous
      March 02, 2017
      The Microsoft ODBC Driver 13.1 is compatible with Ubuntu 15.10, 16.04, 16.10, Redhat 6, 7 and SLES 12. unixODBC 2.3.1 is supported
  • Anonymous
    February 24, 2017
    i am getting the same error. repo is added.
    • Anonymous
      March 02, 2017
      This should now be fixed!
  • Anonymous
    February 24, 2017
    I get the same error
    • Anonymous
      March 02, 2017
      This should now be fixed!
  • Anonymous
    March 01, 2017
    The comment has been removed
  • Anonymous
    March 03, 2017
    The comment has been removed
    • Anonymous
      March 03, 2017
      The comment has been removed
      • Anonymous
        March 06, 2017
        Thank you Bhagdev -- looks like RHEL 6.5 works but 6.8 has trouble and complaints though could be something else. Something i believe worth while mention is that pre-check you're doing -- odbcinst -q -d -n "ODBC Driver 13 for SQL Server" -- complaints if odbcini is managed centrally and pushed via puppet to a host where driver(s) might not be installed.
  • Anonymous
    March 08, 2017
    I have added the packages and the gpg key. apt update shows that packages.microsoft is being fetched fromWhen I run “sudo ACCEPT_EULA=Y apt-get install msodbcsql” i get this error: E: Unable to locate package msodbcsqlI am using ubuntu 16.04
    • Anonymous
      March 08, 2017
      For the benefit of others who may run into this issue, the repository and the ms sql odic driver is 64 bit only. i.e. the command dpkg --print-architecture should show amd64 and NOT i386 (which is 32 bit). This can lead to the error package not found even though the repository gets added correctly
    • Anonymous
      March 10, 2017
      Are you running on 32bit or 64bit?
      • Anonymous
        June 13, 2017
        I am running a 32-bit OS (Debian 8.8) on a 64-bit virtual machine. I am getting this same error, is it possible to use 32-bit? It ignores the microsoft package repo because it specifies 64-bit.
        • Anonymous
          June 21, 2017
          We only support 64-bit for the ODBC Driver.
  • Anonymous
    March 10, 2017
    I'm installing everything on Ubuntu 16.04 with no problems, but then running your example yields the error:"The driver reported the following error SQLAllocHandle(SQL_HANDLE_STMT)"what could be going wrong?
    • Anonymous
      March 10, 2017
      Hi Amit, are you on a 64-bit or 32-bit machine? What version of unixODBC are you running? Can you please file an issue on connect? We will triage it promptly.
  • Anonymous
    March 10, 2017
    Hi, this driver can be used by PHP7 on SUSE?Can anybody bring me an example? I configured odbc.ini like the older with FreeTDS and now PHP notify me: "odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified"Thanks and sorry for my english.
  • Anonymous
    March 16, 2017
    On a brand new Ubuntu 16.04 laptop ("amd64"), when I run "sudo ACCEPT_EULA=Y apt-get install msodbcsql=13.1.4.0-1 mssql-tools=14.0.3.0-1 unixodbc-dev" I get:Reading package lists... DoneBuilding dependency tree Reading state information... DoneE: Unable to locate package msodbcsqlE: Unable to locate package mssql-toolsWhen I try to install the packages separately (as suggested), I still get "Unable to locate package..." errors. Any and all help appreciated!
    • Anonymous
      March 16, 2017
      The comment has been removed
      • Anonymous
        March 17, 2017
        The comment has been removed
  • Anonymous
    March 29, 2017
    The comment has been removed
    • Anonymous
      April 13, 2017
      We will get the devel package signed and put it up asap. You shouldn't need to copy keys on RHEL/CentOS otherwise.
      • Anonymous
        April 28, 2017
        FYI I'm still getting the error "unixODBC-devel-2.3.1-4.el6.x86_64.rpm is not signed"
        • Anonymous
          May 05, 2017
          The comment has been removed
  • Anonymous
    April 25, 2017
    The comment has been removed
    • Anonymous
      June 01, 2017
      There are not plans to support this at this time. We now no longer use a custom (utf-16) Driver Manager. We are using the system shipped Driver Manager to make sure we don't break support agreements.
  • Anonymous
    May 05, 2017
    The comment has been removed
    • Anonymous
      May 05, 2017
      The comment has been removed
      • Anonymous
        May 05, 2017
        Thank you for the quick response. I used the nogpgcheck option and was able to complete the installation. I successfully tested the driver using isql utility as well at the application level (SAS).
  • Anonymous
    May 07, 2017
    The comment has been removed
    • Anonymous
      May 09, 2017
      The comment has been removed
      • Anonymous
        May 29, 2017
        The comment has been removed
        • Anonymous
          June 01, 2017
          What steps did you follow for Debian Jessie? Seems like apt-get did not resolve the dependencies.
  • Anonymous
    May 24, 2017
    The comment has been removed
    • Anonymous
      June 01, 2017
      The comment has been removed
  • Anonymous
    June 20, 2017
    The comment has been removed
    • Anonymous
      September 04, 2017
      Hi Mohammed, we are working on the mssql-tools package. We will keep you posted!
  • Anonymous
    June 23, 2017
    Linux RedHat 7 input:% sudo ACCEPT_EULA=Y yum install msodbcsql-13.1.4.0-1 mssql-tools-14.0.3.0-1 unixODBC-develgot:No package msodbcsql-13.1.4.0-1 available.No package mssql-tools-14.0.3.0-1 available.wandering why?Thanks
    • Anonymous
      September 04, 2017
      Hello m chen, happy to look into this. Can you confirm that you added the Microsoft packages repository? Can you share the output of ls /etc/yum.repos.d
  • Anonymous
    September 06, 2017
    The comment has been removed
    • Anonymous
      September 29, 2017
      Hi John, We will work with you to get this resolved. Let's continue the conversation offline.