ORACLE 10g 드라이버 설치

odjbc14.jar 파일을 다운받아 <J2SDK>/jre/lib/ext 데릭토리와

<Tomcat>/common/lib 디렉토리에 각각 넣어둔다.

자바코드

import java.sql.*;

public class DB_Connector {

 private String url = "jdbc:oracle:thin:@oracle.uos.ac.kr:1521:ORCL";
 private String id = "db_2003920022";
 private String pass = "db_2003920022";
 private Connection conn;
 private String status;

 public DB_Connector() throws SQLException {
  try {
   // 1 단계 : 데이터베이스와 연결하여 사용할 파일들이 있는지를 확인
   Class.forName("oracle.jdbc.driver.OracleDriver");
   // 2 단계 : 드라이버 클래스를 통해 DB 서버와 연결하는 Connection 객체 생성
   this.conn = DriverManager.getConnection(url, id, pass);
   status="연결 성공";
   System.out.println(status);
  }
  catch(SQLException ee) {
   status="연결 실패";
   System.err.println("SQL Error = " + ee.toString());
   System.err.println("error = " + ee.toString());
   this.conn.close();
  }
  catch(ClassNotFoundException ee) {
   ee.printStackTrace();
  }
 }
 public String getStatus(){
  return this.status;
 }

 public Connection getConn() {
  return this.conn;
 }
 
 public Statement getSmt() {
  Statement stmt = null;
  try {
   stmt = this.conn.createStatement();
   System.out.println(new java.util.Date() + "Statement 객체 생성 성공!");
  }
  catch(SQLException ee) {
   System.err.println(new java.util.Date() + "Statement 객체 생성 실패!");
  }
  return stmt;
 }
 
 public PreparedStatement getPsmt(String query) {
  PreparedStatement pstmt = null;
  try {
   pstmt = this.conn.prepareStatement(query);
   System.out.println(new java.util.Date() + "PreparedStatement 객체 생성 성공!");
  }
  catch(SQLException ee) {
   System.err.println(new java.util.Date() + "PreparedStatement 객체 생성 실패!");
  }
  return pstmt;
 }

 public void delAll() {
  Statement stmt = null;
  String query = "delete from pms";
  try {
   stmt = this.conn.createStatement();
   stmt.executeUpdate(query);
  }
  catch(SQLException ee) {
   ee.printStackTrace();
  }
 }
 public void close() {
  if(this.conn != null) {
   try {
    if(!this.conn.isClosed()) {
     this.conn.close();
     System.out.println(new java.util.Date() + "Statement 객체 해제 성공!");
    }
   }
   catch(SQLException ee) {
    System.out.println(new java.util.Date() + "Statement 객체 해제 실패!");
   }
   this.conn = null;
  }
 }
}

오라클의 계정을 지정하고 url 을 지정한다.

private String url = "jdbc:oracle:thin:@oracle.uos.ac.kr:1521:ORCL";

위에서 끝에있는 ORCL 은 오라클의 SID 이다. 각자 컴퓨터에 설치된

오라클의 SID 를 지정해야 한다.

Class.forName("oracle.jdbc.driver.OracleDriver");

오라클 JDBC 드라이버를 로드한다.

------------------------------------------------------------------------------

팁으로 시퀀스 사용법

CREATE TABLE book (
        num NUMBER(7) NOT NULL,
        name VARCHAR(50),
        email VARCHAR(30),
        home VARCHAR(30),
        contents NVARCHAR2(2000),
        CONSTRAINT book_num_ok PRIMARY KEY(num)
)

CREATE SEQUENCE book_num
        START WITH 1
        INCREMENT BY 1
        NOMAXVALUE;

String sql = "insert into book(num, name, email, home, contents)"
    + " values(book_num.nextVal, ?, ?, ?, ?)";

오라클에서 num 값을 자동적으로 하나씩 증가시키기 위해 시퀀스를 사용

Posted by 행복한 프로그래머 궁금쟁이박
TAG

댓글을 달아 주세요