2013-06-28 36 views
12

Tôi đã viết một chương trình kiểm tra đăng nhập jdbc rất đơn giản. Và sau tất cả các loại vấn đề tôi gần như đã làm việc đó. Hầu như, dường như không thể vượt qua vấn đề "SQLServerException: Đăng nhập thất bại cho người dùng xxxxx" này.SqlServer: Đăng nhập thất bại cho người dùng

Tôi đã tạo một cơ sở dữ liệu đơn giản PersonInfo sau đó tôi đã tạo user1 user1 password (sql authenication). Và sau khi thử tất cả mọi thứ đã không thể kết nối với cơ sở dữ liệu.

Tôi đang sử dụng SqlServer2008 trên Win 7, I'v có trình điều khiển jdbc mới nhất từ ​​Microsoft.

Mã của tôi là:

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(); 
    } 
} 
} 

Đây là ngoại lệ

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

Đáng tiếc là tôi bây giờ chết trong nước cho đến khi một số loại SQLServer Guru hay JDBC Guru mất thương xót tôi và giúp tôi ra ngoài.

cảm ơn trước.

+0

Có thể có một số điều mà có thể gây ra điều này - hãy nhìn vào http://stackoverflow.com/questions/6403636/connecting-sql-server-2008-to-java-login- lỗi cho người dùng không thành công? rq = 1 và xem liệu có bất kỳ gợi ý nào giúp bạn không. – DrewCo

+0

Nếu bạn đã tạo "user1 password1" trong cơ sở dữ liệu, tất nhiên bạn nên sử dụng "user1 password1" trong chuỗi kết nối của bạn. Người dùng có đủ quyền không? Một gợi ý khác: Bạn đã thử kết nối user1 trong studio quản lý máy chủ sql chưa? – gartenabfall

Trả lời

49

Máy chủ SQL của bạn có trong 'xác thực chế độ hỗn hợp' không? Điều này là cần thiết để đăng nhập bằng tài khoản máy chủ SQL thay vì đăng nhập Windows.

Bạn có thể xác minh điều này bằng cách kiểm tra các thuộc tính của máy chủ và sau đó AN NINH, nó phải là trong 'SQL Server và Windows Authentication Mode'

Vấn đề này xảy ra nếu người dùng cố gắng đăng nhập với thông tin mà không thể được đã được xác thực. Sự cố này có thể xảy ra trong các trường hợp sau:

Tình huống 1: Đăng nhập có thể là đăng nhập SQL Server nhưng máy chủ chỉ chấp nhận Xác thực Windows.

Kịch bản 2: Bạn đang cố gắng kết nối bằng cách sử dụng Xác thực máy chủ SQL nhưng đăng nhập được sử dụng không tồn tại trên SQL Server.

Kịch bản 3: Thông tin đăng nhập có thể sử dụng Xác thực Windows nhưng đăng nhập là một nguyên tắc Windows không được công nhận. Một chính Windows không được công nhận có nghĩa là Windows không thể xác minh đăng nhập. Điều này có thể do đăng nhập Windows là từ một tên miền không đáng tin cậy.

Cũng có thể người dùng đưa vào thông tin không chính xác.

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

1

tôi nhận được thông báo lỗi tương tự khi cố gắng kết nối với DB SQL của tôi trong Azure (sử dụng sql-cli). Giải pháp đơn giản là để thoát khỏi mật khẩu với dấu nháy đơn như thế này:

mssql -s server.database.windows.net -u [email protected] -p 'your_password' -d your_db -e 
0

Cũng đảm bảo rằng tài khoản không bị khóa trong các thuộc tính người dùng "Status" tab

0

Đối Can not connect to the SQL Server. The original error is: Login failed for user 'username'. lỗi, yêu cầu cổng trên máy chủ MSSQL bên cần được hoàn thành.

Có các cổng khác ngoài cổng mặc định 1433 cần được định cấu hình trên Tường lửa của Windows.

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

Các vấn đề liên quan