组合 Sphinx + UnixODBC + Firebird 中的不可用数据库

Unavailable database in combo Sphinx + UnixODBC + Firebird

我正在尝试通过 UnixODBC 在 Firebird 上使用 Sphinx 搜索。所有组件单独工作正常:Sphinx 通过 MySQL 样本测试,ODBC 连接到 firebird 的 .fdb

但是如果我尝试将 Sphinx 连接到 ODBC,我会收到此索引错误:

ERROR: index 'fb': sql_connect: [unixODBC][ODBC Firebird Driver]unavailable database (DSN=odbc://:***@:0/).

这是我的一部分 sphinx.conf:

source src_fb
{
  type=odbc

  odbc_dsn=Driver=/usr/lib/libOdbcFb.so;Dbq=localhost:/var/lib/firebird/2.5/data/employee.fdb;Uid=SYSDBA;Pwd=

  sql_query     = \
  SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
  FROM documents
}

.fdb 与 ODBC 连接的文件相同。

解决方法如下: 在 sphinx.conf 中,我只更改了一个字符串: odbc_dsn=DSN=员工

所以现在 Sphinx 从 ODBC 配置文件中获取所有需要的数据。

来自 odbc.ini 的数据库:

[employee]
Description = Firebird
Driver = Firebird
Dbname = localhost:/var/lib/firebird/2.5/data/employee.fdb
User = SYSDBA
Password =
Role =
CharacterSet =
ReadOnly = No
NoWait = No

驱动程序配置来自 odbcinst.ini:

[Firebird]
Description = Firebird ODBC Driver
Driver = /usr/lib/libOdbcFb.so
Threading = 1
FileUsage = 1
CPTimeout =
CPReuse =