Я настраиваю 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 |
| |
+---------------------------------------+
Что я делаю не так? Любой совет приветствуется.