Пример источника данных

Скачать драйвер JDBC

Этот пример приложения с 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 Driver для 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();
        }
    }
}

См. также раздел

Подключение к данным и их извлечение