오늘은 IBM Community에서 인포믹스 Smart Trigger 구현중에 발생한 오류에 대해서 질문이 있었습니다. 인포믹스 12.10.xC9 버전부터 Smart Trigger라는 기능이 소개되었는데 IBM Knowledge Center에서의 설명은 아래와 같습니다. In a relational database environment, client applications are constantly monitoring and triggering other complex jobs, based on changes happening in the database. Applications need to be able to detect events in the database as they happen, witho..
안녕하세요. 데이터베이스 사랑넷에 두 날짜사이에서 주말을 제외한 일수를 구하는 방법에 대한 질문이 있어서 이것 저것 찾아보고 시험해봤습니다. 기능에 대해서 잘 모르다보니 working day sql postgresql 키워드로 구글에 검색해보니 비슷한 기능을 구현한 예제가 많이 있었습니다. 먼저 질문 내용입니다. 아래 쿼리는 mysql에서 두 날짜사이 주말일수를 제외한 일수를 구하는 sql문인데 PostgreSQl에서 적용되게 변환하고 싶습니다. 부탁드립니다. select ABS(DATEDIFF('2020-04-23', '2020-04-26')) + 1 - ABS(DATEDIFF(ADDDATE('2020-04-23', INTERVAL 1 - DAYOFWEEK('2020-04-23') DAY), ADDDA..
안타깝게도 인포믹스 12.10.xC14버전에서 추가로 확인된 defect 정보입니다. 이번에는 CHAR_LENGTH 함수의 문제인데요. 지난번 LPAD/RPAD 함수 사용시 발생하는 오류와 유사합니다. 오류가 발생하는 조건은 아래와 같습니다. 1) character set과 연관 없어 보임 (en_us.utf8, ko_kr.ksc, ko_kr.949, ko_kr.ksc인 경우 모두 오류 발생) 2) source string이 empty string('')인 경우 사용 빈도에 따라 발생 가능성이 높은 오류입니다. 아래는 오류를 재현한 과정입니다. /work2/INFORMIX/1210FC14]dbaccess tdb - Database selected. > select char_length("") from s..
인포믹스 프로시저에서는 UNLOAD나 OUTPUT 문장을 실행할 수 없습니다. 이를 대체하려면 External Table 기능을 사용해 데이터를 파일로 내려받는 방법이 있습니다. 참고로 External Table 기능은 인포믹스 11.5 버전부터 사용할 수 있습니다. /work2/INFORMIX/1210FC13/skjeong]cat myproc.sql DROP PROCEDURE MYPROC(); CREATE PROCEDURE MYPROC() CREATE EXTERNAL TABLE load_tmp ( load_stmt char(1024) ) USING ( DATAFILES ("DISK:/tmp/load.sql"), DELIMITER ";" ); INSERT INTO load_tmp SELECT 'load ..
안녕하세요. IBM 커뮤니티에서 인포믹스의 통합 백업 암호화(Integrated Backup Encryption) 기능에 대한 질문이 있어서 소개하려고 합니다. 질문의 요지는 암호화된 백업 파일의 압축이 잘 되는가 하는 것인데, PGP로 암호화된 파일은 압축이 잘 안되었던 모양입니다. 그래서 몇가지 상황을 가정하고 백업 암호화 기능의 작동 방식을 테스트 해보았습니다. 인포믹스의 통합 백업 암호화 기능은 14.10 버전부터 제공됩니다. 매뉴얼에서는 통합 백업 암호화 기능을 사용한다면 원격지의 키서버를 통해 백업 암호화 키를 생성할 것을 권장하고 있으나 여기서는 편의상 로컬 암호화 키를 사용하겠습니다. 로컬 암호화 키를 생성하는 방법은 IBM Knowledge Center의 아래 링크를 참고했습니다. htt..
안녕하세요. IBM 커뮤니티에서 DBACCESS_COLUMNS 환경변수에 대한 질문을 올렸다가 Benjamin Thompson의 답변을 통해 rlwrap (readline wrapper) 이라는 유틸리티를 알게 되었습니다. 사실 알려진지는 꽤 된 것 같습니다만 저는 뒤늦게 알게되었네요 ^^; 리눅스나 유닉스용으로 설치패키지가 제공되네요. 리눅스의 경우는 yum 같은 툴을 이용해 설치하실 수 있습니다. 아래는 rlwrap을 이용해서 dbaccess를 실행한 과정입니다. [informix@db2 ids1410fc3]$ alias dbaccess='DBACCESS_COLUMNS=1024 rlwrap dbaccess' [informix@db2 ids1410fc3]$ dbaccess stores_demo - Da..
인포믹스 12.10.FC14버전에서 발견된 defect를 공유드립니다. 경우에 따라서는 심각한 문제가 될 것 같은데요. LPAD와 RPAD 함수 사용시 발생하는 문제입니다. 오류가 발생하는 조건은 아래와 같습니다. 1) multi-byte character set으로 구성된 데이터베이스 (en_us.utf8, ko_kr.ksc, ko_kr.949등) 2) source string이 varchar 또는 lvarchar 타입일 경우 3) source string이 empty string('')인 경우 상당히 오류가 발생할 가능성이 높은 조건입니다. 아래는 오류를 재현한 과정입니다. /work2/INFORMIX/1210FC14]export DB_LOCALE=en_us.utf8 /work2/INFORMIX/12..
안녕하세요. 요즘 IBM 커뮤니티에서 열심히 댓글놀이를 하고 있는데요. 며칠전에 Informix에서 문자열에 대한 최빈값(MODE)을 구하는 방법에 대한 질문글이 올라왔습니다. 최빈값은 통계학에서 쓰는 용어로 액셀이나 분석 솔루션에서 MODE라는 함수로 사용되기도 합니다. 아래는 위키백과의 최빈값에 대한 설명입니다. 최빈값(最頻-), 모드(mode)는 통계학 용어로, 가장 많이 관측되는 수, 즉 주어진 값 중에서 가장 자주 나오는 값이다. 예를 들어, {1, 3, 6, 6, 6, 7, 7, 12, 12, 17}의 최빈값은 6이다. 최빈값은 산술 평균과 달리 유일한 값이 아닐 수도 있다. 또한 주어진 자료나 관측치의 값이 모두 다른 경우에는 존재하지 않는다. 주어진 자료에서 평균이나 중앙값을 구하기 어려운..
- Total
- Today
- Yesterday