组合 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 =
我正在尝试通过 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 =