데이터 원본 샘플
이 SQL Server용 Microsoft JDBC Driver 샘플 애플리케이션에서는 데이터 원본 개체를 사용하여 SQL Server 데이터베이스에 연결하는 방법을 보여 줍니다. 또한 저장 프로시저를 사용하여 SQL Server 데이터베이스에서 데이터를 검색하는 방법도 보여 줍니다.
이 샘플의 코드 파일 이름은 ConnectDataSource.java이며 다음과 같은 위치에 있습니다.
\<installation directory>\sqljdbc_<version>\<language>\samples\connections
요구 사항
이 샘플 애플리케이션을 실행하려면 mssql-jdbc jar 파일을 포함하도록 클래스 경로를 설정해야 합니다. 또한 AdventureWorks2022 샘플 데이터베이스에 대한 액세스 권한이 필요합니다. 클래스 경로를 설정하는 방법에 대한 자세한 내용은 JDBC 드라이버 사용을 참조하세요.
참고 항목
Microsoft JDBC Driver for SQL Server는 기본 설정된 JRE(Java Runtime Environment)에 따라 사용할 수 있는 mssql-jdbc 클래스 라이브러리 파일을 제공합니다. 선택할 JAR 파일에 대한 자세한 내용은 JDBC 드라이버에 대한 시스템 요구 사항을 참조하세요.
예시
다음 예제에서 샘플 코드는 SQLServerDataSource 개체의 setter 메서드를 사용하여 다양한 연결 속성을 설정한 다음 SQLServerDataSource 개체의 getConnection 메서드를 호출하여 SQLServerConnection 개체를 반환합니다.
그런 다음, SQLServerConnection 개체의 prepareCall 메서드를 사용하여 SQLServerCallableStatement 개체를 만든 후, executeQuery 메서드를 호출하여 저장 프로시저를 실행합니다.
마지막으로 샘플은 executeQuery 메서드에서 반환된 SQLServerResultSet 개체를 사용하여 저장 프로시저에서 반환된 결과를 반복합니다.
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();
}
}
}