是否可以使用Pymssql远程访问SQL Server 2012,使用域(Windows)用户帐户

时间:2017-09-11 12:05:25

标签: sql-server-2012 freetds pymssql

我无法使用Windows用户帐户远程访问SQL Server 2012,即使在使用相同凭据登录到Windows操作系统后可以访问SQL Server。

有没有办法实现这个目标?

由于安全性(操作系统强化)原因,不支持SQL Server用户

尝试从CentOS远程访问SQL 2012

telnet host 1433 #Works fine

在SQL配置管理器中启用TCP。

pymssql version - 2.1.0

pymssql.connect('192.168.1.7', 'mydomain\\dba', 'password', 'testdb')

我低于错误

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "pymssql.pyx", line 599, in pymssql.connect (pymssql.c:9315) pymssql.OperationalError: (20002, 'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed\n')

FreeTDS配置

tsql -C Compile-time settings (established with the "configure" script) Version: freetds v0.91 freetds.conf directory: /etc MS db-lib source compatibility: yes Sybase binary compatibility: yes Thread safety: yes iconv library: yes TDS version: 4.2 iODBC: no unixodbc: yes SSPI "trusted" logins: no Kerberos: yes

1 个答案:

答案 0 :(得分:1)

是的,这可以在连接期间完成:

pymssql.connect(
    server='192.168.1.7:1433',
    user='mydomain\\dba',
    password='password',
    database='testdb',
    tds_version='7.2'
)

请注意,您必须确保可以从正在运行pymssql的计算机上连接到SQL Server正在运行的服务器。如果事情被锁定,您需要进行防火墙修改。您可以测试是否可以使用telnet连接到SQL Server服务器:telnet your_host 1433以查看它是否连接,或者只是挂起。