目前,我正致力于建立从Linux盒到Microsoft服务器的连接。我已经在Linux上安装了FreeTDS和pyodbc。
我设置了以下文件: /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 = 当我试图运行tsql -S sqlserver -U用户名-P密码时,会得到以下错误:
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我还尝试用以下脚本连接pyodbc:
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它打印以下错误:
('001', '[001] [nxDC[reD]SLSre]nbet onc odt ore (0) (SQLDriverConnect)')并不是最有用的错误信息。
当我试图连接时,我做错了什么吗?
顺便提一下,我们的数据库需要Windows身份验证,而不是集成的。我可以打电话到主机,所以这也不是问题所在。
发布于 2015-09-28 13:54:26
装置看起来很好。我也有过类似的工作,在服务器升级到NTLMv2之后,它就坏了。这给了一个"...untrusted .“测试tsql时出错。细节在这里
我只需要在我的use ntlmv2 = yes规范中包括freetds.conf。
发布于 2014-11-04 22:13:37
使用Windows身份验证可能很棘手..。而且很丑。最佳做法:
祝您好运;我相信如果您修复了这个问题,堆栈的其余部分应该会正常运行。
致以敬意,
-Tim
https://stackoverflow.com/questions/26744692
复制相似问题