[SQL] 에서 java.lang.UnsatisfiedLinkError : java.library.path에는 sqljdbc_auth 없다
SQL에서 java.lang.UnsatisfiedLinkError : java.library.path에는 sqljdbc_auth 없다
내 자바 응용 프로그램의 .JAR을 만든거야, 그리고 난 cmd를으로부터의 .jar를 실행하려고하고있을 때, 나는 오류가 발생합니다.
내가 검색하고 많은 사례를 찾았지만 아무도 작품은 나에게 없다했습니다. 여기보고 있지만 오류의 연속처럼 디렉토리 '있는 sqljdbc_auth.dll'에 java.library.path를 설정합니다.
http://www.linglom.com/images/howto/netbeans/sqlserver/part3/8.png
"내 DLL 경로"이 제공 자바 -Djava.library.path = 나는 명령을 내 자바 응용 프로그램을 실행합니다 :
PS C:\Users\User> java -Djava.library.path="C:\Users\User\Desktop\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc
_4.0\ptb\auth\x64"
Error: Could not find or load main class .library.path=C:\Users\User\Desktop\Microsoft JDBC Driver 4.0 for SQL Server
\sqljdbc_4.0\ptb\auth\x64
이 문제를 해결하는 방법 정말 더 해달라고하지 않습니다. 나는 많은 시간을 검색했습니다,하지만 아무것도 작동하지 않습니다. 누군가의 도움이 저를 바랍니다.
감사
WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrat
ectionId:0481a2ee-4ac4-4fd3-89cd-58aad1696fe4
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.j
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:60)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServe
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnect
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnecti
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.jav
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at test.database.Conection.getConexao(Conection.java:41)
at test.forms.jTLogin.<init>(jTLogin.java:71)
at test.forms.jTLogin$4.run(jTLogin.java:448)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:3
... 28 more
해결법
-
==============================
1.이 작업있어 ...
이 작업있어 ...
1) .DLL 추가 및 Java / JDK / bin에 .JAR
2) 응용 프로그램에서의 .jar 추가 / lib에
3) 창에서 .DLL 추가 / system32를
"경로"시스템 환경에서 자바 / JDK ../ 빈 및 Windows / system32를 추가합니다.
-
==============================
2.좌절의 전체 아침 후, 나는 마침내 그것을 작업 가지고, 내가 할 필요가 모든 @ user3320956의 첫 번째 제안의 일부였다.
좌절의 전체 아침 후, 나는 마침내 그것을 작업 가지고, 내가 할 필요가 모든 @ user3320956의 첫 번째 제안의 일부였다.
나는 (내 경우 C에서 : \ 프로그램 파일 \ 자바 \ jdk1.7.0_79 \ 빈) 내 JDK \ bin 디렉토리에있는 sqljdbc_auth.dll을 추가하고 내 CLASSPATH에있는 유일한 일이있다
C:\Program Files\Microsoft JDBC Driver 4.1 for SQL Server\sqljdbc_4.1\enu\sqljdbc41.jar
그 후, 한 나는 내 수업이 문을 사용할 수 있었다 -cp 또는 -classpath 변수를 사용하지 않은 것처럼 :
import com.microsoft.sqlserver.jdbc.*;
원격 데이터베이스에 연결합니다. 여기 내 연결 문자열은 (물론, 당신이 반드시 서버가 TCP / IP 연결 등을 허용하도록 설정이되어 있는지 확인, 권한이 있는지 확인, SERVERNAME 및 DBNAME 교체)입니다 :
jdbc:sqlserver://SERVERNAME;database=DBNAME;integratedSecurity=true;authenticationScheme=NativeAuthentication;
HTH!
건배,
마태 복음
-
==============================
3.필요하지 않은 경우 "통합 보안"당신은 URL에 매개 변수를 해제 할 수 있습니다 :
필요하지 않은 경우 "통합 보안"당신은 URL에 매개 변수를 해제 할 수 있습니다 :
integratedSecurity=false;
이것은 일부 생산 환경 아마도 개발을위한 미세하지만해야합니다.
-
==============================
4.나는 영업 이익과 동일한 문제가 발생했다,하지만 난 user3320956의 반응에 따라 해결할 수 없었다.
나는 영업 이익과 동일한 문제가 발생했다,하지만 난 user3320956의 반응에 따라 해결할 수 없었다.
내가 IntelliJ에 아이디어를 사용하고, 그리고 난 내가 .JAR을 생성되는 방법을 변경하여이 문제를 해결 할 수 것으로 나타났습니다. 은 "대상 JAR에 추출물은"방법은 내가 이전에 사용 무엇이고 나에게 OP 설명 똑같은 문제를했다. 항아리를 생성하지 "나는 더 이상 오류 수신하고"오류를 때 이후 방법 "매니페스트를 통해 출력 디렉토리와 연결하려고 복사"에이 방법을 변경 : "찾거나 메인 클래스를로드 할 수 없습니다.
사람들이 몇 두통이 내 상황에 갇혀 저장 희망이 도움이!
from https://stackoverflow.com/questions/23949890/java-lang-unsatisfiedlinkerror-no-sqljdbc-auth-in-java-library-path by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 포스트 그레스 기능에 대한 사용자 정의 유형의 배열을 전달하는 방법 (0) | 2020.06.18 |
---|---|
[SQL] SQL Server 2008의 절 '에서'테이블 이름에 대한 변수를 사용하여 (0) | 2020.06.18 |
[SQL] 실종 날짜를 표시하는 SQL 서버 (0) | 2020.06.18 |
[SQL] 열을 지정하지 않고 SQL INSERT. 무슨 일이야? (0) | 2020.06.18 |
[SQL] 시퀀스에서 다음 번호를 얻는 방법 (0) | 2020.06.18 |