Solr DIH 无法正常工作,java.library.path 中出现错误编号 sqljdbc_auth

Solr DIH not working with error no sqljdbc_auth in java.library.path

使用 Solr 8.5.2 docker 图像,我需要使用 DIH 从 SQL 服务器导入数据。

我正在加载 sqljdbc42.jar 并将其复制到 /opt/solr/contrib/dataimporthandler/ 以加载相同的内容。

我收到以下错误:

Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query....

Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path: [/usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib] at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source) at java.base/java.lang.Runtime.loadLibrary0(Unknown Source) at java.base/java.lang.System.loadLibrary(Unknown Source) at com.microsoft.sqlserver.jdbc.AuthenticationJNI.(AuthenticationJNI.java:41) at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3132) at com.microsoft.sqlserver.jdbc.SQLServerConnection.access0(SQLServerConnection.java:43) at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168) at java.sql/java.sql.DriverManager.getConnection(Unknown Source)

我的 SQL 服务器托管在远程 Windows 服务器上。

如何解决此问题并使用 DIH 从具有 Docker 的 SQL 服务器导入数据?

已通过从连接字符串中删除 integratedSecurity 参数解决此问题。