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

Posted

技术标签:

【中文标题】是否可以使用 Pymssql 通过域(Windows)用户帐户远程访问 SQL Server 2012【英文标题】:Is it possible using Pymssql to access SQL Server 2012 remotely, with domain (windows) user account 【发布时间】:2017-09-11 12:05:24 【问题描述】:

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

有什么方法可以实现吗?

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

尝试从 CentOS 远程访问 SQL 2012

telnet host 1433#工作正常

在 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】:

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

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

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

【讨论】:

pymssql.connect('192.168.1.7', 'domain\\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') telnet工作得很好...... 如果您尝试连接并获得1> 提示:TDSVER=7.2 tsql -H your_host -p 1433 -U YOUR_DOMAIN\\your_username -D your_database_name 我也修改了我的答案,因为我猜您的 TDS 版本设置不正确,默认为版本4.2 我尝试使用 TDSVER 7.2 AND 8 得到相同的错误.... social.msdn.microsoft.com/Forums/sqlserver/en-US/…

以上是关于是否可以使用 Pymssql 通过域(Windows)用户帐户远程访问 SQL Server 2012的主要内容,如果未能解决你的问题,请参考以下文章

Pymssql 可以与 MS SQL Server 建立安全连接 (SSL) 吗?

跨域访问方法介绍--使用 window.name 传值

使用 PYMSSQL 通过 *** 从 SQL Server 检索数据

跨域怎么解决

如何使用 pymssql 获取 sql 打印消息

pymssql(python 模块)无法使用临时表