弹性搜索 JDBC River 插件 SQL 服务器集成安全
Elastic Search JDBC River Plugin SQL Server Integrated Security
所以我一直致力于使用 JDBC River 插件实现弹性搜索,以便从我们的 SQL 服务器数据库中获取数据到弹性搜索中。
我使用 SQL 服务器凭据可以正常工作,但尝试使用集成安全性不起作用。它将创建索引,但其中没有数据。
我一直在使用的参数是:
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 的 river 插件,它说这个问题早在一月份就已修复,但它似乎仍然没有用。
另外我用的是弹性搜索版本:1.5.1
和 jdbc 河流插件版本:1.4.0.10
如有任何帮助,我们将不胜感激
删除用户和密码选项。你不会需要它们的。
在 运行 elasticserch.bat 时检查控制台,当它尝试更新河流时,您应该会看到一条错误消息。我要冒险并假设您可能看到一个错误,指出无法找到文件 sqljdbc_auth.dll
。如果是这种情况,您可以从 here 下载此文件并将 sqljdbc_auth.dll
的 x64 版本复制到您的 java lib 文件夹。对我来说,这个文件夹是 C:\ProgramData\Oracle\Java\javapath
,但您可以在控制台 window 中键入 echo %path%
来找到您的文件夹。
完成这些步骤后,重新启动 elasticsearch.bat,它应该会开始处理您的河流。如果不是,post 返回您在 运行 elasticsearch.bat.
时看到的输出
所以我一直致力于使用 JDBC River 插件实现弹性搜索,以便从我们的 SQL 服务器数据库中获取数据到弹性搜索中。
我使用 SQL 服务器凭据可以正常工作,但尝试使用集成安全性不起作用。它将创建索引,但其中没有数据。 我一直在使用的参数是:
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 的 river 插件,它说这个问题早在一月份就已修复,但它似乎仍然没有用。
另外我用的是弹性搜索版本:1.5.1 和 jdbc 河流插件版本:1.4.0.10
如有任何帮助,我们将不胜感激
删除用户和密码选项。你不会需要它们的。
在 运行 elasticserch.bat 时检查控制台,当它尝试更新河流时,您应该会看到一条错误消息。我要冒险并假设您可能看到一个错误,指出无法找到文件 sqljdbc_auth.dll
。如果是这种情况,您可以从 here 下载此文件并将 sqljdbc_auth.dll
的 x64 版本复制到您的 java lib 文件夹。对我来说,这个文件夹是 C:\ProgramData\Oracle\Java\javapath
,但您可以在控制台 window 中键入 echo %path%
来找到您的文件夹。
完成这些步骤后,重新启动 elasticsearch.bat,它应该会开始处理您的河流。如果不是,post 返回您在 运行 elasticsearch.bat.
时看到的输出