Esempio di origine dati
Questa applicazione di esempio di Microsoft JDBC Driver per SQL Server illustra la modalità di connessione a un database di SQL Server usando un oggetto origine dati. Viene inoltre illustrato come recuperare dati da un database di SQL Server usando una stored procedure.
Il file di codice per questo esempio è denominato ConnectDataSource.java ed è disponibile nel percorso seguente:
\<installation directory>\sqljdbc_<version>\<language>\samples\connections
Requisiti
Per eseguire questa applicazione di esempio, è necessario impostare il classpath in modo da includere il file con estensione jar mssql-jdbc. È inoltre necessario l'accesso al database di esempio AdventureWorks2022. Per altre informazioni su come impostare il classpath, vedere Uso del driver JDBC.
Nota
Microsoft JDBC Driver per SQL Server fornisce i file di libreria di classi mssql-jdbc da usare a seconda delle impostazioni preferite di Java Runtime Environment (JRE). Per altre informazioni su quale file JAR scegliere, vedere Requisiti di sistema per il driver JDBC.
Esempio
Nell'esempio seguente il codice imposta le varie proprietà di connessione usando i metodi di impostazione dell'oggetto SQLServerDataSource, quindi esegue la chiamata al metodo getConnection dell'oggetto SQLServerDataSource per restituire un oggetto SQLServerConnection.
Il codice di esempio usa quindi il metodo prepareCall dell'oggetto SQLServerConnection per creare un oggetto SQLServerCallableStatement e viene eseguita la chiamata al metodo executeQuery per l'esecuzione della stored procedure.
Infine, viene usato l'oggetto SQLServerResultSet restituito dal metodo executeQuery per scorrere i risultati restituiti dalla stored procedure.
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class ConnectDataSource {
public static void main(String[] args) {
// Create datasource.
SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser("<user>");
ds.setPassword("<password>");
ds.setServerName("<server>");
ds.setPortNumber(<port>);
ds.setDatabaseName("AdventureWorks");
try (Connection con = ds.getConnection();
CallableStatement cstmt = con.prepareCall("{call dbo.uspGetEmployeeManagers(?)}");) {
// Execute a stored procedure that returns some data.
cstmt.setInt(1, 50);
ResultSet rs = cstmt.executeQuery();
// Iterate through the data in the result set and display it.
while (rs.next()) {
System.out.println("EMPLOYEE: " + rs.getString("LastName") + ", " + rs.getString("FirstName"));
System.out.println("MANAGER: " + rs.getString("ManagerLastName") + ", " + rs.getString("ManagerFirstName"));
System.out.println();
}
}
// Handle any errors that may have occurred.
catch (SQLException e) {
e.printStackTrace();
}
}
}