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"/>

2014-01-13

DB2] DB2에서 특정 컬럼명을 가지고 있는 테이블 리스트 찾기.

IBM DB2 에서 특정 컬럼명을 가진 테이블 리스트를 구하는 방법.

1.
select * 
from syscat.columns 
where colname = '확인할컬럼명' -- 컬럼명은 대문자
;

2.
select * 
from syscat.columns 
where remarks like 'comment한 이름' -- 컬럼명은 대문자
;

1. 은 컬럼명을 알 때 사용 가능하고, 2. 는 테이블 생성시 remarks 에 코멘트를 달아 놓은 경우에 해당 작업으로 확인이 가능하다.

** 해당 스키마를 알면 해당 스키마에서만 찾고자 하는 컬럼명을 사용하는 테이블을 조회가 가능하다.

2013-12-18

Mysql/Mariadb] MariaDB 5.5.34 zip 파일 설치하기.

mysql 과 쌍둥이 Database 인 MariaDB 설치하기.

1. mariadb download
   https://downloads.mariadb.org 에 접속해서 해당하는 버전을 다운로드(zip 파일)
   ** 현재 안정화 버전은 5.5.34(mysql 5.5에 대응) , 베타버전은 10.6 beta(mysql 5.6에 대응)를 테스트 중.
       
2. download 된 zip 파일을 압축해제 한다.

3. 압축이 풀린 디렉토리를 설치하고자 하는 곳으로 옮긴다.
    ex) c:\maraidb-5.5.34

4. my-innodb-heavy-4G.ini 을 my.ini로 복사

5. my.ini 파일 편집

[client]

default-character-set = utf8

[mysqld]
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci



# innodb

innodb_data_home_dir = "c:/maraidb-5.5.34/data/"


[mysqldump]
default-character-set = utf8




[mysql]
default-character-set = utf8

5. mysql 실행
c:/maraidb-5.5.34/bin/mysqld


**  mysql을 윈도우 서비스로 등록

mysqld --install 서비스명.


6. mysql 에 root user로 접속
c:/maraidb-5.5.34/bin>mysql -u root -p
Enter password:   <== 엔터키 입력하고 넘어간다

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use mysql <== db 변경
Database changed

7. mysql DB의 user 테이블의 내용 확인
MariaDB [mysql]> desc user; <== user 테이블의 구조 확인

8. root user의 비밀번호 변경 및 적용
MariaDB [mysql]> update user set password=password('변경할비밀번호') where user='root';  <== 비번 변경
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

MariaDB [mysql]> flush privileges; <== 적용
Query OK, 0 rows affected (0.00 sec)

2013-12-03

javascript/SmartClient] RichTextEditor 사용하기.

RichTextEditor를 사용하기 위해서는 아래와 같은 선언문을 포함한 뒤.

<SCRIPT SRC=isomorphic/system/modules/ISC_RichTextEditor.js></SCRIPT><SCRIPT>isc._lastModule='RichTextEditor';</SCRIPT>

------------

isc.VLayout.create({
   membersMargin:5,
   members:[
       isc.RichTextEditor.create({
           autoDraw:false,
           ID:"contentEditor",
           height:155,
         
           overflow:"hidden",
           canDragResize:true, showEdges:true,

            // Standard control group options include
            // "fontControls", "formatControls", "styleControls" and "colorControls"
            controlGroups:["fontControls", "formatControls", "styleControls", "colorControls"],
            value:''
       })
       ]
});

와 같이 선언을 하여 사용한다.

(참조 URL : http://www.smartclient.com/docs/9.0/a/system/reference/SmartClient_Explorer.html#RichTextEditor
)

위의 RichTextEditor 를 DynamicForm 에 붙여서 사용하기 위해서는
DynamicForm에서 사용하고자 하는 field의 타입을 'canvas'로 선언해서 사용하면 된다.

추가적으로 해당 RichTextEditor 에서 사용하고자 하는 font를 더 추가하고자 하는 경우,

isomorphic/system/modules/ISC_RichTextEditor.js 파일의 82 line부근의 fontControls이 정의된 곳에 추가하고자 하는 Font 를 추가하면 된다.
추가하는 형식은 "font":"font 라벨(콤보에 표시되는 값)" 으로 "," 로 구분하여 추가하면 된다.

2013-10-27

재부도 전경


주말에 간 제부도전경. (파노라마 사진).
시원하고 좋은 날...
좋았다..

2013-10-25

DB2] DB2 에서 Assignment of a NULL value to a NOT NULL column 의 오류 발생시

DB2 로 프로그램 개발시 ,
Assignment of a NULL value to a NOT NULL column 메시지와 함께
"TBSPACEID=XX, TABLEID=XX, COLNO=XX" 라는 오류 메시지를 받게 되는 경우 아래의 방법으로 확인가능.

1.
select * from syscat.tables 
where tableid = xx 
;

로 해당 테이블 명을 확인.

2.
select * 
from syscat.columns 
where tabname = '확인한 테이블명'
and colno = xx;

로 해당 컬럼을 확인하여 조치를 취할 수 있다.