Background Image

FORUM

조회 수 248 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Windows, LINUX, UNIX, MacOS
CUBRID Ver.
10.1, 10.2, 11.0, 11.2
CUBRID TOOL Ver.
 
응용 환경(API)
JDBC


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
 

시스템 카탈로그 db_partition의 컬럼 partition_values의 데이터 타입이 SEQUENCE OF인데,

이 데이터타입을 JDBC  ResultSet 에서 조회하는 방법을 알고 싶습니다.

 

아래와 같은 테이블을 생성한 후 db_partition 딕셔너리를 조회했습니다.

CREATE TABLE sh2.tb_partition_range (

    host_year INT,

    nation CHAR(3),

    gold INT,

    silver INT,

    bronze INT

)

PARTITION BY RANGE (host_year) (

    PARTITION before_2000 VALUES LESS THAN (2000),

    PARTITION before_2008 VALUES LESS THAN (2008),

    PARTITION before_2010 VALUES LESS THAN (2010),

    PARTITION before_2020 VALUES LESS THAN (2020),

    PARTITION others VALUES LESS than maxvalue

);

 

getString("partition_values")를 실행하면 오류가 발생합니다.

cubrid.jdbc.driver.CUBRIDException: Type conversion error[CAS INFO-####,4,31],[SESSION-8],[URL-jdbc:cubrid:####].

at cubrid.jdbc.jci.UGetTypeConvertedValue.getString(UGetTypeConvertedValue.java:268)

at cubrid.jdbc.jci.UStatement.getString(UStatement.java:1579)

at cubrid.jdbc.driver.CUBRIDResultSet.getString(CUBRIDResultSet.java:332)

at cubrid.jdbc.driver.CUBRIDResultSet.getString(CUBRIDResultSet.java:584)

 

getObject("partition_values")도 TypeConversion 에러가 납니다.

데이터 타입이 SEQUENCE OF인데, JDBC 드라이버에서 getTimestamp 메소드를 를 호출하는 것도 미스터리네요.

파티션 키 컬럼이 INT 타입이고 테이블에는 INT와 CHAR 타입 컬럼밖에 없습니다.

cubrid.jdbc.driver.CUBRIDException: Type conversion error[CAS INFO-####,4,31],[SESSION-7],[URL-jdbc:cubrid:####].

at cubrid.jdbc.jci.UGetTypeConvertedValue.getTimestamp(UGetTypeConvertedValue.java:295)

at cubrid.jdbc.jci.UStatement.getTimestamp(UStatement.java:1607)

at cubrid.jdbc.driver.CUBRIDResultSet.getTimestamp(CUBRIDResultSet.java:506)

at cubrid.jdbc.driver.CUBRIDResultSet.getTimestamp(CUBRIDResultSet.java:632)

at iFlow.lib.database.MyResultSet.getObject(MyResultSet.java:300)

 

cast(partition_values as varchar)도 사용할 수 없군요. 

Casting db_partition.partition_values to type varchar is not supported.

 

어떻게 해야 할까요.

두 가지 방법을 알려 주시면 좋겠습니다.

 1. SQL에서 VARCHAR로 변환해 추출하는 방법

 2. JDBC에서 getXXX를 사용하는 방법

 

감사합니다.

 

  • ?
    hwanyseo 2025.12.16 08:56
    안녕하세요 큐브리를 이용해 주셔서 감사합니다.

    db_partition에서 partition_values의 row data를 사용하려는 것으로 보입니다.
    1. SQL에서 LIST를 VARCHAR TYPE으로 변환 하는 함수는 없는 것으로 알고 있습니다.
    2. 그러므로 List에 경우 아래 코드와 같이 getObject를 받으셔서 object type에 따라 result값을 변환하여 사용하시면 되며,
    정상적으로 데이터를 받을 수 있을 것 같습니다.
    아래와 같은 코드가 의도가 아니라면 문제의 java코드를 전달해 주시면 추가로 분석하여 드리도록 하겠습니다.


    ==========================================================
    ResultSet rs = null;
    Statement stmt = null;
    String sql = "select * from db_partition where class_name = 'tb_partition_range' and owner_name = 'sh2'";
    System.out.println(sql);
    try {
    stmt = conn.createStatement();
    boolean ret = stmt.execute(sql);

    if (ret) {
    rs = stmt.getResultSet();
    if (rs != null) {
    while (rs.next()) {
    Object obj = rs.getObject("partition_values");
    if (obj != null) {
    System.out.println("obj : " + obj.getClass().getSimpleName());
    if (obj instanceof Integer[]) {
    Integer[] arrayResult = (Integer[]) obj;

    if (arrayResult == null || arrayResult.length == 0) {
    System.out.println("Array is empty or null.");
    } else {
    for (int i = 0; i < arrayResult.length; i++) {
    System.out.println("result" + "[" + i + "]" + arrayResult[i]);
    String stringRet = String.valueOf(arrayResult[i]);
    System.out.println("stringRet : " + stringRet);
    }
    }
    }

    }
    }
    }
    }

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views147285
    read more
  2. restoredb 이후 오류발생

    Date2026.01.27 ByPCH Views51
    Read More
  3. cubrid 11.4에서 Stored Function 생성 이후 함수 내부에서 다른 함수 호출시 위치에 따라 "Stored procedure execute error" 오류가 출력 되는 문제

    Date2026.01.27 By두목원슝 Views22
    Read More
  4. Django + python환경에서 orm 지원 문의

    Date2026.01.22 By스에트치 Views54
    Read More
  5. odbc / jdbc 환경에서 현재 세션의 isolation level 확인방법

    Date2026.01.21 Byjhlee Views49
    Read More
  6. 큐브리드 사용자(스키마) 계정에 대한 비밀번호 정책을 추가

    Date2026.01.20 ByPCH Views44
    Read More
  7. 브로커 이중화 관련 문의드립니다.

    Date2026.01.14 ByPCH Views63
    Read More
  8. HA 구성에 독립된 DB 추가하는 방법 문의드립니다.

    Date2026.01.08 By깐수 Views72
    Read More
  9. CUBRID DB 9에서 11버전으로 업그레이드 연계 JDBC 변경 문의

    Date2025.12.23 ByMiniMaster Views129
    Read More
  10. 큐브리드 설치 시 로그 위치 변경 문의

    Date2025.12.22 By강인함 Views119
    Read More
  11. unloaddb 후 loaddb 시 오류

    Date2025.12.15 ByPCH Views192
    Read More
  12. JDBC에서 SEQUENCE OF 타입의 컬럼 값을 조회하는 방법 문의

    Date2025.12.11 By새옹지마 Views248
    Read More
  13. DB 운영중 LOCK 관련 이슈가 있어 문의 드립니다.

    Date2025.12.11 By용원아빠 Views263
    Read More
  14. spring boot 3.5.8 + cubrid 11.4 JPA설정 문의

    Date2025.12.10 By뵤라 Views261
    Read More
  15. slow.log 파일에서 'server execution statistics' 출력 조건이 궁금합니다.

    Date2025.12.02 Byogu Views363
    Read More
  16. Cubrid 11.4의 컬럼명과 도움말의 컬럼명이 다릅니다.

    Date2025.11.28 By엘L Views372
    Read More
  17. CUBRIDException: The argument is invalid.

    Date2025.11.17 By큐피 Views664
    Read More
  18. CUBRIDException: POSIX external storage error: /ces_029... Permission denied

    Date2025.11.10 By큐피 Views495
    Read More
  19. 캐릭터셋 변경 질문드립니다.

    Date2025.10.29 By엘L Views419
    Read More
  20. 특정 사용자 ID 에 대한 에러 문의

    Date2025.10.28 By헤이선 Views584
    Read More
  21. [긴급] DB 조회 문의

    Date2025.10.23 By헤이선 Views703
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 213 Next
/ 213

Contact Cubrid

영업문의 070-4077-2112 / 기술문의 070-4077-2148 / 대표전화 070-4077-2110 / Email. contact_at_cubrid.com
Contact Sales