Background Image

FORUM

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

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit
CUBRID Ver.
최신
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, mybatis

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


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

안녕하세요.


큐브리드로 DB를 공부하고 있는 학생입니다.


Mybatis를 이용하여 이미지를 blob로 DB에 저장하고 싶은데 


Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 

### Error updating database.  Cause: cubrid.jdbc.driver.CUBRIDException: CASID[1],CASPID[5656],SESSION[301],URL[jdbc:cubrid:localhost:33000:test:dba:********:?charset=utf-8]

Semantic: Cannot coerce host var to type blob. 

### The error may involve .insert-Inline

### The error occurred while setting parameters

### SQL: insert into test_blob values (?, ?)

### Cause: cubrid.jdbc.driver.CUBRIDException: CASID[1],CASPID[5656],SESSION[301],URL[jdbc:cubrid:localhost:33000:test:dba:********:?charset=utf-8]

Semantic: Cannot coerce host var to type blob. 

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)

at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:150)

at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:137)


이런 종류의 에러 메시지가 나오는데 해결책을 못 찾겠어서 글을 올립니다.


mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="">

<insert id="insert" parameterType="mybatis.BlobRecord">

    insert into test_blob values (#{id}, #{blobs})

  </insert>

</mapper>



BlobReord.java

public class BlobRecord {

    private int id;

    private byte[] blobs;


    public BlobRecord(int id, byte[] blob) {

        super();

        this.id = id;

        this.blobs = blob;

    }


    public BlobRecord(int id, Byte[] blob) {

        super();

        this.id = id;

        final byte[] newBytes = new byte[blob.length];

        for (int i = 0; i < blob.length; i++) {

          Byte b = blob[i];

          newBytes[i] = b;

        }

        this.blobs = newBytes;

    }


    public int getId() {

        return id;

    }


    public byte[] getBlobs() {

        return blobs;

    }

}


바이트가 Blob로 안바뀌어서 그러는 건지.. 알려주시면 감사하겠습니다!

  • ?
    이용미 2013.08.07 02:39

    안녕하세요. 답변이 늦어져 죄송합니다.

    [Cannot coerce host var to type blob]이라는 오류 메시지는 insert 시에 입력되는 데이터 타입과 입력되는 컬럼의 데이터 타입이 매칭되지 않아 발생합니다.

    아래 링크된 메뉴얼의 BLOB/CLOB 사용 부분, 특히 LOB 데이터 저장 부분을 확인해 보시면 도움이 될 것 같습니다.

    JDBC BLOB/CLOB 사용 : http://www.cubrid.com/manual/91/api/jdbc.html#blob-clob

    감사합니다.



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 142
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4481
2045 select 후, 하나의 행에 있는 컬럼명들을 배열로 받을 수 있나요? 1 뿌잉 2014.11.15 5869
2044 select문 실행시 칼럼명 구분콤마( , )가 없을때, 앞 칼럼의 데이터가 뒤 칼럼명의 데이터로 나오는 현상 2 유진욱 2019.07.23 432
2043 select쿼리 실행오류 문의드립니다. 2 yodongky 2017.08.03 425
2042 select하여, 일부만 변수값으로 넣으려고 합니다... 1 안지민 2009.02.26 13532
2041 serial object delete error 1 단순미학 2011.01.21 9127
2040 serial 또는 auto increment 현재값 수정 1 소라게 2014.02.25 11169
2039 serial 사용시 에러 12 그루비 2018.08.22 618
2038 server start시 error 발생 관련 3 flypig 2012.02.24 12075
2037 server 다운문제 1 김현성 2010.10.19 7631
2036 server를 start하면 에러가 납니다. 1 secret 꿈계 2010.05.22 15
2035 service start 와 server start 시에 멈춤현상 1 큐브리두 2012.06.20 8903
2034 service tray 실행 안됨 3 file 바부대왕 2009.02.24 17574
2033 session list와 kill 하는 방법이 있는지요? 4 hangum 2013.04.02 11410
2032 session timeout 1 secret 밈s 2016.10.10 18
2031 session 정보 보는 함수나 쿼리 문이 있나요?SYS_CONTEXT 1 덴드로비움 2017.09.19 381
2030 set type 문의 3 초보 2009.12.25 9863
2029 set type 에 빈값넣기 1 초보 2010.01.14 11841
2028 set 객체 정보까지 어떻게 검색합니까? 1 secret Philip Park 2010.01.10 16
2027 set_of 와 set 예약어는 어떤 차이인가요? 1 살구맛 2013.05.03 7601
2026 sha1 에서 sha2로 암호변경 1 밈s 2016.10.11 14838
Board Pagination Prev 1 ... 94 95 96 97 98 99 100 101 102 103 ... 201 Next
/ 201

Contact Cubrid

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