2011-06-15 7 views
8

Estoy intentando conectar base de datos SQL Server mediante la autenticación de Windows desde mi aplicación utilizando el controlador jTDS pero tengo siguiente errorEl controlador JTDS no funciona para Sql Server 2008R2 y la biblioteca Denali Native SSPI no está cargada. Comprobar la propiedad del sistema java.library.path

SSO Error: biblioteca nativa SSPI no cargado. Compruebe la propiedad del sistema java.library.path .

Los siguientes son los escenarios en los que he tratado de resolver, pero todavía falta algo ..

  1. he añadido ntlmauth.dll en el directorio del sistema y funciona bien para el servidor SQL 2005.
  2. Pero lo mismo que probé para Sql Server 2008 R2 y Denali pero me da el mismo error que mencioné anteriormente
  3. También consideré bit decir que copié ntlmauth.dll de x64 \ SSO \ path en el directorio del sistema.

I confundido por qué esto no funciona para Sql Server 2008 R2 y Denali.

Respuesta

14

Pruebe colocando el archivo ntlmauth.dll en la carpeta bin de su Java Runtime Environment (por ejemplo, C:\Program Files\Java\jre7\bin).

Asegúrese de hacer coincidir el "bitness" (32 bit o 64 bit) de la DLL con el bitness de JVM.

Me encontré con el mismo problema usando SQL Server Express 2008 R2 y este MSDN SQL Server Forum Article recomendó esta resolución, que funcionó para mí.

+0

¡Gracias funcionó! :) –

+0

Una cosa fácil de perder es si hay una falta de coincidencia entre el tamaño de palabra de la JVM y la biblioteca. Entonces, si está ejecutando un Java de 32 bits y tiene un DLL de 64 bits, entonces no se cargará. –

4

Aparte de ponerla en tu JRE directamente, también puede simplemente especificar el java.library.path como tal:

-Djava.library.path=C:\jtds-1.3.1-dist\x64\SSO 

El directorio anterior contendría entonces el archivo

0

ntlmauth.dll Además de la respuesta de DeChrist, me tuvo que agregar el mismo archivo dll en la carpeta bin de C:\Program Files\Java\jdk1.8.0_91\jre\bin también. En ese caso, funcionó para mí.

+1

Esto me parece más un comentario que una respuesta completa. – Marcs

+2

Traté de hacer un comentario, pero aún no tengo la 'reputación suficiente'. Como veo, solo puedo hacerlo en mis propias respuestas en este momento. –

Cuestiones relacionadas