Condividi tramite


Uso di una connessione

Scaricare il driver JDBC

La sezione seguente fornisce esempi dei diversi modi di connettersi a un database di SQL Server usando la classe SQLServerConnection di Microsoft JDBC Driver per SQL Server.

Nota

Se si verificano problemi durante la connessione a SQL Server tramite il driver JDBC, vedere Risoluzione dei problemi di connettività per suggerimenti su come correggerli.

Creazione di una connessione mediante la classe DriverManager

L'approccio più semplice per creare una connessione a un database di SQL Server consiste nel caricare il driver JDBC e chiamare il metodo getConnection della classe DriverManager, come nell'esempio seguente:

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

Questa tecnica consente di creare una connessione di database utilizzando il primo driver disponibile nell'elenco dei driver in grado di connettersi con l'URL specificato.

Nota

Quando si usa la libreria di classi sqljdbc4.jar, le applicazioni non devono registrare o caricare in modo esplicito il driver tramite il metodo Class.forName. Quando si chiama il metodo getConnection della classe DriverManager, viene individuato un driver appropriato nel set di driver JDBC registrati. Per ulteriori informazioni, vedere Utilizzo del driver JDBC.

Creazione di una connessione mediante la classe SQLServerDriver

Se è necessario specificare uno particolare dei driver presenti nell'elenco dei driver per DriverManager, è possibile creare una connessione di database usando il metodo connect della classe SQLServerDriver, come nell'esempio seguente:

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = d.connect(connectionUrl, new Properties());  

Creazione di una connessione mediante la classe SQLServerDataSource

Se è necessario creare una connessione usando la classe SQLServerDataSource, è possibile usare diversi metodi per l'impostazione della classe prima di chiamare il metodo getConnection, come nell'esempio seguente:

SQLServerDataSource ds = new SQLServerDataSource();  
ds.setUser("MyUserName");  
ds.setPassword("*****");  
ds.setServerName("localhost");  
ds.setPortNumber(1433);
ds.setDatabaseName("AdventureWorks");  
Connection con = ds.getConnection();  

Creazione di una connessione con un'origine dati di destinazione specifica

Se è necessario creare una connessione di database con un'origine dei dati di destinazione specifica, è possibile adottare diversi approcci. Ogni approccio dipende dalle proprietà impostate utilizzando l'URL della connessione.

Per connettersi all'istanza predefinita su un server remoto, usare l'esempio seguente:

String url = "jdbc:sqlserver://MyServer;encrypt=true;integratedSecurity=true;"

Per connettersi a una porta specifica su un server, usare l'esempio seguente:

String url = "jdbc:sqlserver://MyServer:1533;encrypt=true;integratedSecurity=true;"

Per connettersi a un'istanza denominata su un server, usare l'esempio seguente:

String url = "jdbc:sqlserver://209.196.43.19;encrypt=true;instanceName=INSTANCE1;integratedSecurity=true;"

Per connettersi a un database specifico su un server, usare l'esempio seguente:

String url = "jdbc:sqlserver://172.31.255.255;encrypt=true;database=AdventureWorks;integratedSecurity=true;"

Per altri esempi di URL di connessione, vedere Costruzione dell'URL della connessione.

Creazione di una connessione con un timeout di accesso personalizzato

Se è necessario adattarsi al carico del server o al traffico di rete, è possibile creare una connessione che abbia un valore di timeout di accesso specifico, espresso in secondi, come nell'esempio seguente:

String url = "jdbc:sqlserver://MyServer;encrypt=true;loginTimeout=90;integratedSecurity=true;"

Creazione di una connessione con identità a livello di applicazione

Se è necessario usare la registrazione e il profiling, occorre identificare la connessione come avente origine da un'applicazione specifica, come nell'esempio seguente:

String url = "jdbc:sqlserver://MyServer;encrypt=true;applicationName=MYAPP.EXE;integratedSecurity=true;"

Chiusura di una connessione

È possibile chiudere una connessione di database in modo esplicito chiamando il metodo close della classe SQLServerConnection, come nell'esempio seguente:

con.close();

In questo modo verranno rilasciate le risorse di database usate dall'oggetto SQLServerConnection o, negli scenari con pool, verrà restituita la connessione al pool di connessioni.

Nota

Se si chiama il metodo Close verrà eseguito anche il rollback di tutte le transazioni in sospeso.

Vedi anche

Connessione a SQL Server con il driver JDBC