弹性搜索JDBC River插件SQL Server集成安全性

时间:2015-04-24 19:21:45

标签: jdbc elasticsearch-plugin elasticsearch-jdbc-river elasticsearch

因此,我一直致力于使用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

非常感谢任何帮助

1 个答案:

答案 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时看到的输出回发。