Oracle Clob 긴문자열 MERGE 할때 java.sql.SQLRecoverableException: IO Error: Connection reset 발생할때



짧은 문자열은 말짱하게 잘되는데 긴문자열 입력할때 뜬금없이  java.sql.SQLRecoverableException 이 발생했다.


구글 찾아보니 random 어쩌고 하던데 그거 따라 해도 계속 에러났다.


결론는 MERGE 구문을 안쓰는 것이다 -.-


계속 찾아보면 방법이 나올것 같기도 하지만 경험상 몇번 검색해서 잘 안되면 방법이 없는 경우가 많아서 그냥 포기하기로...


Mybatis 의 choose - when - otherwise 를 요런식으로 써서 최대한 MERGE 랑 비슷하게 변경하기로 했다. 쫌 많이 불편하지만 에러가 나는것을 어떻게 하나.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<insert id="save">
    <selectKey keyProperty="seq" resultType="Integer" order="AFTER">
        <choose>
            <when test="seq==null">
                SELECT S_SEQ.CURRVAL FROM DUAL
            </when>
            <otherwise>
                SELECT ${seq} FROM DUAL
            </otherwise>
        </choose>
    </selectKey>
     
    <choose>
        <when test="seq==null">
            INSERT INTO TB_TBL (
                      SEQ
                    , COL1
                    , COL2
            ) VALUES (
                  S_SEQ.NEXTVAL
                , #{col1}
                , #{col2}
            )
        </when>
        <otherwise>
            UPDATE TB_TBL SET
                  COL1= #{col1}
                , COL2= #{col2}
            WHERE SEQ = #{seq}
        </otherwise>
    </choose>
</insert>





Article Category

분류 전체보기 (223)
이클립 (28)
maven (9)
Spring (7)
Java (26)
mybatis (8)
jQuery Plugi.. (8)
Javascript (14)
Javascript 예.. (12)
CSS (2)
잡다구리 샘플 (4)
쓸만한지식 (81)
Ubuntu serve.. (22)
쇼핑물건 평가 (1)

Recent Article