- Solaris (SPARC, X86, X64) 자료실 -

순간을 위해 평생을 준비하라.
기회란 언제나 예고 없이 찾아온다 항상 낚싯대를 던져 놓아라.
전혀 기대하지 않았던 곳에서 고기가 잡히리라.




Vote Reply Modify Forward Prev Next List

  작성자   : 조성환 [ ladmin ] 추천: 2541, 수정: 7, 조회: 8278, 줄수: 253, 분류: Etc.
JDBC 정의
제목 없음

요약
자바(JAVA)에서 제공하는 데이터베이스 연동을 도와주는 API.







본문
자바 프로그램 내에서 데이터베이스 질의문 즉, SQL을 실행하기 위한 자바 API(application programming interface)이다.

Java database connectivity의 약자로 생각하기도 하지만 실제로는 상표 이름이다.

JDBC는 데이터베이스 및 애플리케이션 개발자들을 위한 표준 API를 제공하고 순수 자바 API만으로도 데이터베이스 응용업무를 만들게 해준다.



JDBC를 사용하면,

어떠한 관계 데이터베이스(relational database)에서도 SQL문을 사용하기 쉽다.

즉, JDBC API를 사용하면 DB2, Sybase, Oracle, Informix, mSQL 등의 데이터베이스에 접근하는 프로그램을 따로 만들 필요가 없다.

단지 하나의 프로그램을 작성하고 그 프로그램에서 SQL문을 적당한 데이터베이스에 전송할 수 있다.


또한 응용업무를 자바로 작성한다면 보유한 기종이나 소프트웨어에 따라 다르게 작성하지 않아도 되기 때문에 자바와 JDBC의 결합은 하나의 프로그램이 어디에서나 동작할 수 있게 해준다.

자바는 사용하기에 견고하고 안전하고 쉽고 이해하기 쉬우며 데이터베이스 응용업무를 만드는데 있어서 최적의 언어라 할 수 있다.

단지 필요한 것은 다양한 데이터베이스에 연결하는 방법일 것이다.

JDBC는 이러한 것을 위한 도구이다.


JDBC는 자바의 기능을 확장한다.

예를 들어 자바와 JDBC API를 사용하면, 원격 데이터베이스에서 얻은 정보를 사용하는 애플릿을 웹 페이지에 포함시킬 수 있다.

또는 기업에서 서로 다른 플랫폼을 사용하는 사원들이 인트라넷을 사용하여 하나 이상의 내부 데이터베이스에 연결하는 데에도 JDBC가 사용될 수 있다.

기업은 이미 개발된 데이터베이스를 계속 사용할 수 있으며 정보가 다른 곳에 저장되어 있어도 쉽게 정보에 접근할 수 있다.

또 새로운 응용업무를 개발하는데 소요되는 시간도 짧다.






(참고)

데이타베이스별 JDBC 설정(Oracle, MySQL, MSSQL)

출처 : http://blog.naver.com/sungback/90008942045




1. 드라이버설치
해당 DB 드라이버를 JAVA_HOME/jre/lib/ext 와 TOMCAT_HOME/common/lib 아래에 복사


2. URL분석
url 형식의 문자열을 인자로 사용.

jdbc:subprotocol:subname
subprotocol -> 사용할 드라이버 이름 or 특정 데이터베이스와의 연결을 지정하는 방식
subname -> 찾고자 하는 특정 데이터베이스명


3. Database별 Driver 와 connection URL

DATABASE

VALUE

ORACLE

DRIVER

oracle.jdbc.driver.OracleDriver

URL

jdbc:oracle:thin:@hostname:port:SID

MSSQL

DRIVER

com.microsoft.jdbc.sqlserver.SQLServerDriver

URL

jdbc:Microsoft:sqlserver://localhost:1433;databasename=DB

MYSQL

DRIVER

org.gjt.mm.mysql.Driver

URL

jdbc:mysql://localhost:3306/DB



4. 드라이버테스트 (도스창)  
도스상에서 javap 드라이버명
ex)javap com.mysql.jdbc.Driver


5. DB 접속테스트 (JSP 테스트)
<%@ page contentType="text/html;charset=euc-kr" import="java.sql.*" %>
<%
try {
Class.forName("해당JDBC_DRIVER");
String url = "해당CONNECTION URL";
String id = "DB사용자아이디";
String pass = "DB비밀번호";

Connection conn = DriverManager.getConnection(url, id, pass);

Out.print("데이터베이스연결성공")
conn.close();

} catch(SQLException e) {
out.println("데이버베이스연결실패" + e.printStackTrace());
}
%>
6. DB 접속테스트 (java 테스트)
* 클래스패스설정필요 ex)c:\jdk1.4\jdbcmysql-connector-java-3.0.15-ga-bin.jar

import java.sql.*;

public class DriverTest{
      
      /* mysql
      private static String JDBC_DRIVER = "com.mysql.jdbc.Driver";
      private static String JDBC_URL = "jdbc:mysql://localhost:3306/dbname?uniCode=true&characterEncoding=euckr";
      private static String DBUSER = "root";
      private static String DBUSER_PASS = "passwd";
      */

      /* mssql
      private static String JDBC_DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
      private static String JDBC_URL =
                                  "jdbc:microsoft:sqlserver://localhost:1433;databasename=gmpd";
      private static String DBUSER = "sa";
      private static String DBUSER_PASS = "passwd";
      */

      public static void main(String args[]){
            Connection con = null;
            try{
                    Class.forName(JDBC_DRIVER).newInstance();
                   con=DriverManager.getConnection(JDBC_URL, DBUSER, DBUSER_PASS);
                   System.out.println("Success");
            }catch(SQLException ex){
                   System.out.println("SQLException" + ex);
                   ex.printStackTrace();
            }catch(Exception ex){
                   System.out.println("Exception:" + ex);
                   ex.printStackTrace();                   
            }
      }
}

 

이전: 제로보드5 (zb5) 관리자 계정인 admin 패스워드 변경 [초기화] 하기 (강추)
다음: ODBC [open database connectivity] 정의
2006/10/30(20:21) from 59.30.129.220
CrazyWWWBoard 2000

Vote Reply Modify Forward Prev Next List

(c) Nobreak Technologies, Inc.