◆ SYBASE Error Message

   

[Tip] 일반적으로 발생할 수 있는 ESQL/C Error 및 원인

1.Dynamic SQL사용시 statement명이 10byte를 넘는 경우
SQLCODE=(-193)
The object or column name starting with '%.*s' is too long. ......    

2.잘못된 column명을 사용한 경우
SQLCODE=(-207)
Invalid column name 'au_name'.    

3.'not null'로 지정된 column에 NULL을 입력한 경우
SQLCODE=(-233)
The column au_lname in table authors does not allow null values.  

4.다른 table에 의해 참조되는 값을 변경한 경우
SQLCODE=(-546)
Foreign key constraint violation occurred, dbname = 'pubs2', table name = 'writers', constraint name = 'writers_800005881'.  

5.foreign key에 의해 참조되는 값을 변경한 경우
SQLCODE=(-547)
Dependent foreign key constraint violation in a referential integrity constraint. dbname = 'pubs2', table name = 'authors', constraint name = 'ref_author_ref_au_704005539'.    

6.Deadlock이 발생한 경우
SQLCODE=(-1205)
Your Server Command (family id #0, process id #7) was deadlocked with another process and has been chosen as deadlock victim, Re-run your command.    

7.Insert한 데이터가 중복된 경우
SQLCODE=(-2601)
Attempt to insert duplicate key row in object 'authors' with unique index 'auidind'    

8.host 변수의 길이가 짧은 경우(실제 value의 길이보다1Byte 더 늘려준다.)
SQLCODE=(-25014)
Unterminated string. 또는 host variable is not NULL terminated.    

9.Indicator Variable 없이 NULL 값을 fetch한 경우
SQLCODE=(-16843097)
ct_fetch(): user api layer: external error: The data for column 5 is NULL but no indicator was available.    

10.Single value만을 처리하는 프로그램에 multi row result set이 return된 경우
SQLCODE=(-16843171)
This routine cannot be called until all fetchable results have been completely processed.    

11.Cursor가 이미 close된 경우(참고: ESQL에서 Cursor는 close on endtran=true 가 default임)
SQLCODE=(-16843189)
This command is not allowed when the cursor is closed.    

12.Data Type이 맞지 않는 변수에 Data를 fetch한 경우(예: char -> int)
SQLCODE=(-17039699)
ct_fetch(): user api layer: internal common library error: The bind of result set item 1 failed due to a syntax error in the source data.

+ Recent posts