Yah*_*ufi 6 sql-server ssms sphinx linked-server sql-server-2014
我试图从SQL Server Management Studio连接到Sphinx作为链接服务器.我尝试了以下查询:
EXEC master.dbo.sp_addlinkedserver @server=N'SPHINX_SEARCH', @srvproduct=N'', @provider=N'MSDASQL', @provstr=N'Driver={MySQL ODBC 8.0 ANSI Driver};Server=127.0.0.1;Port=9306,charset=UTF8;User=;Password=;OPTION=3'
GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'SPHINX', @useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
GO
Run Code Online (Sandbox Code Playgroud)
我得到以下例外:
标题:Microsoft SQL Server Management Studio
与链接服务器的测试连接失败.
附加信息
链接服务器"SPHINX_SEARCH"的OLE DB提供程序"MSDASQL"报告错误.提供商未提供有关错误的任何信息.无法为链接服务器"SPHINX_SEARCH"初始化OLE DB提供程序"MSDASQL"的数据源对象.(Microsoft SQL Server,错误:7399).
从MySQL连接到Sphinx时,通过以下命令工作:
mysql -h 127.0.0.1 -P 9306
Run Code Online (Sandbox Code Playgroud)
有什么建议?
Sphinx版本:3.0.3,SQL Server版本:2014,MySQL版本:5.6
小智 3
使用 Manticore 进行测试,但也应该与 Sphinx 一起使用:
EXEC master.dbo.sp_addlinkedserver @server = N'Search',
@srvproduct=N'manticore', @provider=N'MSDASQL', @datasrc=N'manticore',
@provstr=N'Driver={MySQL ODBC 8.0 ANSI Driver};
Server=127.0.0.1;Port=9306,charset=UTF8;User=;Password=;'
Run Code Online (Sandbox Code Playgroud)
manticore是在 ODBC 管理器中设置的系统 DSN 名称。
在 sphinx.conf 中,您需要将mysql_version_string设置 为 5.1.1(或任何大于 4.1.1 的值)以替换实际的守护程序版本。否则,ODBC 驱动程序将拒绝与 searchd 守护进程一起工作(因为认为服务器版本太旧)。
根据评论更新
安装最新的 Sphinx 版本 3.1.1 后问题得到解决。3.0.3 版本中存在一些与 MySQL 客户端相关的错误。
| 归档时间: |
|
| 查看次数: |
310 次 |
| 最近记录: |