Condividi tramite


Utilizzo delle connessioni

Nelle sezioni seguenti vengono forniti esempi dei diversi modi di connettersi a un database di SQL Server utilizzando la classe SQLServerConnection del driver JDBC per Microsoft SQL Server.

Nota

Se si verificano problemi durante la connessione a SQL Server mediante il driver JDBC, vedere Risoluzione dei problemi di connettività per suggerimenti a riguardo.

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;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 utilizza 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 nell'insieme 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 utilizzando 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;database=AdventureWorks;integratedSecurity=true;"
Connection con = d.connect(connectionUrl, new Properties());

Creazione di una connessione mediante la classe SQLServerDataSource

Se è necessario creare una connessione utilizzando la classe SQLServerDataSource, è possibile utilizzare 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 dei dati di destinazione molto specifica

Se è necessario creare una connessione di database con un'origine dei dati di destinazione molto 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, utilizzare l'esempio seguente:

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

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

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

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

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

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

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

Per ulteriori 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 uno specifico valore di timeout di accesso, espresso in secondi, come nell'esempio seguente:

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

Creazione di una connessione con identità a livello di applicazione

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

String url = "jdbc:sqlserver://MyServer;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 utilizzate 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.

Vedere anche

Altre risorse

Connessione a SQL Server con il driver JDBC