因此,我一直致力于使用JDBC River插件实现弹性搜索,以便将SQL Server数据库中的数据转换为弹性搜索。
我使用SQL Server凭据使其工作正常,但尝试使用集成安全性并不起作用。它将创建索引,但它没有数据。 我一直在使用的参数是:
PUT /_river/test_river/_meta
{
"type":"jdbc",
"jdbc":
{
"driver":"com.microsoft.sqlserver.jdbc.SQLServerDriver",
"url":"jdbc:sqlserver://testServer:1433;databaseName=TestDb;
integratedSecurity=true;",
"user":"",
"password":"",
"sql": "select * from users",
"poll":"30s",
"index":"testindex",
"type":"testusers"
}
}
我已经尝试了很多东西,包括完全删除用户和密码字段,删除integratedSecurity = true,但它给出了相同的结果。 我已经检查了他们的github上的河流插件,它说这个问题在1月份已经修复,但它似乎仍然无法正常工作。
我也使用弹性搜索版本:1.5.1 和jdbc river插件版本:1.4.0.10
非常感谢任何帮助
答案 0 :(得分:3)
摆脱用户和密码选项。你不会需要它们。
运行elasticserch.bat时检查控制台,在尝试更新河流时应该看到错误消息。我想出去,并假设您可能会看到错误,指出无法找到文件sqljdbc_auth.dll
。如果是这种情况,您可以从here下载此文件,并将sqljdbc_auth.dll
的x64版本复制到您的java lib文件夹中。对我来说,这个文件夹是C:\ProgramData\Oracle\Java\javapath
,但你可以在控制台窗口中输入echo %path%
来找到你的文件夹。
按照这些步骤操作后,重新启动elasticsearch.bat,它应该开始处理您的河流。如果没有,请使用您在运行elasticsearch.bat时看到的输出回发。