2012-07-23 4 views
2

통합 보안을 사용하는 SQL Server 데이터베이스와 함께 웹 도구를 통합하려고합니다. 나는 sqljdbc4.jar의 유닉스 버전을 찾으려고 노력하고 있었지만, .so 파일 만 .dll로 찾을 수는 없었다.MSSQL JDBC on unix

누구나 .so 파일이 필요한 버전 또는 통합 보안을 사용하는 다른 버전을 어디에서 얻을 수 있는지 알고 있습니까?

현재 내 응용 프로그램은

com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication 

와 연결 실패 내가 로그에

WARNING: Failed to load the sqljdbc_auth.dll 

이전에 볼 수 있습니다.

mssqljdbc 버전 2.5를 사용 중입니다.

+0

에게 그냥 생각을 추가 통합 보안 수단 경우 Windows OS와의 보안 통합을 통해 Unix에서 바로 사용할 수는 없습니다. 통합 보안이 필요한 이유는 무엇입니까? – beny23

+0

데이터베이스를 관리하는 사람은이 유형의 로그인 만 허용합니다. 그것이 Windows OS 통합이 OS 통합 일 뿐이라고 생각한다는 것을 인식하지 못했습니다. 그들은 유닉스 서버에서 다시 그걸 확인해야한다고 생각하는 것 같았다. – James

+0

그래서 여기에 대답 (http://stackoverflow.com/questions/167464/can-i-connect-to-sql-server-using-windows-authentication-from-java-ee-webapp) 더 많은 정보를 줄 수 –

답변

3

these docs에 따르면 MSSQL JDBC Driver 4.0부터는 authenticationScheme=JavaKerberos을 지정하여 sqljdbc_auth.dll이 필요없는 순수 Java Kerberos 구현을 사용할 수 있어야합니다.

참고로, 저는 이것을 시도하지 않았습니다.

+0

그래,이 효과. 도와 주셔서 감사합니다. – James

0

나도 그 말하지만 사람이 검색을위한 다음 시도 :

리소스 폴더에있는 sqljdbc_auth.dll을 넣어 다음, 다음 코드

ClassLoader classLoader = TestDBConnection.class.getClassLoader(); 
File file = new File(classLoader.getResource("sqljdbc_auth.dll").getFile()); 
System.setProperty("java.library.path", file.getParent());