英文:
Solr DIH not working with error no sqljdbc_auth in java.library.path
问题
使用 Solr 8.5.2 Docker 镜像,我需要使用 DIH 从 SQL Server 导入数据。
我正在加载 sqljdbc42.jar 并将其复制到 /opt/solr/contrib/dataimporthandler/,以便加载该文件。
我遇到了以下错误:
完整导入失败:java.lang.RuntimeException:
java.lang.RuntimeException:
org.apache.solr.handler.dataimport.DataImportHandlerException: 无法执行查询...原因是:java.lang.UnsatisfiedLinkError: 在
java.library.path 中没有 sqljdbc_auth:[/usr/java/packages/lib、/usr/lib64、/lib64、/lib、/usr/lib]
at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)...
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.(AuthenticationJNI.java:41)...
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3132)...
...
at java.sql/java.sql.DriverManager.getConnection(Unknown Source)...
我的 SQL Server 托管在远程 Windows 服务器上。
如何修复这个问题,并且在使用 Docker 时使用 DIH 从 SQL Server 导入数据?
英文:
Using Solr 8.5.2 docker image, I need to import a data using DIH from SQL Server.
I am loading sqljdbc42.jar and copying it at /opt/solr/contrib/dataimporthandler/ to load the same.
I am getting following error:
> 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.<clinit>(AuthenticationJNI.java:41)
> at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3132)
> at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(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)
My SQL Server is hosted on remote Windows Server.
How to fix this and use DIH to import data from SQL Server with Docker?
答案1
得分: 0
这个问题已经通过从连接字符串中移除"integratedSecurity"参数来解决。
英文:
This has been resolved by removing parameter for integratedSecurity from connection string.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论