如何使用freetds为sphinx配置unixODBC驱动程序。错误:源:未知类型'odbc';跳过

时间:2019-04-25 12:00:22

标签: sql-server unix sphinx freetds unixodbc

我正在为Linux设置Sphinxsearch,也有远程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 个答案:

答案 0 :(得分:1)

这可能对某人有帮助。 我使用的sphinxsearch版本是从ubuntu repos --version 2.2.11下载的 我从网站--version 3.1.1(commit 612d99f)下载了最新版本,它支持ODBC类型。 现在一切正常! 谢谢!