【问题标题】:Trouble connecting tsql to SQL Server将 tsql 连接到 SQL Server 时出现问题
【发布时间】:2014-09-12 13:16:10
【问题描述】:

我正在尝试从 64 位 linux 机器 (ubuntu) 连接到网络 SQL 服务器。我想我已经正确配置了 freetds.conf、odbc.ini 和 odbcinst.ini。但是 tsql 给我一个连接错误。

我已尝试按照此链接的说明进行操作:

http://www.tryolabs.com/Blog/2012/06/25/connecting-sql-server-database-python-under-ubuntu/

然而,命令 'tsql -H {SQL Server IP address} -p 1433 -U {username} -P {password}' 给出以下输出:

locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Msg 18456 (severity 14, state 1) from <Sql Server Name> Line 1:
    "Login failed for user '<username>'."
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server

在 '/usr/local/freetds/etc/freetds.conf' 文件中,我添加了:

[sqlserver]
    host = {SQL Server IP Address}
    port = 1433
    tds version = 8.0

“/etc/odbc.ini”文件包含:

[sqlserver]
Driver      = freetds
Description = MSSQL Server
ServerName  = {SQL Server IP Address}
Port        = 1433
Trace       = No
Database    =
TDS_Version = 8.0

“/etc/odbcinst.ini”文件包含:

[freetds]
Description     = MS SQL database access with Free TDS
Driver          = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup           = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
UsageCount      = 1
FileUsage       = 1

更多细节:如果我使用 Windows,MS-SQL Server 使用我的 Windows 凭据来访问服务器。它也是一个“受信任的连接”(不确定这意味着什么)。

我进行了大量搜索,并尝试将“.freetds.conf”的副本放在主目录中,但没有成功。

【问题讨论】:

    标签: sql-server linux tsql connection


    【解决方案1】:

    受信任的连接意味着它正在通过 Active Directory 用户进行身份验证。如果您在此处使用 Active Directory 用户,则要求 SQL Server 对 SQL Server 本地登录进行身份验证,并且您的用户是 AD 用户。我已经为 AD 用户成功使用了以下连接字符串:

    'DRIVER={FreeTDS};SERVER=servername;PORT=1433;UID=domain\\username;PWD=********;TDS_Version=8.0;Trusted_domain=Your.Domain.com;'
    

    【讨论】:

    • 谢谢!这行得通。我还必须更改 .ini 文件中的标题以匹配。
    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 2011-06-12
    • 2012-11-25
    • 1970-01-01
    相关资源
    最近更新 更多