반응형

컴퓨터활용 238

[프로프레임] Conditions can't call the right function

프로프레임에서 dbio를 호출하였는데 오류가 발생하였다. 오류 번호로 리턴된 값은 -90001002 이고 오류메시지는 [DBIO] Conditions can't call the right function 이다. 어떤 경우에 이런 오류가 나오는 것일까? 처음 프로프레임 dbio 를 array fetch 로 작성하였을 때 관련한 배열처리 내부 함수들이 만들어 진다. 이런 array fetch dbio를 프로그램에 끌어다 사용하였을 것이다. 그 후에 개발자가 dbio 를 단건 fetch 로 변경하였다. 그리고 dbio를 컴파일 했다. 그러나 정작 이 dbio를 사용하고 있는 프로그램은 다시 컴파일을 하거나 재구성을 하지 않았다. 이런 경우에 프로그램이 실행될 때는 이전의 array fetch 함수를 계속 호출..

클론질라 이용한 윈도우10 백업 복원

내가 가지고 있는 울트라 노트북은 128GB SSD 하드 디스크를 가지고 있다. 그런데 이것으로는 용량이 부족해서 불편하다. 그래서 이번에 256GB SSD 로 새로 구매하여 확장하기로 했다. 이베이에서 256기가 SSD 하드디스크를 8만원에 주문하였다. 5년전에 30만원이었는데 그동안 많이 싸졌네. 하기사 이베이에서 ASUS UX31 노트북 자체가 30만원에 팔리고 있는 것을 보니 격세지감. 내가 살 때는 100만원 넘게 줬음. 윈도우 10이 깔려 있는 하드디스크를 그대로 백업해서 복원해 넣는 것이 과제인데 윈도우10이 제공하는 이미지 백업 기능을 먼저 시도해 봤으나 실패했다. 내 컴퓨터는 EFI라는 방식의 부팅 시스템을 이용하고 있기 때문에 간단하게 해결되기는 어려웠다. 윈도우 부팅 USB로 부팅한 ..

sprintf함수에서 포매팅 처리 방법

sprintf함수에서 포매팅 처리 방법을 실험해 봤다. 1) 숫자처리 %4d는 네 자리의 십진수를 표시하되 네 자리가 안될 때에는 공백으로 대체합니다. %.4d는 네 자리가 안될 경우 0으로 대체합니다. 2) 문자열 처리 %.10s 는 space_buf 값에서 최대 10문자만 출력합니다.이것은 %10s 처럼 중간에 쩜(.) 이 없는경우와 다릅니다.(.)이 없으면 즉 %10s 라면 무조건 자리를 10개 확보하고 그곳에 space_buf 의 값을출력하는데 만얀 space_buf 의 내용이 10개가 모라라면 나머지 공간은앞부분에 공백으로 남습니다. 그러나 %.10s 는 10개가 모자라도 공백을 주지 않고 바로 다음것을 이어서 씁니다. 예)printf([%d], 1234 ); ==> [1234] printf([..

eclipse feature.xml

이클립스 플러그인들을 Update 하게 되면 그 히스토리와 최신 적용된 버젼이 feature.xml 에 보관된다. Update 사이트의 URL도 기록되어 있기 때문에 어디에서 다운로드 받게 되는 지 확인할 수 있다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281..

ipcs, ipcrm 으로 공유메모리 삭제 방법

프로프레임에서 사용하는 쉐어드메모리는 TDL 과 Tcache 가 있다. 보통 이것은 티맥스 유저보다는 프로프레임 유저로 생성한다. 어느 유저로 생성하던 지간에 tdlinit 명령을 실행할 때는 tmdown 상태에서 하는 것이 좋다.생성된 공유메모리가 제대로 해제 되지 못 한 경우에 강제로 삭제하는 방법은 ipcrm 명령을 사용한다. 삭제하기 전에 ipcs 명령으로 현재 생성되어 있는 키값을 조회한다. 많기 때문에 user 로 grep 하여 범위를 줄여서 보면 쉽게 찾아 낼 수 있다. 아래 예제는 75000번을 키로해서 생성된 메모리를 삭제하는 절차를 보여주고 있다.문제의 키값을 찾았으면 ipcrm 명령으로 지워 주자. 쉐어드메모리 키는 생성한 유저로 삭제할 수 있다. 12345678910111213141..

pfmNumCalc 인자 개수 체크 쉘

| 개요 프로프레임에서 수식 계산에 사용하는 pfmNumCalc 라는 함수가 있다. 계산식을 자유롭게 기술할 수 있기 때문에 참 유용한 함수이고 많이들 사용한다. 그런데 문제는 파라미터 포매팅 개수와 아규먼트 인자의 개수가 다를 경우에 문제가 발생될 수 있다. 개수가 다를 경우에 어떤 예기치 않은 문제가 발생될 수 있기 때문에 꼼꼼하게 체크해야 하지만 워낙에 개발자들이 바쁘시다 보니 많이들 놓칠 수 있다. 쉘 프로그램을 이용해서 일괄적으로 한꺼번에 모든 프로그램의 인자 개수를 체크하는 로직을 만들어 봤다. 프로프레임 엔지니어나 일반 개발자들도 잘 응용해서 사용하면 유용할 거 같아서 공개한다. 필요한 부분을 수정해서 본인의 용도에 맞게 사용하면 좋을 것이다. | 아이디어pfmNumCalc 함수 뒤에는 포매..

[프로프레임] 서비스로그 추출 쉘

개발자들이 거래를 하고 바로 로그를 보기 위해서 로그파일을 tail 걸곤 한다. 좀 더 쉽게 해당 거래 로그만 추출하여 볼 수 있다면 편할 수 있다. 아래 스크립트를 응용하여 자기에게 맞게 편집하여 사용하면 편하게 볼 수 있지 않을까 싶다. 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 # 서비스명을 입력하지 않으면 입력요청 if [ $# -lt 1 ];then echo "Which Service ?? \c" read SVC else SVC=$1 fi CHK=`echo $SVC | cut -..

Lock option has no effect for the map

프로프레임에서 사용하는 DBIO의 경우 select 하거나 fetch 할 때 pdb_lock 옵션을 이용할 수 있다. DBIO 스튜디오에서 Lock Query 생성을 체크하고 소스생성, 컴파일 할 때 생성된 SQL을 보면 WAIT 옵션이 뒤에 붙어 있는 것을 볼 수 있다. dbio 내부에서 sql을 실행하기 전에 input 의 pdb_lock 변수에 PDB_LOCK 값이 세트되어 온 경우에 SQL에 WAIT 절이 있는 지 체크하게 되고 SQL 에 WAIT 절이 없는데 LOCK option을 사용하겠다고 했을 때 "Lock option has no effect for the map" 메시지가 나오게 된다. 하지만 개발자가 dbio_in.pdb_lock = PDB_LOCK; 와 같이 코딩한 적도 없는데도 D..

dlopen error : Permission denied

프로프레임 환경에서 프로그램 실행시 [dlopen error Permission denied] 함수 [mxx_dacom_msg_deco]에 대한 dlcall이 실패하였습니다 [seq_no:14984545] 라는 메세시지를 만날 때가 있다. mxx_dacom_msg_deco.c 를 컴파일하여 libmxx_dacom_msg_deco.so 를 만들고 이 libmxx_dacom_msg_deco.so 를 dlupdate 한 후에 실행했을 때 나온 메시지 이다. libmxx_dacom_msg_deco.so 는야 dlupdate 될 때 $TDLDIR/run/ 아래에 복사되어 지므로 접근 권한이 없지 않겠지만libmxx_dacom_msg_deco.so 를 만들때 링크된 libclntsh.a, liblicense.a 라..

반응형