Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm running a Gentoo Linux and I'm trying to connect to MS SQL via pyodbc using freetds.

I enabled the debug log in freetds. Now when I try to connect I'm seeing this:

18:13:00.841828 13523 (net.c:270):tds_open_socket: connect(2) returned "Operation now in progress"
18:13:00.955976 13523 (net.c:310):tds_open_socket() succeeded
18:13:00.955996 13523 (util.c:156):Changed query state from DEAD to IDLE
18:13:00.956017 13523 (net.c:741):Sending packet
0000 12 01 00 34 00 00 00 00-00 00 15 00 06 01 00 1b |...4.... ........|
0010 00 01 02 00 1c 00 0c 03-00 28 00 04 ff 08 00 01 |........ .(......|
0020 55 00 00 02 4d 53 53 51-4c 53 65 72 76 65 72 00 |U...MSSQ LServer.|
0030 d3 34 00 00            -                        |.4..|

18:13:01.190745 13523 (net.c:555):Received header
0000 04 01 00 25 00 00 01 00-                        |...%....|

18:13:01.190772 13523 (net.c:609):Received packet
0000 04 01 00 25 00 00 01 00-00 00 15 00 06 01 00 1b |...%.... ........|
0010 00 01 02 00 1c 00 01 03-00 1d 00 00 ff 0a 32 10 |........ ......2.|

18:13:01.190781 13523 (login.c:1057):detected flag 3
18:13:01.190783 13523 (login.c:1068):server required encryption but support is not compiled in
18:13:01.190785 13523 (login.c:466):login packet rejected
18:13:01.190821 13523 (util.c:156):Changed query state from IDLE to DEAD

This sounds like the support for some encryption is missing, but I don't know which one. My freetds is complied with these configure parameters:

./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --libdir=/usr/lib64 --with-tdsver=7.0 --enable-msdblib --enable-odbc --with-unixodbc=/usr --enable-krb5

As far as I know it's using libkrb5 for the encryption. These are the configure flags for my libkrb5:

./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --without-ldap --without-tcl --enable-pkinit --enable-thread-support --without-hesiod --enable-shared --with-system-et --with-system-ss --enable-dns-for-realm --enable-kdc-lookaside-cache --with-system-verto --disable-rpath  --with-pkinit-crypto-impl=openssl

Does somebody know which configure flags I'm missing to be able to connect to MS SQL?

share|improve this question

I figured it out myself, in the freetds configure parameters i was missing --with-openssl. Once I added that and reinstalled freetds everything worked fine.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.