본문 바로가기

프로그래밍/JSP

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

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

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
com.mysql.jdbc.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.println("데이터베이스연결성공")
conn.close();
} catch(SQLException e) {
out.println("데이버베이스연결실패" + e.printStackTrace());
}
%>

6. DB 접속테스트 (java 테스트)
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();
}
}
}