🎅 오너먼트 프로젝트

JDBC 오너먼트 프로젝트용 계정 생성하고 사용해보기

보배 진 2025. 12. 22. 11:51

 

 

sql 파일 아무곳에서

SELECT OWNER, TABLE_NAME
FROM ALL_TABLES
WHERE TABLE_NAME = 'CART';

 

이 명령어를 사용하여 CART 테이블이 있는 계정을 찾아본다

 

나는 아무 행도  결과에 나오지 않았다

현재 접속한 계정 기준으로 CART 테이블이 어느 스키마에도 존재하지 않는다

즉, 아예 이 DB에 CART 테이블이 없는 상태이다

 

왜 CREATE TABLE은 됐는데 없는 것처러 보일까?

Oracle에서 이런 경우는

SQL을 실행한 DB와 JDBC가 접속한 DB가 다르기 때문일 것이라고 생각을 한다.

 

우리 팀은 user는 KEVIN으로 하고 password도 새롭게 만들어 프로젝트에 적용하기로 약속했다

그런데 나는 아직 만들지 않는 상황이다

지금부터 KEVIN 계정을 생성해보도록 하겠다

 


 

 

< cmd창 준비 >

Oracle 설치 체크 : where sqlplus

 

 

SYS 또는 SYSTEM 계정으로 먼저 접속
⚠️ 일반 계정은 다른 계정 생성 불가
→ 반드시 SYS 또는 SYSTEM으로 접속해야 한다

 

접속하는 방법 : CMD를 관리자 권한으로 실행

cmd를 우클릭하여 관리자 권한으로 실행한다

 

SYS 계정으로 접속 : sqlplus / as sysdba

 

SYSTEM 비밀번호 설정 : ALTER USER system IDENTIFIED BY 1234;

 

SYSTEM 계정으로 다시 접속 : CONNECT system/1234@xe

 


 

 

 

KEVIN 계정 생성

CREATE USER KEVIN
IDENTIFIED BY 1234
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;

 

 

 

KEVIN 권한 부여하기

GRANT CONNECT, RESOURCE TO KEVIN;
ALTER USER KEVIN QUOTA UNLIMITED ON USERS;

 

 

 

 

KEVIN 계정으로 접속 테스트 : CONNECT KEVIN/1234@xe

 

SHOW USER : KEVIN 나오면 완벽

 

 

 


 

 

eclips에 JDBC 연결하기 & DB 계정 생성

package model.common;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBCUtil {
	private static final String driverName = "oracle.jdbc.driver.OracleDriver";
	private static final String url = "jdbc:oracle:thin:@localhost:1521:xe";
	private static final String user = "KEVIN";
	private static final String password = "[비밀번호]";
	
	public static Connection connect() {
		Connection conn = null;
		try {
			Class.forName(driverName);
			conn = DriverManager.getConnection(url, user, password);
		} catch (Exception e) {
			e.printStackTrace();
		}		
		return conn;
	}
	
	public static void disconnect(Connection conn,PreparedStatement pstmt) {
		try {
			pstmt.close();
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public static void disconnect(Connection conn) {
	    try {
	        if (conn != null && !conn.isClosed()) {
	            conn.close();
	        }
	    } catch (SQLException e) {
	        e.printStackTrace();
	    }
	}
}

 

 

DB 계정 생성

https://bobaejin.tistory.com/85

 

DBMS로 오라클 유저 만들기 | eclips와 연동하기

명령어 : sqlplus sys/oracle as sysdba SQL >>대소문자 구분 Xjava와의 구분을 위해대문자로 작성한다는 특징이 있음오라클 유저 만들기유저 생성 : CREATE USER [이름]ex) CREATE USER YOOJIN 생성한 유저한테 권한

bobaejin.tistory.com

 

 

그리고 이클립스를 종료하고 다시 실행시키면 된다