Backend (70) 썸네일형 리스트형 [Oracle] 오라클과 JDBC 연결하는 방법 (11g 엔터프라이즈 버전) # JDBC의 구조 - JDBC는 JDBC interface 와 JDBC Driver로 구성되어 있다. - 애플리케이션에서 SQL문을 만들어 JDBC interface를 통해 전송하면 실제 구현 클래스인 JDBC Driver에서 DBMS에 접속하여 SQL문을 전송한다. 그에 따른 결과를 다시 응용프로그램에게 전달한다. - JDBC는 애플리케이션과 DBMS를 연결해주는 다리 역할이라고 보면된다. * 여기서 JDBC Driver은 데이터베이스의 종류마다 다르기 때문에 종류와 버전에 맞는 Driver를 맞게 사용해줘야 한다. Oracle Database 11g Enterprise 버전을 기준으로 JDBC 연결하는 방법에 대해서 알아보겠다. 1. ojdbc6.jar 다운받기. repo1.maven.org/mav.. [Oracle] 오라클의 구조 # 논리적 구성요소 - 데이터 블록(data block) - 익스텐트(extent) - 세그먼트(segment) - 테이블스페이스(tablespace) # 물리적 구성요소 - 데이터파일 - 컨트롤 파일 - redo 로그 파일 - 설정 파일 - alert/trace 로그 파일 - 백업파일 1) 데이터 블록(data block) - 데이터가 저장되는 가장 작은 단위 - 저장해야 할 데이터가 늘어나면 데이터 블록의 배수로 저장 공간을 확보하여 저장한다. - 데이터 블록 크기는 db_block_size라는 설정 값에 저장됨. - 블록 크기 확인 명령 SQL > show parameter db_block_size # 블록 크기를 확인하는 다른 방법 - 설정 정보는 특정 테이블에 저장되는데 그 테이블 이름이 v$p.. [Oracle] SQL plus 에서 계정 등록 및 권한 설정 * 기본 계정 권한 설정 - "hr" 이라는 기본 계정이 존재한다. #hr 계정은 오라클에서 기본적으로 제공해주는 학습용 계정이다 1) 18c 이전 버전 ex) 11g 1. cmd 관리자 권한으로 실행 2. 아래 명령어 실행 SQL> alter user hr account unlock; // 잠겨있는 HR 계정 풀기 SQL> alter user hr identified by hr; // 비밀번호 새로 설정 2) 18c 이후 버전 1. cmd 관리자 권한으로 실행 2. 아래 명령어 실행 SQL> alter user hr account unlock; // 잠겨있는 HR 계정 풀기 SQL> alter user hr identified by hr; // 비밀번호 새로 설정 SQL> grant crate sess.. [Oracle] HTTP Listener Port 변경하기 Oracle 데이터베이스는 HTTP Listener Port 번호가 8080으로 기본으로 되어 있어 Apache tomcat 과 충돌하는 경우가 발생한다. 따라서 포트 번호를 변경해주는게 좋다. 1) sqlplus 접속 2) conn system - system 으로 접속한다. - 설정한 비밀번호 입력 3) exec DBMS_XDB.SETHTTPPORT("원하는 포트 번호"); "PL/SQL 처리가 정상적으로 완료되었습니다." 가 뜨면 정상적으로 포트번호가 바뀐것이다. [JAVA] ObjectStream을 이용한 Socket 통신 String으로만 소켓 통신을 한다면, 파일 같은 자료구조나 클래스는 보낼 수 없다. 따라서 소켓 통신을 할때 ObjectStream 으로 객체를 이용하여 통신을 하도록 하는 것이 좋다. 이때 객체는 Serializabe을 implements 한 직렬화한 클래스 여야 한다. * 먼저 기본적으로 어떻게 동작하는지 살펴보겠다. 단순히 서버에 로그인 한걸 알리는 코드이다. public class Member implements Serializable { private static final long serialVersionUID = 1L; private String id; private String pwd; public String getId() { return id; } public void setId(St.. [JAVA] 간단한 고객관리프로그램 * 고객관리 할 수 있는 프로그램을 AWT로 GUI를 구성하여 만들었습니다. String의 사용을 최대한 줄이고, StringBuffer를 사용하여 메모리 낭비를 줄이도록 하였습니다. ObjectStream을 이용하여 입출력 할 수 있도록 하였습니다. 파일을 저장, 새이름으로 저장, 불러오기 등 io를 사용할 수 있도록 구성하였습니다. ObjectStream을 사용하지 않고 객체 직렬화하지 않는 함수도 포함하였습니다. 복잡한 프로그램이 아니기에 Customer.java, CustomerManager.java 두개의 클래스만으로 구성하였고 이벤트 관련 리스너를 클래스안에서 모두 처리하도록 하였습니다. 화면 구성도 별도의 클래스로 panel를 나누지 않고 buildGUI 라는 함수안에서 모두 처리할 수 있도.. [JAVA] 계산기 만들기 * 계산식이 나오지 않고 동작하는 옛날 계산기 방식의 단순한 프로그램을 AWT로 GUI를 구성하여 만들었습니다. 코드) import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Label; import java.awt.Panel; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import jav.. [JAVA] 객체의 직렬화, ObjectOutputStream, ObjectInputStream 직렬화(Serialize) 란? 자바 시스템 내부에서 사용되는 Object 또는 Data를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술. JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술과 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태를 같이 이야기합니다. 직렬화를 통해 프로그램이 실행되는 동안 생성된 객체를 스트림을 이용해서 지속적으로 보관하거나 전송 할 수 잇다. 역직렬화(Deserialize) 란? byte로 변환된 Data를 원래대로 Object나 Data로 변환하는 기술을 역직렬화(Deserialize)라고 부릅니다. 직렬화된 바이트 형태.. 이전 1 ··· 4 5 6 7 8 9 다음