전자정부표준프레임워크 BLOB insert질문합니다

by poooh posted Oct 24, 2013

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

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


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
전자정부표준프레임워크를 이용해서 이미지를 BLOB으로 저장할려 합니다.

context.xml

<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

<property name="configLocation" value="classpath:/egovframework/sqlmap/config/cubrid/sql-map-config-cubrid-cmm.xml"/>

<property name="configLocations">

<list><value>classpath:/egovframework/sqlmap/config/cubrid/*.xml</value> </list>

</property>

<property name="dataSource" ref="dataSource"/>

<property name="lobHandler" ref="lobHandler"/>

</bean>

sql-map-config.xml

<typeHandler callback="org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler" jdbcType="BLOB" javaType="[B" />


controller

final MultipartFile file = multiRequest.getFile("mainImage");

byte[] b = FileCopyUtils.copyToByteArray(file.getInputStream());

commandMap.put("image", b);

commandMap.put("fileNm", file.getOriginalFilename());

//commandMap.put("image", file.getBytes());


쿼리는

INSERT 

 INTO  TM_COLLECTIONINFO

    (  MUSEUM_ID, 

IMAGE, 

EXHIBIT_FLAG, 

FILE_NM

    )

  ]]>

VALUES

    (  #ssmuseumId#, 

#collectId#, 

...


BIT_TO_BLOB(#image#),

#exhibitFlag#,

#fileNm#

    )


1. 이상태로 실행하면 저장은되나 쿼리브라우저로 확인하면 256b만 저장되어 이미지를 확인할수 없습니다

2. 쿼리에 BIT_TO_BLOB 은 맞는건지요?

BIT_TO_BLOB 이걸 빼고 실행하면 

--- The error occurred in egovframework/sqlmap/collregmng/reg/ArchiveDataReg/CollectionList_SQL.xml.  

--- The error occurred while applying a parameter map.  

--- Check the CollectionListInfo.insertCollectionInfo-InlineParameterMap.  

--- Check the statement (update failed).  

--- Cause: cubrid.jdbc.driver.CUBRIDException: CASID[1],CASPID[9316],SESSION[203079],URL[jdbc:cubrid:192.168.103.31:33000:archive:archive:********:?charset=utf-8]

Semantic: Cannot coerce host var to type blob. ]; SQL was [] for task [SqlMapClient operation]

이런 에러가 납니다


3. 쿼리 에서 이미지지 넣을때

#image:BLOB# 와 #image# 어떤게 맞는건지요..?

:BLOB를 넣으면 아래와 같은 에러가 납니다.


2013-10-23 16:41:22,466  INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]

2013-10-23 16:41:22,469 DEBUG [org.springframework.beans.factory.xml.DefaultDocumentLoader] Using JAXP provider [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl]

2013-10-23 16:41:22,470 DEBUG [org.springframework.beans.factory.xml.BeansDtdResolver] Found beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in classpath: spring-beans-2.0.dtd

2013-10-23 16:41:22,473 DEBUG [org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader] Loading bean definitions

2013-10-23 16:41:22,491  INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from class path resource [sql-error-codes.xml]

2013-10-23 16:41:22,492 DEBUG [org.springframework.beans.factory.xml.DefaultDocumentLoader] Using JAXP provider [com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl]

2013-10-23 16:41:22,493 DEBUG [org.springframework.beans.factory.xml.BeansDtdResolver] Found beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in classpath: spring-beans-2.0.dtd

2013-10-23 16:41:22,495 DEBUG [org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader] Loading bean definitions

2013-10-23 16:41:22,496  INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] Found custom sql-error-codes.xml file at the root of the classpath

2013-10-23 16:41:22,499 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'DB2'

2013-10-23 16:41:22,499 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'DB2'

2013-10-23 16:41:22,500 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'DB2' to allow for resolving potential circular references

2013-10-23 16:41:22,505 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'DB2'

2013-10-23 16:41:22,505 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'Derby'

2013-10-23 16:41:22,505 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'Derby'

2013-10-23 16:41:22,505 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'Derby' to allow for resolving potential circular references

2013-10-23 16:41:22,506 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'Derby'

2013-10-23 16:41:22,506 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'H2'

2013-10-23 16:41:22,506 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'H2'

2013-10-23 16:41:22,506 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'H2' to allow for resolving potential circular references

2013-10-23 16:41:22,506 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'H2'

2013-10-23 16:41:22,506 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'HSQL'

2013-10-23 16:41:22,506 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'HSQL'

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'HSQL' to allow for resolving potential circular references

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'HSQL'

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'Informix'

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'Informix'

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'Informix' to allow for resolving potential circular references

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'Informix'

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'MS-SQL'

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'MS-SQL'

2013-10-23 16:41:22,507 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'MS-SQL' to allow for resolving potential circular references

2013-10-23 16:41:22,508 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'MS-SQL'

2013-10-23 16:41:22,508 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'MySQL'

2013-10-23 16:41:22,508 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'MySQL'

2013-10-23 16:41:22,508 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'MySQL' to allow for resolving potential circular references

2013-10-23 16:41:22,508 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'MySQL'

2013-10-23 16:41:22,508 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'Oracle'

2013-10-23 16:41:22,508 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'Oracle'

2013-10-23 16:41:22,509 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'Oracle' to allow for resolving potential circular references

2013-10-23 16:41:22,509 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'Oracle'

2013-10-23 16:41:22,509 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'PostgreSQL'

2013-10-23 16:41:22,509 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'PostgreSQL'

2013-10-23 16:41:22,509 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'PostgreSQL' to allow for resolving potential circular references

2013-10-23 16:41:22,517 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'PostgreSQL'

2013-10-23 16:41:22,517 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'Sybase'

2013-10-23 16:41:22,517 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'Sybase'

2013-10-23 16:41:22,517 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'Sybase' to allow for resolving potential circular references

2013-10-23 16:41:22,517 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'Sybase'

2013-10-23 16:41:22,547 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating shared instance of singleton bean 'CUBRID'

2013-10-23 16:41:22,547 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Creating instance of bean 'CUBRID'

2013-10-23 16:41:22,547 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Eagerly caching bean 'CUBRID' to allow for resolving potential circular references

2013-10-23 16:41:22,548 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] Finished creating instance of bean 'CUBRID'

2013-10-23 16:41:22,551  INFO [org.springframework.jdbc.support.SQLErrorCodesFactory] SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, CUBRID]

2013-10-23 16:41:22,551 DEBUG [org.springframework.jdbc.support.SQLErrorCodesFactory] Looking up default SQLErrorCodes for DataSource [org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy@de1520]

2013-10-23 16:41:22,557 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] Fetching JDBC Connection from DataSource

2013-10-23 16:41:22,557 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] Fetching JDBC Connection from DataSource

2013-10-23 16:41:22,650 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] Returning JDBC Connection to DataSource

2013-10-23 16:41:22,650 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] Returning JDBC Connection to DataSource

2013-10-23 16:41:22,650 DEBUG [org.springframework.jdbc.support.SQLErrorCodesFactory] Database product name cached for DataSource [org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy@de1520]: name is 'CUBRID'

2013-10-23 16:41:22,650 DEBUG [org.springframework.jdbc.support.SQLErrorCodesFactory] SQL error codes for 'CUBRID' found

2013-10-23 16:41:22,650 DEBUG [org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator] Unable to translate SQLException with Error code '0', will now try the fallback translator

2013-10-23 16:41:22,651 DEBUG [org.springframework.jdbc.datasource.DataSourceUtils] Returning JDBC Connection to DataSource


수많은 글을 찾아보고 여기도 다보앗습니다.

메뉴얼도 받지만 그걸로는 방식이 달라 참조를 못하겟습니다,,

전자정부표준프레임워크를 이용해서 blob으로 저장할수잇는 방법을 알려주세요.