2014-03-14

[DB2]SQL0803N One or more ...SQLSTATE=23505 오류메시지 확인하기

참조URL : http://www.dbforums.com/db2/997011-sql0803n-one-more-sqlstate-23505-a.html


IBM DB2 사용시 아래와 같은 오류메시지를 만나는 경우 오류내용 확인하기
=================
unique constraint or unique index identified by "1" constrains table "schema.table_name" from having duplicate values for the index key..

SQLCODE=-803, SQLSTATE=23505

---
상단과 같은 메시지를 맞닥트리게 되는 경우 아래의 쿼리로 해당 내용을 확인하기 바람.

SELECT *
FROM SYSCAT.INDEXES
WHERE IID = 1
AND TABSCHEMA = 'schema'
AND TABNAME = 'table_name'
;

위의 쿼리결과의 COLNAMES, UNIQUERULE 컬럼의 내용을 확인한 뒤, 인덱스가 중복되는지 확인하는 쿼리를 사용하여 점검한다.

SELECT table_name의 컬럼들, count(*) as qty
from table_name
group by table_name의 컬럼들
having  count(*) > 1
order by qty
;

위의 쿼리 결과에서 나오는 값은 중복된 인덱스를 가진 결과값이므로 해당 데이터를 보정해야 된다.

2014-03-07

Spring MVC/ Tomcat] SpringFramework MVC 사용시 view -> controller 로 파라미터 전달시 한글이 깨지는 경우에 해결책.

문서작성 참고 : http://springmvc.egloos.com/513986

SpringFramework MVC 사용시 view -> controller 로 파라미터 전달시 한글이 깨지는 경우에 해결책.

1. HTTP - POST
   web.xml 에 CharacterEncodingFilter 를 추가한다.
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

2. HTTP - GET
Eclipse-tomcat 개발환경에서 한글이 깨지는 경우 tomcat의 server.xml 에 아래 항목에  URIEncoding="UTF-8" 를 추가한다.
*** 아래는 Tomcat 7.x 의 server.xml 기준.

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>


<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>