다시한번 도움을 받으려고 합니다.(너무 염치가없지요...^.^)
다른게 아니라 .. 어찌어찌 해서 insert까지 문제 없이 들어가는데요..
만약 db server가 죽었다던지. 아님 깨는 자료가 들어가서 timestamp type과
맞지 않아서 에러가 날경우를 생각해서 error catch 구문을 넣으려고 하는데요
좀처럼 에러 구문이 안나오네요..메뉴얼에 나와있는 error list 에는 코드값이 나와
있는데.. 코드값은 않나오고 그냥 아무런 메시지가 않나옵니다. 어찌 된건지..
제가 error catch 구문을 잘못쓰고 있는건지. 좀 알려주셨으면 합니다.
이왕이면 예를 들어서요... 꾸벅 (잽싸게 나가는 초보가 ^.^)
EXEC SQL INSERT INTO In10112(status,ktCode,pfCode,outktCode,outpfCode,
acdTime,serverTime,ddd,telNo)
VALUES(:statusPart, :KTregPart, :chungRegPart, :outKTregPart,
:outChungRegPart, :acdTime,
:Servtime, :regionNo, :telNo);
요기서 sqlprint 라는 놈이 에러를 catch 하는 놈이 아닌가요..
catch 를 잘 못하는것 같더라구요..
EXEC SQL WHENEVER sqlerror sqlprint;
printf("\n>>>Postgres errr Detected:\n %.70s\n",sqlca.sqlerrm.sqlerrmc);
EXEC SQL ROLLBACK WORK RELEASE;
int
error()
{
EXEC SQL WHENEVER SQLERROR sqlprint;
EXEC SQL ROLLBACK WORK RELEASE;
printf("\nPostgres errr Detected:\n %.70s\n",sqlca.sqlerrm.sqlerrmc);
exit(1);
}
|