Пример источника данных
Этот пример приложения с Microsoft JDBC Driver для SQL Server демонстрирует подключение к базе данных SQL Server с использованием объекта источника данных. В нем также показано, как извлекать данные из базы данных SQL Server с помощью хранимой процедуры.
Файл кода для этого примера с именем ConnectDataSource.java находится в следующей папке:
\<installation directory>\sqljdbc_<version>\<language>\samples\connections
Требования
Чтобы запустить этот пример приложения, необходимо включить в параметр classpath путь к файлу mssql-jdbc.jar. Вам также потребуется доступ к образцу базы данных AdventureWorks2022. См. сведения о том, как настроить classpath в руководстве по использованию драйвера JDBC Driver.
Примечание.
Драйвер Microsoft JDBC для SQL Server предоставляет файлы библиотеки классов mssql-jdbc для использования в зависимости от предпочитаемых параметров среды выполнения Java (JRE). Для получения дополнительных сведений о том, какой JAR-файл выбрать, см. статью Требования к системе для драйвера JDBC.
Пример
В следующем примере образец кода задает различные свойства соединения с помощью методов задания объекта SQLServerDataSource, затем вызывает метод getConnection объекта SQLServerDataSource, чтобы вернуть объект SQLServerConnection.
Далее образец кода создает объект SQLServerCallableStatement с помощью метода prepareCall объекта SQLServerConnection, после чего вызывается метод executeQuery для выполнения хранимой процедуры.
Наконец, для прохода по результатам, возвращенным хранимой процедурой, используется объект SQLServerResultSet, возвращенный из метода executeQuery.
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();
}
}
}