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

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

Этот пример приложения с Microsoft JDBC Driver для SQL Server демонстрирует подключение к базе данных SQL Server с использованием объекта источника данных. В нем также показано, как извлекать данные из базы данных SQL Server с помощью хранимой процедуры.

Файл кода для этого примера с именем ConnectDataSource.java находится в следующей папке:

\<installation directory>\sqljdbc_<version>\<language>\samples\connections

Требования

Чтобы запустить этот пример приложения, необходимо включить в параметр classpath путь к файлу mssql-jdbc.jar. Вам также потребуется доступ к образцу базы данных AdventureWorks2025. См. сведения о том, как настроить 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();
        }
    }
}