https://www.youtube.com/playlist?list=PLq8wAnVUcTFWxwoc41CqmwnO-ZyRDL0og
강의를 듣고 정리한 내용입니다
실습용 사용자 추가
cmd
sqlplus > sys as sysdba로 접속 후 사용자를 추가한다
create user 사용자이름 identified by 비밀번호;
예시 : create user test identified by 0000;
1행에 오류:
ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.
라는 메시지와 함께 추가가 되지 않는다면
생성할 계정명 앞에 C## 키워드를 붙이거나
ALTER SESSION SET“_ORACLE_SCRIPT”=TRUE; 를 입력하면 된다
모든 권한 부여(실 사용시 권장하지 않음)
grand dba to 사용자이름;
grant dba to test;
계정 확인 show user;
계정 전환
CONNECT 계정/암호;
CONNECT SYS/암호 AS SYSDBA;
계정 삭제(잘못 만들었거나 실습이 끝난경우 사용)
DROP USER 계정명 CASCADE;
테이블 생성 후 테이블 조회 //추가되었는지 확인
desc notice;
desc member;
첫 번째 게시글 제목 출력하기
String url = "jdbc:oracle:thin:@localhost:1521/xepdb1";
-> oracle 18xe 버전이라 이 코드는 오류가 났다
"jdbc:oracle:thin:@localhost:1521/xe" 로 고쳤더니 실행되었다
String sql = "select * from notice";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url, "test", "****");
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
if(rs.next()) { //컬럼 출력
String title = rs.getString("TITLE");
System.out.println(title);
}
if(rs != null) rs.close();
if(st != null) st.close();
if(conn != null) conn.close();
콘솔창으로 실행시 아무것도 뜨지 않으면 정상 작동된 것이다
-> 아직 테이블에 데이터가 없기 때문이다
[실습 중간 발생한 오류]
OracleServiceXE 서비스가 중지되어서 오류 발생
시작을 눌러서 실행시켰다
리스너 오류가 뜬 경우
cmd 창에서
- lsnrctl
- start //리스너 시작
- service
-> 현재 실행되고 있는 서비스를 SID와 함께 확인 가능하다
orcl이 xe인지 xepdb1인지 확인 후 xepdb1 부분을 수정하면 된다
**이 방법으로도 해결이 되지 않는 경우 참고하기 좋은 블로그
https://shanepark.tistory.com/223
데이터 삽입
insert into notice values(1, ‘JDBC란 무엇인가?’, ‘newlec’, ‘aaa’, SYSDATE, 0, ‘’);
oracle은 데이터 추가 삭제 후 commit;을 해야한다
정상적으로 추가와 연결이 되었다면 다음과 같이 콘솔창에 뜰 것이다
'백엔드 > Database' 카테고리의 다른 글
트랜잭션 / 데이터 추가 사이트 | TIL_135 (0) | 2022.08.17 |
---|---|
Jdbc(ojdbc) 데이터 추가, 수정, 삭제 | TIL_134 (0) | 2022.08.15 |
Jdbc(ojdbc) 초기 세팅 | TIL_132 (0) | 2022.08.10 |
TIL 정리_131(Jdbc - ojdbc) (0) | 2022.08.08 |
TIL 정리_117(Oracle 문법2) (0) | 2022.07.07 |