2013-05-21 43 views
5

Tôi cần kết nối với Sql Server 2008 từ java bằng cách sử dụng jdbc 4.0. Tôi có một mã rất đơn giản:Kết nối với máy chủ sql từ java với jdbc (chế độ xác thực cửa sổ)

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
String connectionUrl = "jdbc:sqlserver://localhost;" + 
    "integratedSecurity=true;"; 
Connection con = DriverManager.getConnection(connectionUrl); 

Nhưng tôi có lỗi này:

Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.". 
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) 
    at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241) 
... 

Tôi làm theo câu trả lời này: https://stackoverflow.com/a/12524566/1554397

tôi thêm jdbc4.jar trong Libraries/Compile

Dịch vụ Windows Server Browser windows đang chạy.

Trong Cấu hình mạng SQL Server tôi đã chọn Enebled trên thuộc tính TCP/IP.

tôi Đặt TCP Địa chỉ đến 1433.

Vào Run, VM Tùy chọn tôi đặt -Djava.library.path = con đường để sqljdbc_auth.dll Và sao chép trong JDK, trong bin sqljdbc_auth.dll.

Tôi nên làm gì?

EDIT: Khi ghi trong cmd telnet localhost 1433 tôi nhận được 'Không thể mở kết nối đến máy chủ, trên cổng 1433'

+0

Bạn không cần phải 'forName() 'với jdbc 4. –

+0

Ok, như vậy? Tôi nhận được lỗi tương tự ... – Blocked

+0

No.It phải đi với chuỗi đầu tiên." Kết nối với cơ sở dữ liệu mặc định trên máy tính cục bộ bằng cách sử dụng xác thực được tích hợp: jdbc: sqlserver: // localhost; integratedSecurity = true; " http://msdn.microsoft.com/en-us/library/ms378428.aspx – Blocked

Trả lời

3

Nếu sử dụng chứng thực Window bạn có thể làm một cái gì đó như:

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true"; 
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
Connection conn = DriverManager.getConnection(url); 

và sau đó thêm đường dẫn đến sqljdbc_auth.dll làm đối số VM (bạn cần sqljdbc4.jar trong đường dẫn xây dựng).

Hãy xem here để biết hướng dẫn từng bước ngắn gọn về cách kết nối với SQL Server từ Java nếu bạn cần thêm chi tiết. Hy vọng nó giúp!

0
Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button) 
Select Case Button.Key 
     Case "approved" 
      FRMAPPROVED.Show vbModal 
     Case "report" 
      frmreport.Show vbModal 
     Case "Entry" 
      frmMatEntry.Show vbModal 
     Case "ProdEntry" 
      frmProdEntry.Show vbModal 
     Case "exit" 
      End 
     End Select 
End Sub 
Các vấn đề liên quan