Freetds and pyodbc cannot connect

I am currently working on setting up a connection from a Linux box to a Microsoft SQL server. I installed FreeTDS and pyodbc in a Linux box.

I installed the following files: /etc/freetds/freetds.conf

[sqlserver]
    host = <ip address>
    port = 1433
    tds version = 8.0
    client charset = UTF-8

~ / .odbc.ini

[sqlserver]
Description     = FreeTDS MSSQL
Driver          = FreeTDS
Servername      = <same ip as above> 
Database        = Reports
TDS_Version     = 8.0

/etc/odbcinst.ini

[FreeTDS]
Description             = FreeTDS MSSQL
Driver                  = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Driver64                = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup                   = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
Setup64                 = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
UsageCount              = 1
CPTimeout               = 
CPTimeToLive            = 
DisableGetFunctions     = 
DontDLCLose             = 
ExFetchMapping          = 
Threading               = 
FakeUnicode             = 
IconvEncoding           = 
Trace                   = 
TraceFile               = 
TraceLibrary            = 

When I try to run tsql -S sqlserver -U username -P password, I get the following error:

locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Msg 18452 (severity 14, state 1) from SYMPLECTIC03 Line 1:
    "Login failed. The login is from an untrusted domain and cannot be used with Windows authentication."
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server

I also tried connecting to pyodbc in the following script:

import pyodbc
try:
    cnxn = pyodbc.connect('DRIVER=FreeTDS;SERVER=same_ip_as_above;DATABASE=Reports;UID=myusername;PWD=mypassword')
except pyodbc.Error, err:
    print err

which prints the following error:

('001', '[001] [nxDC[reD]SLSre]nbet onc odt ore (0) (SQLDriverConnect)')

Not quite a useful error message.

Is there something that I am doing wrong when trying to connect?

As a side note, our db requires Windows authentication, not integrated. I can telnet connect to the host, so no problem.

+4
2

. , NTLMv2. tsql ... ... ". *

use ntlmv2 = yes freetds.conf.

+2

Windows Authentication ... . :

  • , SQL SQL Server, .
  • , TDS Version 8.0 , TDS 7.2: http://www.freetds.org/userguide/choosingtdsprotocol.htm
  • TDS 2012 2014 , . pyodbc 2012 2014 Django.
  • , TDS:

    cnxn = pyodbc.connect('DRIVER = FreeTDS; SERVER = same_ip_as_above; DATABASE = Reports; UID = myusername; PWD = mypassword; TDS_Version = 7.2;')

; , , .

,

-Tim

+1

All Articles