FreeTDS: Ошибка входа пользователя

Я пытаюсь подключиться к серверу MSSQL 2005 с помощью FreeTDS.

Но я получаю сообщение об ошибке «Ошибка входа для пользователя». Об этом есть раздел в руководстве по FreeTDS, посвященном устранению неполадок. Но в нем не упоминаются возможные ошибки, связанные с этим. Может ли это быть проблемой с моей строкой подключения tsql? Или это что-то неправильно настроено на стороне MSSQL?

Я могу подключиться к управлению SQL Server, используя те же учетные данные.

Это то, что я использую и вывод (я удалил ip-номер и имя пользователя):

$ TDSVER=4.2 tsql -H <ipnumber> -p 1433 -U <username>
Password:
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Msg 18456 (severity 14, state 1) from PS136 Line 1:
        "Login failed for user '<username>'."
Error 20002 (severity 9):
        Adaptive Server connection failed
There was a problem connecting to the server

И мои настройки времени компиляции:

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

У меня Ubuntu 12.04, и я установил FreeTDS следующим образом:

 $sudo apt-get install freetds-common freetds-bin tdsodbc

person dan-klasson    schedule 24.01.2014    source источник
comment
Я думаю, что документация неверна, пакет, на который они ссылаются, должен быть tdsodbc найден здесь: packages.ubuntu.com /precise/tdsodbc   -  person Jeshurun    schedule 24.01.2014
comment
Спасибо. Но у меня все еще та же проблема. Я обновил свой вопрос.   -  person dan-klasson    schedule 24.01.2014


Ответы (2)


Оказалось, что мне дали неправильный номер порта. Мне также нужно было указать instance в файле конфигурации freetds.

person dan-klasson    schedule 31.01.2014
comment
Ну, порт был связан с этой конкретной настройкой. Спросите у системного администратора тот, который относится к вам. - person dan-klasson; 23.10.2015
comment
вы тогда не смогли обойти конфигурационный файл? - person brad; 28.12.2017
comment
@brad: Не уверен, что ты имеешь в виду. Это было много лет назад, и с тех пор я, слава богу, не работал с MSSQL. - person dan-klasson; 28.12.2017

Я также использую freetds для подключения к SQL Server 2012.

У меня есть этот раздел в моем файле freetds.conf

[mycomp]
        host = some.ipnumber.or.hostname
        port = 1433
        client charset = UTF-8
        tds version = 8.0

Затем я подключаюсь к sqsh (замена isql, также в репозиториях ubuntu)

 sqsh -I /etc/freetds/freetds.conf -Smycomp  -Uknb -Psecrit

Это мой вывод tsql -C

○ → tsql -C
Compile-time settings (established with the "configure" script)
                            Version: freetds v0.91
             freetds.conf directory: /etc/freetds
     MS db-lib source compatibility: no
        Sybase binary compatibility: yes
                      Thread safety: yes
                      iconv library: yes
                        TDS version: 4.2
                              iODBC: no
                           unixodbc: yes
              SSPI "trusted" logins: no
                           Kerberos: yes
person knb    schedule 24.01.2014
comment
Но с помощью команды, которую я разместил выше, нужно обойти файл настроек, если я не ошибаюсь. Так что это не должно быть проблемой файла конфигурации. - person dan-klasson; 24.01.2014
comment
Да я тоже так пробовал. - person dan-klasson; 24.01.2014
comment
я добавил свой вывод tsql -C. Единственным отличием является параметр «kerberos». Сам не настраивал это активно, не знаю, как это попало в настройки времени компиляции. - person knb; 24.01.2014