SqlServer: Error de inicio de sesión para el usuario

Escribí un progtwig de prueba de inicio de sesión de jdbc muy simple. Y después de todo tipo de problemas, casi lo tengo funcionando. Casi, parece que no puede superar este problema de “SQLServerException: error de inicio de sesión para el usuario xxxxx”.

Creé una base de datos simple PersonInfo luego creé el usuario user1 password1 (autenticación sql). Y después de intentarlo todo no pudo conectarse a la base de datos.

Estoy usando SqlServer2008 en Win 7, obtuve el último controlador jdbc de Microsoft.

Mi código es:

import java.sql.*; public class hell { public static void main(String[] args) { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=PersonInfo;user=Sohaib;password=0000;"); System.out.println("connected"); } } catch (Exception e) { e.printStackTrace(); } } } 

Aquí está la excepción

 Exception: Unable to get connect com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'Sohaib'. and all other supporting errors.. 

Lamentablemente, ahora estoy muerto en el agua hasta que algún SqlServer Guru o Jdbc Guru se apiade de mí y me ayuda.

gracias por adelantado.

¿Está su servidor SQL en ‘autenticación de modo mixto’? Esto es necesario para iniciar sesión con una cuenta de servidor SQL en lugar de un inicio de sesión de Windows.

Puede verificar esto comprobando las propiedades del servidor y luego SEGURIDAD, debe estar en ‘SQL Server y el Modo de Autenticación de Windows’

Este problema ocurre si el usuario intenta iniciar sesión con credenciales que no se pueden validar. Este problema puede ocurrir en los siguientes escenarios:

Escenario 1: el inicio de sesión puede ser un inicio de sesión de SQL Server, pero el servidor solo acepta la autenticación de Windows.

Escenario 2: está intentando conectarse utilizando la Autenticación de SQL Server, pero el inicio de sesión utilizado no existe en SQL Server.

Escenario 3: el inicio de sesión puede usar la Autenticación de Windows, pero el inicio de sesión es un principal de Windows no reconocido. Un principal de Windows no reconocido significa que Windows no puede verificar el inicio de sesión. Esto podría deberse a que el inicio de sesión de Windows proviene de un dominio que no es de confianza.

También es posible que el usuario ingrese información incorrecta.

http://support.microsoft.com/kb/555332

Me encontré con el mismo problema, y ​​lo solucioné agregando mi nombre de usuario de Windows a SQL y luego a mi servidor, así es como lo hice:

Primero, cree un nuevo inicio de sesión con su nombre de usuario de Windows: enter image description here

Haga clic en Buscar, escriba su nombre en el cuadro y haga clic en Comprobar nombres. enter image description here

Luego agrega tu usuario al servidor:

Haga clic derecho en el Servidor> Permisos> Buscar> Buscar> Seleccione su usuario (Notará que ahora el usuario que creó está disponible en la lista)

enter image description here

Espero que ayude 😉

Obtuve el mismo mensaje de error cuando trato de conectarme a mi base de datos SQL en Azure (usando sql-cli). La solución simple fue escapar de la contraseña con comillas simples como esta:

 mssql -s server.database.windows.net -u user@server -p 'your_password' -d your_db -e 

También asegúrese de que la cuenta no esté bloqueada en la pestaña “Estado” de las propiedades del usuario

Para Can not connect to the SQL Server. The original error is: Login failed for user 'username'. Can not connect to the SQL Server. The original error is: Login failed for user 'username'. error, los requisitos de puerto en el lado del servidor MSSQL deben cumplirse.

Hay otros puertos más allá de lo predeterminado. El puerto 1433 debe configurarse en el Firewall de Windows.

https://stackoverflow.com/a/25147251/1608670

Solucionamos nuestro problema de enlace de Linux / php a SQL Server creando una nueva cuenta de inicio de sesión con autenticación de SQL Server en lugar de autenticación de Windows.