Как настроить драйвер unixODBC с freetds для sphinx.ОШИБКА: источник: неизвестный тип 'odbc';пропуская - PullRequest
0 голосов
/ 25 апреля 2019

Я настраиваю Sphinxsearch для Linux, также у меня есть удаленный MSSQL Server. Я установил unixODBC и freetds в соответствии с документацией.

Файл odbcinst.ini:

[FreeTDS]
Description=v0.63 with protocol v7.3
Driver = /usr/local/lib/libtdsodbc.so
FileUsage = 1
CPTimeout = 5

Файл odbc.ini:

    [Sphinx]
    Driver = FreeTDS
    Description = MS-SQL
    Trace = No
    #Servername = mssql02
    Server = XX.XX.XX
    Port = 1433
    Database = DBNAME

    [Default]
    Driver = /usr/local/lib/libtdsodbc.so

файл freetds.conf:

    [mssql02]
    host = XX.XX.XX
    port = 1433
    tds version = 7.3
    instance = MSSQL02

И последний, но не менее важный файл sphinx.conf:

    source test
    {
    type            = odbc
    sql_host        = XX.XX.XX
    sql_user        = USERNAME
    sql_pass        = PASS
    sql_db          = DBNAME
    sql_port        = 1433
    odbc_dsn = DSN=Sphinx;Driver={/usr/local/etc/odbc.ini};Uid=USERNAME;Pwd=PASS
    ...more_config...
}

При использовании следующей команды

indexer --all 

Я получаю следующее сообщение:

ОШИБКА: источник 'test': неизвестный тип 'odbc'; пропуск.

Тем не менее команда isql работает нормально:

$ isql Sphinx LOGIN PASS
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

Что я делаю не так? Любой совет приветствуется.

1 Ответ

1 голос
/ 26 апреля 2019

Может это кому-нибудь пригодится.Используемая мной версия sphinxsearch была загружена с репозитория ubuntu - версия 2.2.11. Я загрузил самую новую версию с сайта - версия 3.1.1 (commit 612d99f), она поддерживает тип ODBC.Теперь все работает отлично!Спасибо!

...