* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window7 32bit, Linux 64bit 등 | |
[cubrid_rel] 수행 결과 | |
[도움말]-[버전정보] 확인 | |
java |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요
제가 이번에 프로젝트 진행하는데 큐브리드 db를 이용하게 되었습니다.
등록하는 자료중에 텍스트 형식의 데이터가 있어서 등록이 가능한지 등록이 가능하다면 어떻게 해야 하는지 궁금합니다.
입력 형식은 아래와 같습니다.
1.이시신청에 대한 판단 등
가.이의신청의 사유
법륭에 의거하여 사유를 하며, 관련 법규는 "개인정보보호범" 3조 2항 등등
법륭에 의거하여 사유를 하며, 관련 법규는 "개인정보보호범" 3조 2항 등등
법륭에 의거하여 사유를 하며, 관련 법규는 "개인정보보호범" 3조 2항 등등
나.이의신청의 결과
법륭에 의거하여 사유를 하며, 관련 법규는 "개인정보보호범" 3조 2항 등등
법륭에 의거하여 사유를 하며, 관련 법규는 "개인정보보호범" 3조 2항 등등
법륭에 의거하여 사유를 하며, 관련 법규는 "개인정보보호범" 3조 2항 등등
위와 같은 형식이고, 양은 종류에 따라 길어 질수 있습니다. 200줄 이상 1만자 이상 등등
그럼 좋은 답변 기다리겠습니다.
수고하세요.
질문하신 내용에 대해서는 2가지로 분류 할 수 있습니다.
1) 첫번째(Single 구성인 경우)
- 등록 할 자료를 테이블 컬럼에 넣는 방법 2가지
예시1) 컬럼 varchar 타입
CREATE TABLE t_string(id INTEGER NOT NULL PRIMARY KEY,
c_str varchar);
INSERT INTO t_string(id, c_string) VALUES(1, '등록 할 txt자료');
SELECT id, c_str FROM t_string;
예시2) 컬럼 CLOB 타입
CREATE TABLE t_clob(id INTEGER NOT NULL PRIMARY KEY,
c_clob CLOB);
INSERT INTO t_clob(id, c_clob) VALUES(1, CHAR_TO_CLOB('등록할 자료'));
INSERT INTO t_clob(id, c_clob) VALUES( 2, CLOB_FROM_FILE('등록할 자료파일경로')); =>(단, 이 질의문은 CM에서 사용할 수 없음.)
SELECT id, CAST(c_clob AS VARCHAR) FROM t_clob;
2) 두번째(HA 구성인 경우)
- 등록 할 자료 파일은 로 가지고 있고, 파일에 대한 경로만 테이블 컬럼에 넣는 방법 1가지
예시) 컬럼타입 varchar(100)
CREATE TABLE t_filepath( id INTEGER NOT NULL PRIMARY KEY, filepath VARCHAR(100));
INSERT INTO t_filepath(id, filepath) VALUES(1, '등록 할 파일 경로 및 파일명');
SELECT id, filepath FROM t_filepath;
- java로 구현하여 확인 하실수 있습니다.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
public class CubridTxtFileReadTest {
public static void main(String[] args) throws SQLException {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
BufferedReader BuffRe = null;
InputStreamReader InStRe = null;
FileInputStream FileInSt = null;
String url = "jdbc:cubrid:localhost:33000:demodb:::?charset=utf-8";
String userName = "사용자ID";
String password = "사용자PASSWORD";
try {
Class.forName("cubrid.jdbc.driver.CUBRIDDriver");
conn = DriverManager.getConnection(url, userName, password);
pstmt = conn.prepareStatement("select filepath from t_filepath");
System.out.println(" Connection Done ");
rs = pstmt.executeQuery();
while (rs.next()) {
String stPath = rs.getString(1);
System.out.println(stPath);
File fiFile = new File(stPath);
String stTemp = "";
String stContent = "";
FileInSt = new FileInputStream(fiFile);
InStRe = new InputStreamReader(FileInSt, "UTF-8");
BuffRe = new BufferedReader(InStRe);
while( (stTemp = BuffRe.readLine()) != null) {
stContent += stTemp + "n";
}
System.out.println("==================Display==================");
System.out.println(stContent);
}
rs.close();
pstmt.close();
conn.close();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
}
}
}