by mp5navy [SQLServer] varbinary 암시적 [2016.05.16 13:25:42]
티베로의 데이터를 mssql로 넣는 작업중에 발생한 오류 사항입니다.(mybatis, 전자정부프레임웤 사용)
오류메세지:데이터 형식 varchar을(를) varbinary(으)로 암시적으로 변환할 수 없습니다. convert 함수를 사용하여 이 쿼리를 실행하십시오
티베로와 mssql을 연동할 테이블명은 동일하고 java에서 db커넥션을 이용하여 데이터를 넣는 작업입니다.
매번 발생하는것이 아니라 간헐적으로 발생하고 있습니다.
오류가 나는 곳은 이 부분입니다.
<insert id="rcmsDao.FAMH0130_SAVE00" parameterClass="inMap">
<selectKey keyProperty="N_EXCTN_REG_SEQ" resultClass="java.lang.String">
<![CDATA[
SELECT ISNULL(MAX(EXCTN_REG_SEQ), 0) + 1
AS EXCTN_REG_SEQ
FROM IF_RCMS_BEEX_L_A
WHERE PMS_ID = #PMS_ID#
AND AGRMT_SEQ_NO = #AGRMT_SEQ_NO#
AND AGRMT_INST_ID = #AGRMT_INST_ID#
AND EXCTN_REG_DT = #EXCTN_REG_DT#
]]>
</selectKey>
<![CDATA[
INSERT INTO IF_RCMS_BEEX_L_A (
PMS_ID
,AGRMT_SEQ_NO
,AGRMT_INST_ID
,EXCTN_REG_DT
,EXCTN_REG_SEQ
,EXCTN_REG_TM
,BZ_EXP_EXCTN_PROC_ST
,RCV_BNK_CD
,RCV_ACCT_NO
,RCH_EXP_ACCT_RCV_PSBK_PRT_CTT
,RCH_EXP_ACCT_WDRW_PSBK_PRT_CTT
,BZAQ_ACCT_RCV_PSBK_PRT_CTT
,TRNS_AMT
,SPLY_AMT
,VAT_AMT
,INST_USE_CD
,INST_USE_CD_1
,OWAC_NM
,TEL_NO
,FRC_TRSC_YN
,ERP_CD_1
,ERP_CD_2
,ERP_CD_3
,ERP_CD_4
,LNK_ST
,LNK_REG_DTM
) VALUES (
#PMS_ID#
,#AGRMT_SEQ_NO#
,#AGRMT_INST_ID#
,#EXCTN_REG_DT#
,#N_EXCTN_REG_SEQ#
,#EXCTN_REG_TM#
,#BZ_EXP_EXCTN_PROC_ST#
,#RCV_BNK_CD#
,dbo.SF_ENCRYPT(#RCV_ACCT_NO#)
,#RCH_EXP_ACCT_RCV_PSBK_PRT_CTT#
,#RCH_EXP_ACCT_WDRW_PSBK_PRT_CTT#
,#BZAQ_ACCT_RCV_PSBK_PRT_CTT#
,#TRNS_AMT#
,#SPLY_AMT#
,#VAT_AMT#
,#INST_USE_CD#
,#INST_USE_CD_1#
,#OWAC_NM#
,#TEL_NO#
,ISNULL(#FRC_TRSC_YN#, 'N')
,#ERP_CD_1#
,#ERP_CD_2#
,#ERP_CD_3#
,#ERP_CD_4#
,#LNK_ST#
,GETDATE()
)
]]>
</insert>
무엇때문에 해당 오류가 나는지 알 수 없어 문의드립니다.
답변 감사합니다. PMS_ID char AGRMT_SEQ_NO varchar AGRMT_INST_ID varchar EXCTN_REG_DT char EXCTN_REG_SEQ decimal EXCTN_REG_TM char RCMS_EXCTN_REG_TM char EXCTN_EXEC_DT char EXCTN_EXEC_TM char BZ_EXP_EXCTN_PROC_ST char RPRCS_NCNT decimal BZ_EXP_EXCTN_ERR_CD varchar BZ_EXP_EXCTN_ERR_CTT varchar RCV_BNK_CD char RCV_ACCT_NO varchar TRNS_AMT decimal SPLY_AMT decimal VAT_AMT decimal SRV_FEE decimal COMM decimal INST_USE_CD varchar INST_USE_CD_1 varchar OWAC_NM varchar TEL_NO varchar FRC_TRSC_YN char RCMS_DCTC_REG_YN char ERP_CD_1 varchar ERP_CD_2 varchar ERP_CD_3 varchar ERP_CD_4 varchar LNK_ST char LNK_REG_DTM datetime LNK_PROC_DTM datetime
컬럼들의 데이터 타입은 위와 같습니다.
데이터 타입이 varbinary가 아닌데도 저런 오류가 날 수가 있나요?
간헐적으로 생기는 오류라 정확히 어떤 부분에서 오류가 나는지 애매하네요..