È 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'
Non è necessario 'forName()' con JDBC 4. –
Ok, quindi? Ottengo lo stesso errore ... – Blocked
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