2013-05-21 12 views
5

È necessario connettersi a SQL Server 2008 da java utilizzando jdbc 4.0. Ho un codice molto semplice:Connessione a server SQL da java con jdbc (modalità di autenticazione di Windows)

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

ma ho questo errore:

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) 
... 

seguo questa risposta: https://stackoverflow.com/a/12524566/1554397

ho aggiunto jdbc4.jar in biblioteche/Compile

SQL Server Il servizio Windows Browser è in esecuzione.

Nella configurazione di rete di SQL Server ho selezionato Enebled su proprietà TCP/IP.

ho Impostare TCP Indirizzo al 1433.

On Run, VM Options metto -Djava.library.path = il mio percorso di sqljdbc_auth.dll e copiare in JDK, nel bidone sqljdbc_auth.dll.

Cosa devo fare?

EDIT: Quando scrittura in cmd telnet localhost 1433 ottengo 'Impossibile aprire la connessione con l'host, sulla porta 1433'

+0

Non è necessario 'forName()' con JDBC 4. –

+0

Ok, quindi? Ottengo lo stesso errore ... – Blocked

+0

No.It deve andare con la prima stringa. "La connessione al database di default sul computer locale utilizzando l'autenticazione integrata: jdbc: sqlserver: // localhost; integratedSecurity = true; " da http://msdn.microsoft.com/en-us/library/ms378428.aspx – Blocked

risposta

3

Se si utilizza l'autenticazione della finestra si può fare qualcosa di simile:

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

e quindi aggiungere il percorso a sqljdbc_auth.dll come argomento VM (è necessario sqljdbc4.jar nel percorso di generazione).

Dai uno sguardo allo here per una breve guida passo-passo che mostra come connettersi a SQL Server da Java nel caso avessi bisogno di maggiori dettagli. Spero che sia d'aiuto!

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 
Problemi correlati