2011-01-07 24 views
11

estoy tratando de conectar con el servidor SQL de mi empresa, utilizando el controlador JDBC de Microsoft para SQL Server 2005. Esto es lo que se ve mi cadena de conexión como:¿Cómo puedo conectarme a SQL Server usando seguridad integrada con el controlador JDBC?

jdbc:sqlserver://HOSTNAME;integratedSecurity=true;database=DATABASE; 

A lo que el controlador emite una excepción:

Invalid integratedSecurity property value:true 

Usar "sí" en su lugar da un mensaje de error diferente que indica "sí" no es una opción válida para una propiedad booleana.

¿Cómo se conecta usando la seguridad integrada?

+0

Es sqljdbc_auth. dll en su carpeta bin/lib? –

+0

@jms Historia divertida: eso es realmente difícil de decir. Por algún motivo misterioso, no tengo los privilegios de enumerar el contenido de los directorios del controlador JDBC, pero puedo acceder a los archivos dentro usando su ruta. – zneak

+0

@jms No había un directorio 'auth' en el controlador JDBC que teníamos. Acabo de recibir la versión 3.0 (en lugar de la 1.0 que aparece primero cuando la busca en google). Supongo que va a ser mejor. – zneak

Respuesta

14

cheque esta instructions, también - está usted en el mismo dominio (el que llama y el servidor?)

Citando a partir de ahí:

El controlador JDBC soporta el uso de Tipo 2 autenticación integrada en el operativo de Windows sistemas a través de la propiedad de cadena de conexión IntegratedSecurity. Para utilizar la autenticación integrada, copie el archivo sqljdbc_auth.dll en un directorio en la ruta del sistema de Windows en la computadora donde está instalado el controlador JDBC.

Los archivos sqljdbc_auth.dll se instalan en la siguiente ubicación:

<installation directory>\sqljdbc_<version>\<language>\auth\ 

Nota:

Si está ejecutando una de 32 bits de Java Virtual Machine (JVM), utilice el sqljdbc_auth.dll archivo en la carpeta x86 , incluso si el sistema operativo es la versión x64. Si está ejecutando una JVM de 64 bits en un procesador x64, use el archivo sqljdbc_auth.dll en la carpeta x64 . Si está ejecutando un JVM de 64 bits en un procesador IA-64, use el archivo sqljdbc_auth.dll en la carpeta IA64 .

Como alternativa, puede establecer la propiedad del sistema java.libary.path para especificar el directorio de sqljdbc_auth.dll. Por ejemplo, si el controlador JDBC está instalado en el directorio predeterminado, se puede especificar la ubicación de la DLL con el argumento siguiente máquina virtual (VM) cuando se inicia la aplicación Java:

-Djava.library.path=C:\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_<version>\enu\auth\x86 
+0

Resulta que el controlador JDBC que Google muestra primero está muy desactualizado. Actualicé y seguí las instrucciones y funcionó perfectamente. – zneak

Cuestiones relacionadas