[egenix-users] Using mxodbc with SQL Server 2012

M.-A. Lemburg mal at egenix.com
Thu Sep 3 20:42:59 CEST 2015

On 03.09.2015 13:28, M.-A. Lemburg wrote:
> On 03.09.2015 12:06, Sheila Allen wrote:
>> On Thu, Sep 3, 2015 at 4:16 AM, M.-A. Lemburg <mal at egenix.com> wrote:
>>> On 03.09.2015 08:44, Sheila Allen wrote:
>>>>> I'm looking into the MS SQL Server Native client again as well, we
>> tried
>>>>> it when they first announced it and it would segfault with any
>> significant
>>>>> load
>>>> We're currently testing the MS ODBC Driver for Linux, and ran into a
>>>> similar segfault under load. This was resolved by upgrading unixODBC
>> 2.3.0
>>>> to 2.3.2, even though the MS ODBC Driver officially only supports 2.3.0.
>>>> Some discussion of the issue here:
>> https://social.msdn.microsoft.com/Forums/sqlserver/en-US/23fafa84-d333-45ac-8bd0-4b76151e8bcc/sql-server-driver-for-linux-causes-segmentation-fault
>>> We are using the MS driver with unixODBC 2.3.2 just fine. The only
>>> segfault we've seen so far is related to using Unicode strings with
>>> DriverConnect():
>>> http://www.egenix.com/products/python/mxODBC/doc/#_Toc427692959
>>> If you can provide instructions on how to reproduce the problem
>>> you are seeing under load, we can try to investigate this some
>>> more.
>> The segfault issue goes away with 2.3.2, as mentioned above. This
>> discussion describes how to reproduce the issue using the unixODBC 2.3.0:
>> https://social.msdn.microsoft.com/Forums/sqlserver/en-US/23fafa84-d333-45ac-8bd0-4b76151e8bcc/sql-server-driver-for-linux-causes-segmentation-fault
> Thanks, we'll try to replicate this and then check with the
> various unixODBC versions.

I just ran the following setup without segfaults:

* openSUSE Linux 13.1 x64
* unixODBC 2.3.0
* unixODBC .so.1 libs symlink'ed to .so.2 for compatibility
  with mxODBC 3.3.5
* MS ODBC driver 11.00.2270

Our test suite tries to create up to 100 connections all open
at the same time.

Unlike the example in the above forum thread it uses DriverConnect().
Perhaps that makes a difference.

Also note that the thread mentions a version 11.0.1790 of the MS
ODBC driver. That was their first release of the Linux driver:


published in 2012.

So I guess the problem was on their side and not in unixODBC;
or perhaps a combination of effects on both sides causing
the problem.

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Sep 03 2015)
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> mxODBC Plone/Zope Database Adapter ...       http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
2015-08-27: Released eGenix mx Base 3.2.9 ...     http://egenix.com/go83

::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the egenix-users mailing list