JavaTM Platform
Standard Ed. 6

java.sql
클래스 DriverManager

java.lang.Object 
  상위를 확장 java.sql.DriverManager


public class DriverManager
extends Object

일련의 JDBC 드라이버를 관리하기 위한 기본적인 서비스입니다.
주: JDBC 2.0 API 로 새롭게 추가된 DataSource 인터페이스를 사용해 데이터 소스에 접속하는 일도 가능합니다. 데이터 소스에의 접속시에는 DataSource 객체의 사용을 추천합니다.

DriverManager 클래스는, 초기화시에 "jdbc.drivers" 시스템 프로퍼티으로 참조되는 드라이버 클래스를 로드하려고 합니다. 이것에 의해, 사용자는 어플리케이션으로 사용하는 JDBC 드라이버를 커스터마이즈 할 수 있습니다. 예를 들어,~/. hotjava/properties 파일로 다음의 항목을 지정합니다.

jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
 

DriverManager 메소드 getConnectiongetDrivers 는, Java Standard Edition 서비스 프로바이더 메카니즘을 지원하도록(듯이) 확장되었습니다. JDBC 4.0 드라이버는, 파일 META-INF/services/java.sql.Driver 를 포함할 필요가 있습니다. 이 파일에는,java.sql.Driver 의 JDBC 드라이버 구현의 이름이 포함됩니다. 예를 들어 my.sql.Driver 클래스를 로드하기 위해서(때문에),META-INF/services/java.sql.Driver 파일에 다음의 엔트리가 포함됩니다.

my.sql.Driver
 

어플리케이션에서는,Class.forName() 를 사용해 JDBC 드라이버를 명시적으로 로드할 필요가 없어졌습니다. 현재 Class.forName() 를 사용해 JDBC 드라이버를 로드하는 기존의 프로그램은, 변경없이 계속 동작합니다.

getConnection 메소드가 불려 가면(자),DriverManager 는, 초기화시에 로드 된 드라이버나, 현애플릿 혹은 어플리케이션과 같은 클래스 로더를 사용해 명시적으로 로드 된 드라이버중에서 적절한 드라이버를 찾으려고 합니다.

Java 2 SDK, Standard Edition, Version 1.3 이후는, 로그 스트림은, 적절한 액세스권이 허가되고 있는 경우에 한정해 설정할 수 있습니다. 일반적으로 이것은, 툴 PolicyTool 를 사용해 행해집니다. 이 툴은,permission java.sql.SQLPermission "setLog" 를 허가하는데 사용할 수 있습니다.

관련 항목:
Driver , Connection

메소드의 개요
static void deregisterDriver (Driver  driver)
          DriverManager 의 리스트로부터 드라이버를 제외합니다.
static Connection getConnection (String  url)
          지정된 데이타베이스의 URL 에의 접속을 시도합니다.
static Connection getConnection (String  url, Properties  info)
          지정된 데이타베이스의 URL 에의 접속을 시도합니다.
static Connection getConnection (String  url, String  user, String  password)
          지정된 데이타베이스의 URL 에의 접속을 시도합니다.
static Driver getDriver (String  url)
          지정된 URL 를 인식하는 드라이버를 획득하려고 합니다.
static Enumeration <Driver > getDrivers ()
          현재의 호출원이 액세스 하고 있는, 로드 사라질 수 있어 모든 JDBC 드라이버의 열거를 가져옵니다.
static int getLoginTimeout ()
          데이타베이스에 로그인하고 있을 때, 드라이버가 기다릴 수 있는 최장의 시간을 초수로 가져옵니다.
static PrintStream getLogStream ()
          추천 되고 있지 않습니다.   
static PrintWriter getLogWriter ()
          로그 라이터를 가져옵니다.
static void println (String  message)
          현재의 JDBC 로그 스트림에 메세지를 인쇄합니다.
static void registerDriver (Driver  driver)
          지정된 드라이버를 DriverManager 에 등록합니다.
static void setLoginTimeout (int seconds)
          데이타베이스에 접속하려고 하고 있을 때, 드라이버가 기다릴 수 있는 최장의 시간을 초수로 설정합니다.
static void setLogStream (PrintStream  out)
          추천 되고 있지 않습니다.   
static void setLogWriter (PrintWriter  out)
          DriverManager 및 모든 드라이버가 사용하는, 로그 및 트레이스의 PrintWriter 객체를 설정합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

getLogWriter

public static PrintWriter  getLogWriter()
로그 라이터를 가져옵니다. getLogWriter 메소드 및 setLogWriter 메소드는, 추천 되지 않는 get/setlogStream 메소드 대신에 사용합니다.

반환값:
java.io.PrintWriter 객체
도입된 버젼:
1.2
관련 항목:
setLogWriter(java.io.PrintWriter)

setLogWriter

public static void setLogWriter(PrintWriter  out)
DriverManager 및 모든 드라이버가 사용하는, 로그 및 트레이스의 PrintWriter 객체를 설정합니다.  

setLogWriter 메소드의 도입에 의해, 마이너 버젼의 관리의 문제가 발생합니다. SetLogWriter 메소드는 getLogStream 에 의해 반환되는 PrintStream 객체를 생성할 수 없습니다. Java 플랫폼에는 역방향의 변환은 없습니다. 그 때문에, 새로운 어플리케이션으로,setLogWriter 를 사용해,getLogStream 를 사용하고 있는 JDBC 1.0 드라이버도 사용하고 있는 것은, 그 드라이버에 의해 기술된 디버그 정보를 볼 수가 없습니다.

Java 2 SDK, Standard Edition, Version 1.3 릴리스 이후에서는, 로그 스트림을 설정하기 전에,SQLPermission 객체가 있을지 어떨지를 이 메소드가 체크합니다. SecurityManager 가 존재해, 그 checkPermission 메소드가 로그 라이터의 설정을 허가하지 않는 경우, 이 메소드는 java.lang.SecurityException 를 throw 합니다.

파라미터:
out - 새로운 로그 및 트레이스의 PrintStream 객체. 로그 및 트레이스를 무효로 하는 경우는 null
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkPermission 메소드가 로그 라이터의 설정을 거부했을 경우
도입된 버젼:
1.2
관련 항목:
SecurityManager.checkPermission(java.security.Permission) , getLogWriter()

getConnection

public static Connection  getConnection(String  url,
                                       Properties  info)
                                throws SQLException 
지정된 데이타베이스의 URL 에의 접속을 시도합니다. DriverManager 는, 등록된 JDBC 드라이버의 집합으로부터 적절한 드라이버를 선택하려고 합니다.

파라미터:
url - jdbc:subprotocol:subname 형식의 데이타베이스 URL
info - 접속 인수로서의, 임의의 캐릭터 라인 태그 및 값의 페어의 리스트. 일반적으로은, 적어도 "user" 프로퍼티과 "password" 프로퍼티은 지정해야 한다
반환값:
URL 에의 Connection
예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우

getConnection

public static Connection  getConnection(String  url,
                                       String  user,
                                       String  password)
                                throws SQLException 
지정된 데이타베이스의 URL 에의 접속을 시도합니다. DriverManager 는, 등록된 JDBC 드라이버의 집합으로부터 적절한 드라이버를 선택하려고 합니다.

파라미터:
url - jdbc:subprotocol:subname 형식의 데이타베이스 URL
user - 그 대리로서 접속을 하는 데이타베이스 사용자
password - 사용자의 패스워드
반환값:
URL 에의 접속
예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우

getConnection

public static Connection  getConnection(String  url)
                                throws SQLException 
지정된 데이타베이스의 URL 에의 접속을 시도합니다. DriverManager 는, 등록된 JDBC 드라이버의 집합으로부터 적절한 드라이버를 선택하려고 합니다.

파라미터:
url - jdbc:subprotocol:subname 형식의 데이타베이스 URL
반환값:
URL 에의 접속
예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우

getDriver

public static Driver  getDriver(String  url)
                        throws SQLException 
지정된 URL 를 인식하는 드라이버를 획득하려고 합니다. DriverManager 는, 등록된 JDBC 드라이버의 집합으로부터 적절한 드라이버를 선택하려고 합니다.

파라미터:
url - jdbc:subprotocol:subname 형식의 데이타베이스 URL
반환값:
지정된 URL 에 접속할 수 있는 드라이버를 나타내는 Driver 객체
예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우

registerDriver

public static void registerDriver(Driver  driver)
                           throws SQLException 
지정된 드라이버를 DriverManager 에 등록합니다. 새롭고 로드 되는 드라이버 클래스는 registerDriver 메소드를 호출해, 그것을 DriverManager 에 통지하지 않으면 안됩니다.

파라미터:
driver - DriverManager 에 등록되는 새로운 JDBC 드라이버
예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우

deregisterDriver

public static void deregisterDriver(Driver  driver)
                             throws SQLException 
DriverManager 의 리스트로부터 드라이버를 제외합니다. 애플릿은, 자신의 클래스 로더로부터 드라이버를 제외한 것만이 가능합니다.

파라미터:
driver - 제외하는 JDBC 드라이버
예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우

getDrivers

public static Enumeration <Driver > getDrivers()
현재의 호출원이 액세스 하고 있는, 로드 사라질 수 있어 모든 JDBC 드라이버의 열거를 가져옵니다.

주: 드라이버의 클래스명은,d.getClass(). getName() 를 사용해 찾아낼 수가 있습니다.

반환값:
호출원의 클래스 로더에 의해 로드 되는 JDBC 드라이버의 리스트

setLoginTimeout

public static void setLoginTimeout(int seconds)
데이타베이스에 접속하려고 하고 있을 때, 드라이버가 기다릴 수 있는 최장의 시간을 초수로 설정합니다.

파라미터:
seconds - 로그인 시간제한 (초단위). 제로는 제한 없음
관련 항목:
getLoginTimeout()

getLoginTimeout

public static int getLoginTimeout()
데이타베이스에 로그인하고 있을 때, 드라이버가 기다릴 수 있는 최장의 시간을 초수로 가져옵니다.

반환값:
드라이버의 로그인의 시한 (초단위)
관련 항목:
setLoginTimeout(int)

setLogStream

public static void setLogStream(PrintStream  out)
추천 되고 있지 않습니다.  

DriverManager 및 모든 드라이버가 사용하는, 로그 및 트레이스의 PrintStream 를 설정합니다.

Java 2 SDK, Standard Edition, Version 1.3 릴리스에서는, 로그 스트림을 설정하기 전에,SQLPermission 객체가 있을지 어떨지를 이 메소드가 체크합니다. SecurityManager 가 존재해, 그 checkPermission 메소드가 로그 라이터의 설정을 허가하지 않는 경우, 이 메소드는 java.lang.SecurityException 를 throw 합니다.

파라미터:
out - 로그 및 트레이스의 새로운 PrintStream. 무효로 하는 경우는 null
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkPermission 메소드가 로그 스트림의 설정을 거부했을 경우
관련 항목:
SecurityManager.checkPermission(java.security.Permission) , getLogStream()

getLogStream

public static PrintStream  getLogStream()
추천 되고 있지 않습니다.  

DriverManager 및 모든 드라이버가 사용하는, 로그 및 트레이스의 PrintStream 를 가져옵니다.

반환값:
로그 및 트레이스의 PrintStream. 무효인 경우는 null
관련 항목:
setLogStream(java.io.PrintStream)

println

public static void println(String  message)
현재의 JDBC 로그 스트림에 메세지를 인쇄합니다.

파라미터:
message - 로그 메세지 또는 트레이스 메세지

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.