ODBC Driver 13 for SQL Server can't open lib on pyodbc while connecting on AWS E2 ubuntu instance

前端 未结 1 1086
孤独总比滥情好
孤独总比滥情好 2020-12-10 05:31

Background: i have been at it for about a week but still no luck. the same driver (13.0) on my system (Ubuntu 16.04.1 LTS) works just fine with my pyodbc p

相关标签:
1条回答
  • 2020-12-10 06:05

    As per nehaljwani's GitHub comment, this issue is related to libgcc mismatch. The official page suggests the minimum version of libgcc required for symbol v3.4.21 is v5.1.0.

    GCC 5.1.0: GLIBCXX_3.4.21, CXXABI_1.3.9

    Here are two suggestions how to solve it:

    • Update libgcc to >= 5.1.0 (recommended) by executing conda update libgcc. E.g.

      $ conda update libgcc
      ...
      The following packages will be UPDATED:
          libgcc: 4.8.5-2 --> 5.2.0-0
      
      Proceed ([y]/n)? y
      
      $ conda list gcc
      # packages in environment at /conda/envs/test:
      #
      libgcc                    5.2.0                         0
      (test) root@75eb43ff7f79:~$ readelf --version-info /conda/envs/test/lib/libstdc++.so | grep -Po '(?<=GLIBCXX_)([\d.]*)' | sort -Vr | head -1
      3.4.21
      
    • LD_PRELOAD trick (hacky)

      (test) root@75eb43ff7f79:~$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 python test.py
      Reading data from table
      Microsoft SQL Server vNext (CTP2.0) - 14.0.500.272 (X64)
              Apr 13 2017 11:44:40
              Copyright (C) 2017 Microsoft Corporation. All rights reserved.
              Developer Edition (64-bit) on Linux (Ubuntu 16.04.2 LTS)
      

    Troubleshooting

    • Make sure the configured driver file (/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.1.0) configured in your INI file (see: odbcinst -j) exist and has read and executable permissions (O_RDONLY|O_CLOEXEC)
    • See: Installing the Microsoft ODBC Driver for SQL Server on Linux and macOS.
    0 讨论(0)
提交回复
热议问题