【发布时间】:2019-06-26 00:49:19
【问题描述】:
我已经下载了我想在我的 Eclipse Maven Java 项目中使用的 sql jdbc 驱动程序。我应该在哪里放置 sqljdbc_auth.dll 文件,以便我可以在 Eclipse IDE 中运行我的项目。那我应该告诉 maven 什么?
更新
我已将sqljdbc_auth.dll 置于src/main/resources,但这没有帮助:
2019-02-01T15:06:02.138+0200 INFO user.dir=C:\projects\eclipse_workspace\RFIDGates
Feb 01, 2019 3:06:02 PM com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path
2019-02-01T15:06:16.927+0200 ERROR Get conn exception
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:68da04a3-d764-4c5d-a7ad-addd324db006
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2670) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:79) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3381) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:85) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3373) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7344) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2713) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2261) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1921) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1762) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1077) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:623) ~[mssql-jdbc-6.4.0.jre8.jar:?]
at java.sql.DriverManager.getConnection(DriverManager.java:664) ~[?:1.8.0_171]
at java.sql.DriverManager.getConnection(DriverManager.java:247) ~[?:1.8.0_171]
at com.kpv.rfid.db.ConnectMSSQLServer.main(ConnectMSSQLServer.java:270) [classes/:?]
Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) ~[?:1.8.0_171]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[?:1.8.0_171]
at java.lang.System.loadLibrary(System.java:1122) ~[?:1.8.0_171]
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:54) ~[mssql-jdbc-6.4.0.jre8.jar:?]
... 13 more
【问题讨论】:
-
将 dll 放置到
src/main/resources没有帮助。问题正文中的更多详细信息。 -
你如何加载 dll
System.load("***.dll")或System.loadLibrary("***.dll")?