2012-03-05 4 views
0

책에서 JDBC API를 사용하는 드라이버에 대해 읽었습니다. 설명에 대해서는 명확하지 않습니다. 아래 코드가 어떤 종류의 드라이버를 사용하는지 알고 싶습니다. 유형 4 드라이버 (데이터베이스 공급 업체가 제공하는 java 드라이버)입니까? 유형 4 드라이버의 경우 클라이언트 응용 프로그램에 설치할 필요가 없다고 언급되었습니다. 하지만 코드가 작동하려면 클래스 파일 com.mysql.jdbc.Driver가 필요합니다. 여기에 무엇을 의미하는지 확실하지 않습니다.JDBC 드라이버 정보

또한 유형 2 드라이브는 데이터베이스 공급 업체에서 드라이버의 바이너리 코드를 사용하므로 클라이언트에 설치해야합니다. 아래의 예와 다른 점. 유형 2 드라이버에 액세스하기 위해 샘플 코드를 붙여 넣을 수 있다면 도움이 될 것입니다. 당신이 문구 (특히 오래된 문서에서) 4 JDBC 드라이버를 입력 할 참조 "아무것도 설치할 필요가 없다"를 참조하면

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
String url = "jdbc:mysql://localhost/coffeebreak"; 
conn = DriverManager.getConnection(url, "username", "password"); 
doTests(); 
conn.close(); 
+0

표준 [JDBC에 대한 Java 자습서] (http://docs.oracle.com/javase/tutorial/jdbc/index.html)가 유용 할 수 있습니다. – DNA

+0

정보를 보내 주셔서 감사합니다. – Arav

답변

4

, 운전자 항아리 자체 이외의 아무것도가 설치 될 필요가 없다는 사실을 의미 클라이언트 컴퓨터. 당신은 무슨 일이 있어도을 드라이버 항아리가 필요 없지만, 할 다른 유형 :

  • 유형 1 : ODBC와 ODBC 드라이버는 클라이언트 시스템에 설치해야합니다
  • 유형 2 : 기본 데이터베이스 드라이버 것이다 클라이언트 시스템에 설치해야
  • 유형 3 : 프로토콜 프록시 서버는 예를 들어

그래서 클라이언트 시스템과 데이터베이스 사이에 설치해야 할 것이라고 이외에 오라클 유형 2 드라이버 (jdbc jar 자체), 머신에 완전한 oracle 클라이언트 설치가 필요합니다. 그것은 자바 코드를 실행할 것이다.

노트의 몇 :

  • 현대 JDBC 드라이버와 자바 6 (IIRC), 때문에, 당신은 더 이상 Class.forName을 문을 필요하지 않습니다. 최신 JDBC 드라이버는 이제 자동으로 등록됩니다.

  • mysql jdbc 드라이버는 유형 4 드라이버이므로 사용하는 코드를 보면 알 수 없습니다.

  • 드라이버를 사용하여 차이점을 알 수 없으므로 유형 2 드라이버를 사용하는 샘플 코드는 질문에서 제공 한 것과 동일합니다.

  • 모든 유형의 jdbc 드라이버 (유형 1은 그 인스턴스가 하나만 있기 때문에 제외됨)는 공급 업체에서 제공하는 기능 드라이버입니다. 유형은 드라이버가 데이터베이스에 연결하는 방법을 말하며 누구를 제공하지는 않습니다.

  • 타입 2 드라이버는 요즘 매우 드물며, IMO는 아무도 실제로 타입 1 또는 3 드라이버를 전혀 사용하지 않습니다.

  • 요즘 대부분의 현대적인 생산 가치있는 jdbc 드라이버는 유형 4입니다. 오라클은 유형 2와 유형 4 드라이버를 모두 제공하지만 그 점은 내가 생각할 수있는 유일한 것입니다. 드라이버에는 동일한 기능이 있습니다.) 데이터베이스 공급 업체의 특정 조언이 없으면 유형 4를 사용하십시오.

또한 인용되는 언어는 꽤 오래된 것으로 들립니다. JDBC의 기본 사항은 잠시 동안 크게 변경되지는 않았지만 새로운 책을 체크 아웃하려고 할 수도 있습니다.

+1

방금 ​​보트로드를 배웠습니다. 감사. – Synesso

+0

정보를 제공해 주셔서 감사합니다. – Arav