연결 작업

JDBC 드라이버 다운로드

다음 섹션에서는 Microsoft JDBC Driver for SQL Server의 SQLServerConnection 클래스를 사용하여 SQL Server 데이터베이스에 연결하는 다양한 방법의 예를 보여줍니다.

참고 항목

JDBC 드라이버를 사용하여 SQL Server에 연결하는 데 문제가 있으면 연결 문제 해결에서 문제를 해결하기 위한 제안 사항을 참조하세요.

DriverManager 클래스를 사용한 연결 만들기

SQL Server 데이터베이스에 가장 간단하게 연결하는 방법은 다음과 같이 JDBC 드라이버를 로드하고 DriverManager 클래스의 getConnection 메서드를 호출하는 것입니다.

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = DriverManager.getConnection(connectionUrl);  

이 방법은 지정된 URL에 성공적으로 연결할 수 있는 드라이버 목록에서 이용 가능한 첫 번째 드라이버로 데이터베이스에 연결합니다.

참고 항목

sqljdbc4.jar 클래스 라이브러리를 사용하는 경우 응용 프로그램에서는 Class.forName 메서드를 사용하여 드라이버를 명시적으로 등록하거나 로드할 필요가 없습니다. DriverManager 클래스의 getConnection 메서드가 호출되면 등록된 JDBC 드라이버 집합에서 적합한 드라이버가 검색됩니다. 자세한 내용은 JDBC 드라이 사용을 참조하세요.

SQLServerDriver 클래스를 사용한 연결 만들기

DriverManager에 대한 드라이버 목록에서 특정 드라이버를 지정해야 하는 경우 다음과 같이 SQLServerDriver 클래스의 connect 메서드를 사용하여 데이터베이스 연결을 만들 수 있습니다.

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = d.connect(connectionUrl, new Properties());  

SQLServerDataSource 클래스를 사용한 연결

SQLServerDataSource 클래스를 사용하여 연결해야 하는 경우, 다음과 같이 getConnection 메서드를 호출하기 전에 클래스의 다양한 setter 메서드를 사용할 수 있습니다.

SQLServerDataSource ds = new SQLServerDataSource();  
ds.setUser("MyUserName");  
ds.setPassword("*****");  
ds.setServerName("localhost");  
ds.setPortNumber(1433);
ds.setDatabaseName("AdventureWorks");  
Connection con = ds.getConnection();  

특정 데이터 원본을 대상으로 연결

특정 데이터 원본을 대상으로 하는 데이터베이스 연결을 만들어야 하는 경우 여러 가지 방법을 사용할 수 있습니다. 각 방법은 연결 URL을 사용하여 설정한 속성에 따라 달라집니다.

원격 서버의 기본 인스턴스에 연결하려면 다음 예제를 사용합니다.

String url = "jdbc:sqlserver://MyServer;encrypt=true;integratedSecurity=true;"

서버의 특정 포트에 연결하려면 다음 예제를 사용합니다.

String url = "jdbc:sqlserver://MyServer:1533;encrypt=true;integratedSecurity=true;"

서버의 명명된 인스턴스에 연결하려면 다음 예제를 사용합니다.

String url = "jdbc:sqlserver://209.196.43.19;encrypt=true;instanceName=INSTANCE1;integratedSecurity=true;"

서버의 특정 데이터베이스에 연결하려면 다음 예제를 사용합니다.

String url = "jdbc:sqlserver://172.31.255.255;encrypt=true;database=AdventureWorks;integratedSecurity=true;"

추가적인 연결 URL 예제는 연결 URL 작성을 참조하세요.

사용자 지정 로그인 시간 제한이 있는 연결

서버 부하 또는 네트워크 트래픽을 조정해야 하는 경우 다음 예제와 같이 특정 로그인 시간 제한 값을 초 단위로 나타낸 연결을 만들 수 있습니다.

String url = "jdbc:sqlserver://MyServer;encrypt=true;loginTimeout=90;integratedSecurity=true;"

애플리케이션 수준 ID가 있는 연결

로깅 및 프로파일링을 사용해야 하는 경우 다음 예제와 같이 연결을 특정 애플리케이션에서 시작된 것으로 식별해야 합니다.

String url = "jdbc:sqlserver://MyServer;encrypt=true;applicationName=MYAPP.EXE;integratedSecurity=true;"

연결 닫기

다음과 같이 SQLServerConnection 클래스의 close 메서드를 호출하여 데이터베이스 연결을 명시적으로 닫을 수 있습니다.

con.close();

이렇게 하면 SQLServerConnection 개체가 사용하고 있는 데이터베이스 리소스가 해제되거나 연결이 풀링 시나리오의 연결 풀에 반환됩니다.

참고 항목

close 메서드를 호출하면 보류 중인 트랜잭션도 롤백됩니다.

참고 항목

JDBC 드라이버로 SQL Server에 연결