Exemple de source de données
Cet exemple d'application du pilote Microsoft JDBC Driver pour SQL Server montre comment se connecter à une base de données SQL Server via un objet source de données. Il présente également l'extraction de données à partir d'une base de données SQL Server grâce à une procédure stockée.
Le fichier de code de cet exemple, ConnectDataSource.java, se trouve à l’emplacement suivant :
\<installation directory>\sqljdbc_<version>\<language>\samples\connections
Spécifications
Pour exécuter cet exemple d’application, définissez le classpath de façon à inclure le fichier jar mssql-jdbc. Vous devez également avoir accès à l’exemple de base de données AdventureWorks2022. Pour plus d’informations sur la façon de définir l’instruction classpath, consultez à l’aide du pilote JDBC.
Notes
Le Pilote Microsoft JDBC pour SQL Server fournit les fichiers bibliothèques de classes mssql-jdbc à utiliser en fonction des paramètres JRE (Java Runtime Environment) choisis. Pour plus d’informations sur le fichier JAR à choisir, voir Configuration requise pour le pilote JDBC.
Exemple
Dans l’exemple suivant, le code définit différentes propriétés de connexion avec les méthodes setter de l’objet SQLServerDataSource, puis appelle la méthode getConnection de l’objet SQLServerDataSource pour retourner un objet SQLServerConnection.
Ensuite, il utilise la méthode prepareCall de l’objet SQLServerConnection pour créer un objet SQLServerCallableStatement ; la méthode executeQuery est alors appelée pour exécuter la procédure stockée.
Pour finir, l’exemple utilise l’objet SQLServerResultSet retourné par la méthode executeQuery pour boucler sur les résultats retournés par la procédure stockée.
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();
}
}
}