본문 바로가기

ETC

[db2] error code 정리

반응형

SQL0453N

루틴 routine-name을(를) 정의하는 명령문의 RETURNS절에서 문제점이 발견되었습니다.

설명:

루틴 routine-name의 결과를 캐스팅하는 중에 문제점이 발견되었습니다. CAST FROM 데이터 유형을 RETURNS 데이터 유형으로 캐스트할 수 없지만, 캐스트되어야 합니다. 데이터 유형 간의 캐스팅에 대한 세부사항은 SQL 참조서를 참조하십시오.

사용자 응답:

RETURNS절 또는 CAST FROM절을 변경하여 CAST FROM 데이터 유형이 RETURNS 데이터 유형으로 캐스트되도록 하십시오.

sqlcode : -453

sqlstate : 42880

SQL0454N

루틴 routine-name의 정의에 제공되는 시그니처가 유형 또는 스키마에 이미 존재하는 일부 다른 루틴의 시그니처와 일치합니다.

설명:

함수의 시그니처는 함수 이름, 함수에 정의된 매개변수 수 및 순서화된 매개변수 유형 목록(유형의 매개변수에 상관없이)으로 구성됩니다.

메소드의 시그니처는 메소드 이름, 메소드의 주제 유형, 메소드에 정의된 매개변수 수 및 순서화된 매개변수 유형 목록(유형의 매개변수와 상관없이)으로 구성됩니다.

프로시저의 시그니처는 프로시저 이름과 프로시저에 정의된 매개변수 수(데이터 유형은 고려되지 않음)로 구성됩니다.

이 경우, 다음 중 하나가 적용됩니다.

  • 작성 중인 함수 또는 프로시저와 동일한 시그니처를 갖는 스키마에 이미 함수나 프로시저(routine-name)가 있습니다.
  • 추가 중인 메소드 스펙이나 작성 중인 메소드 본문과 동일한 시그니처를 갖는 주제 유형에 대한 메소드( routine-name)가 있습니다.

명령문을 처리할 수 없습니다.

사용자 응답:

기존 루틴이 이미 원하는 기능을 제공하는지 판별하십시오. 그렇지 않으면, 루틴 이름을 변경하는 것과 같은 방법으로 루틴의 시그니처를 변경해야 합니다.

sqlcode : -454

sqlstate : 42723

SQL0455N

루틴 routine-name에서 특정 이름에 제공된 스키마 이름 schema-name1은(는) 루틴의 스키마 이름schema-name2과(와) 일치하지 않습니다.

설명:

특정 이름이 두 부분의 이름으로 지정된 경우, schema-name1 부분은 routine-name의 schema-name2과(와) 같아야 합니다. routine-name의 schema-name2 부분이 직접 지정되었거나 명령문의 권한 부여 ID를 디폴트값으로 가질 수도 있음에 유의하십시오. 루틴이 메소드인 경우, schema-name은(는) 메소드 주제 유형의 스키마 이름을 참조합니다.

사용자 응답:

명령문을 정정한 후 다시 시도하십시오.

sqlcode : -455

sqlstate : 42882

SQL0456N

루틴 routine-name의 정의에서 특정 이름 specific-name이(가) 이미 스키마에 있습니다.

설명:

사용자가 명시적 특정 이름 specific-name을(를) 루틴 routine-name의 정의에 제공했으나, 이 이름은 이미 스키마에서 함수, 메소드 또는 프로시저의 특정 이름으로 존재합니다.

사용자 응답:

새 특정 이름을 선택한 다음 다시 시도하십시오.

sqlcode : -456

sqlstate : 42710

SQL0457N

함수, 메소드, 사용자 정의 데이터 유형 또는 구조화된 데이터 유형 속성은 시스템용으로 예약되어 있으므로 name(으)로 지정할 수 없습니다.

설명:

지정된 이름이 시스템용으로 예약되어 있으므로 사용자 정의 함수(UDF), 메소드, 사용자 정의 데이터 유형 또는 구조화된 데이터 유형을 작성할 수 없습니다. 함수 이름, 구별 유형 이름, 구조화된 유형 이름 또는 속성 이름에 사용할 수 없는 이름은 다음과 같습니다.

"=","<",">",">=","<=", "&=","&>",,"&<", "!=","!>","!<","<>", SOME, ANY, ALL, NOT, AND, OR, BETWEEN, NULL, LIKE, EXISTS, IN, UNIQUE, OVERLAPS, SIMILAR, MATCH

사용자 응답:

함수, 메소드, 사용자 정의 데이터 유형 또는 구조화된 데이터 유형 속성에 대해 시스템용으로 예약되어 있지 않은 이름을 선택하십시오.

sqlcode : -457

sqlstate : 42939

SQL0458N

시그니처로 루틴 routine-name을(를) 참조하는 중에 일치하는 루틴을 찾을 수 없습니다.

설명:

시그니처로 함수, 메소드 또는 스토어드 프로시저 routine-name을(를) 참조하는 중에 일치하는 함수, 메소드 또는 스토어드 프로시저를 찾을 수 없습니다.

매개변수가 허용되는 데이터 유형이 사용되는 경우, 유형 매개변수는 선택적입니다. 예를 들어, CHAR(12)의 경우에는 매개변수(CHAR(12))를 지정하거나 생략(CHAR())할 수 있습니다. 매개변수를 지정하는 경우, DBMS는 데이터 유형과 데이터 유형 매개변수가 완전히 일치하는 경우에만 이를 허용합니다. 매개변수를 생략하는 경우, DBMS는 데이터 유형만 일치하면 이를 허용합니다. CHAR() 구문은 일치하는 함수를 찾을 때 데이터 유형 매개변수를 무시하도록 DBMS에 알리는 방법을 제공합니다.

또한 DROP FUNCTION/PROCEDURE 및 COMMENT ON FUNCTION/PROCEDURE문에서 규정되지 않은 참조는 명령문 권한 부여 ID로 규정되며, 이것은 문제가 발견될 수 있는 스키마입니다. CREATE 함수의 SOURCE절에서 규정은 현재 함수 경로에서 옵니다. 이러한 경우, 전체 경로에 일치하는 함수가 없습니다.

함수는 COALESCE, NULLIF, NODENUMBER, PARTITION, RAISE_ERROR, TYPE_ID, TYPE_NAME, TYPE_SCHEMA 또는 VALUE 내장 함수에서 전래될 수 없습니다.

명령문을 처리할 수 없습니다.

사용자 응답:

다음 조치가 가능합니다.

  • 올바른 스키마를 포함하도록 함수 경로를 변경하십시오.
  • 데이터 유형의 스펙에서 매개변수를 제거하십시오.
  • 시그니처 대신 특정 이름을 사용하여 함수나 프로시저를 참조하십시오.

sqlcode : -458

sqlstate : 42883

SQL0461N

데이터 유형이 source-data-type인 값은 유형 target-data-type(으)로 캐스트할 수 없습니다.

설명:

명령문에 데이터 유형이 source-data-type인 첫 번째 피연산자를 데이터 유형 target-data-type(으)로 캐스트하는 CAST가 들어 있습니다. 이 캐스트는 지원되지 않습니다.

사용자 응답:

소스 또는 목표의 데이터 유형을 변경하여 캐스트가 지원되도록 하십시오. 사전 정의 데이터 유형에 대한 캐스트는 SQL 참조서에 나와 있습니다. 사용자 정의 구별 유형을 포함하는 캐스트의 경우, 기본 데이터 유형과 사용자 정의 구별 유형 간에 캐스트하거나, 기본 데이터 유형으로 승격 가능한 데이터 유형을 사용자 정의 구별 유형으로 캐스트할 수 있습니다.

sqlcode : -461

sqlstate : 42846

SQL0462W

루틴 routine-name(특정 이름 specific-name)이(가) 진단 텍스트 text과(와) 함께 경고 SQLSTATE를 리턴했습니다.

설명:

루틴 routine-name(특정 이름 specific-name)이(가) 메시지 텍스트 text와(과) 함께 01Hxx 양식의 SQLSTATE를 DB2로 리턴했습니다.

사용자 응답:

사용자는 경고의 의미를 이해해야 합니다. 데이터베이스 관리자나 루틴 작성자에게 문의하십시오.

sqlcode : +462

sqlstate : 01Hxx

SQL0463N

루틴 routine-name(특정 이름 specific-name)이(가) 진단 텍스트 text과(와) 함께 유효하지 않은 SQLSTATE state을(를) 리턴했습니다.

설명:

루틴이 리턴할 수 있는 유효한 SQLSTATE는 38xxx(오류), 38502(오류) 및 01Hxx(경고)입니다. 이 루틴routine-name(특정 이름 specific-name)이(가) 메시지 텍스트 text과(와) 함께 유효하지 않은 SQLSTATE state을(를) 리턴했습니다. 루틴에 오류가 있습니다.

사용자 응답:

루틴을 정정해야 합니다. 데이터베이스 관리자나 루틴 작성자에게 문의하십시오. 잘못된 SQLSTATE에 대한 응용프로그램의 의미도 루틴 작성자로부터 알 수 있습니다.

sqlcode : -463

sqlstate : 39001

SQL0464W

프로시저 procedure-name이(가) 정의된 한계 max-nbr-results을(를) 초과하는 generated-nbr-results 쿼리 결과 세트를 리턴했습니다.

설명:

procedure-name 이름의 스토어드 프로시저가 완료되었습니다. 그러나 스토어드 프로시저가 리턴할 수 있는 쿼리 결과 세트 수에 대해 정의된 한계를 초과했습니다.

generated-nbr-results스토어드 프로시저가 리턴하는 쿼리 결과 세트의 수를 나타냅니다.max-nbr-results스토어드 프로시저의 쿼리 결과 세트 수에 정의된 한계를 나타냅니다.

첫 번째 max-nbr-results 쿼리 결과 세트만 SQL CALL문을 발행한 SQL 프로그램으로 리턴됩니다.

스토어드 프로시저가 클라이언트에 의해 강요되는 DRDA 제한으로 인해 generated-nbr-results 결과 세트를 리턴할 수 없기 때문일 수 있습니다. DRDA 클라이언트는 MAXRSLCNT DDM 코드 포인트를 사용하여 이 한계를 설정합니다.

사용자 응답:

SQL문이 성공적이었습니다. SQLWARN9 필드가 'Z'로 설정되었습니다.

sqlcode : +464

sqlstate : 0100E

SQL0465N

분리 모드 프로세스를 시작하거나, 초기화하거나, 이와 통신할 수 없습니다. 이유 코드 code.

설명:

분리 모드 루틴의 실행에 시스템 관련 문제가 있습니다. 문제점의 정확한 특성은 code(으)로 표시됩니다. 이것은 사용자 문제가 아닙니다. 가능한 이유 코드는 다음과 같습니다.

루틴 프로세스 오류

21:내부 데이터나 응용프로그램 데이터의 초기화 실패22:신호 핸들러 등록 실패23:에이전트 프로세스에 REQUEST QUEUE에 대한 액세스 권한 부여 실패24:루틴 프로세스 공유 메모리에 연결 실패25:REPLY QUEUE 열기 실패26:REPLY QUEUE에 쓰기 실패27:REQUEST QUEUE 작성 실패28:REQUEST QUEUE 읽기 실패29:루틴 프로세스 중단30:루틴 프로세스가 USER INTERRUPT 신호 발견31:루틴 모듈 언로드 실패32:모듈 로드/언로드에 사용된 제어 블록에 대한 스토리지 할당 실패33:에이전트 프로세스에서 루틴 프로세스로 SIGINT 전송 실패34:OLE 라이브러리 초기화 실패35:OLE DB 초기화 서비스 구성요소의 초기화 실패40:루틴 프로세스에서 내부 오류 발생

에이전트 프로세스 오류

41:루틴 프로세스 생성 실패42:REPLY QUEUE 작성 실패43:REPLY QUEUE 읽기 실패44:REQUEST QUEUE 열기 실패45:REQUEST QUEUE에 쓰기 실패47:루틴 프로세스에 UDFP 공유 메모리 세트에 대한 액세스 권한 부여 실패48:루틴 프로세스에 REPLY QUEUE에 대한 액세스 권한 부여 실패49:모듈 로드/언로드에 사용된 제어 블록에 대한 스토리지 할당 실패50:루틴 코드 또는 에이전트 코드 실행 중에 에이전트 프로세스 중단51:비분리 루틴 코드 실행 중에 에이전트 프로세스가 USER INTERRUPT 발견60:루틴 프로세스에서 내부 오류 발생

사용자 응답:

데이터베이스나 시스템 관리자에게 문의하십시오.

sqlcode : -465

sqlstate : 58032

SQL0466W

프로시저 procedure-name이(가) 스토어드 프로시저로부터 number-results 결과 세트를 리턴합니다.

설명:

이 메시지는 CALL SQL문을 발행한 결과로 리턴됩니다. 스토어드 프로시저 procedure-name에 이와 연관된 number-results 결과 세트가 있음을 나타냅니다.

명령문이 완료되었습니다.

사용자 응답:

조치가 필요하지 않습니다.

sqlcode : +466

sqlstate : 0100C

SQL0467W

프로시저 procedure-name에 다른 결과 세트가 포함됩니다. 총 max-nbr-results개의 결과 세트가 있습니다.

설명:

이 메시지는 커서를 닫은 결과로 리턴되었습니다. 스토어드 프로시저 procedure-name에 대한 또다른 결과 세트가 있고, 커서가 다음 결과 세트에서 다시 열렸음을 나타냅니다. 스토어드 프로시저로부터 총max-nbr-results개의 결과 세트가 있습니다.

명령문이 완료되었습니다.

사용자 응답:

조치가 필요하지 않습니다. 다음 결과 세트에서 페치를 진행할 수 있습니다.

sqlcode : +467

sqlstate : 0100D

SQL0469N

특정 이름 specific-name의 프로시저 procedure-name에 있는 매개변수에 대해 매개변수 모드(IN, OUT 또는 INOUT)가 유효하지 않습니다(매개변수 번호 number, 이름 parameter-name).

설명:

다음 오류 중 하나가 발생했습니다.

  • SQL 프로시저의 매개변수가 OUT으로 선언되고 프로시저 본문에서 입력으로 사용됩니다.
  • SQL 프로시저의 매개변수가 IN으로 선언되고 프로시저 본문에서 수정됩니다.

사용자 응답:

매개변수 속성을 INOUT으로 변경하거나, 프로시저 내에서 매개변수 사용을 변경하십시오.

sqlcode : -469

sqlstate : 42886

SQL0470N

사용자 정의 루틴 routine-name(특정 이름 specific-name)에 전달할 수 없는 인수 argument에 대한 널(NULL) 값이 있습니다.

설명:

루틴에 널(NULL) 표시기를 전달하지 않는 매개변수 스타일로 정의된 널(NULL) 값을 갖는 입력 인수가 있거나, 이 매개변수의 데이터 유형이 널(NULL) 값을 지원하지 않습니다.

사용자 응답:

루틴이 널(NULL) 값으로 호출될 경우, 매개변수 스타일 및 입력 유형이 널(NULL) 값을 허용하는지 확인하십시오. 함수의 경우, 이 함수를 "RETURNS NULL ON NULL INPUT"으로 작성했을 수도 있습니다.

sqlcode : -470

sqlstate : 39004

SQL0471N

이유 reason-code로 인하여 루틴 name의 호출에 실패했습니다.

설명:

루틴 name이(가) OS/390용 DB2 Universal Database 서버에서 호출되었습니다. DB2 이유 코드reason-code에서 설명한 조건으로 인해 루틴 호출에 실패했습니다.

명령문을 실행할 수 없습니다. 오류를 설명하는 DSNX9xx 메시지가 MVS 시스템 콘솔에 표시될 수도 있습니다.

사용자 응답:

OS/390용 DB2 Universal Database 서버 문서를 참조하고 DB2 이유 코드에서 설명하는 조건을 정정하십시오.

sqlcode : -471

sqlstate : 55023

SQL0472N

함수 또는 메소드 routine-name(특정 이름 specific-name)에 의해 하나 이상의 커서가 열려 있습니다.

설명:

호출 명령문이 완료되기 전에 함수 또는 메소드 routine-name(특정 이름 specific-name)이(가) 열려 있는 모든 커서를 닫지 않았습니다. 호출 명령문이 완료되기 전에 함수 또는 메소드가 모든 커서를 닫아야 합니다.

사용자 응답:

함수 또는 메소드 개발자에게 문의하십시오. 호출 명령문이 완료되기 전에 모든 커서를 닫도록 하려면 함수 또는 메소드를 다시 작성해야 합니다.

sqlcode : -472

sqlstate : 24517

SQL0473N

시스템 사전 정의 유형과 동일한 이름의 사용자 정의 데이터 유형을 작성할 수 없습니다.

설명:

작성될 데이터 유형 이름은 시스템 사전 정의 데이터 유형과 동일하거나 BOOLEAN인 규정되지 않은 이름입니다. 이것은 허용되지 않습니다. 분리문자를 추가하면 이름이 유효하지 않게 됩니다.

명령문을 처리할 수 없습니다.

사용자 응답:

다른 ID를 사용하도록 명령문을 정정하십시오.

sqlcode : -473

sqlstate : 42918

SQL0475N

SOURCE 함수의 결과 유형 type-1은(는) 사용자 정의 함수(UDF) function-name의 RETURNS 유형type-2(으)로 캐스트될 수 없습니다.

설명:

전래된 사용자 정의 함수(UDF)의 CREATE가 유효하게 되려면, 소스 함수의 결과 유형( type-1)이 작성 중인 함수의 RETURNS 유형( type-2)으로 캐스트될 수 있어야 합니다. 이들 데이터 유형 간에 지원되는 캐스트가 없습니다. 데이터 유형 간의 캐스팅에 대한 세부사항은 SQL 참조서를 참조하십시오.

사용자 응답:

RETURNS 데이터 유형이나 SOURCE 함수 ID를 변경하여 SOURCE 함수의 결과 유형이 RETURNS 데이터 유형으로 캐스트될 수 있도록 하십시오.

sqlcode : -475

sqlstate : 42866

SQL0476N

루틴 function-name에 대한 참조가 시그니처 없이 수행되었지만, 루틴이 스키마에서 고유하지 않습니다.

설명:

시그니처 없는 함수 또는 스토어드 프로시저에 대한 참조는 허용되지만, 이름이 지정된 함수 또는 스토어드 프로시저 function-name이(가) 해당 스키마에서 고유해야 하는데 그렇지 않습니다. 루틴이 메소드인 경우, 시그니처 없는 참조가 허용되지만 이름이 지정된 메소드는 해당 데이터 유형에 대해 고유해야 합니다.

또한 DROP FUNCTION/PROCEDURE 및 COMMENT ON FUNCTION/PROCEDURE문에서 규정되지 않은 참조는 명령문 권한 부여 ID로 규정되며, 이것은 문제가 발견될 수 있는 스키마임에 유의하십시오. CREATE FUNCTION의 SOURCE절에서 규정은 현재 함수 경로에서 옵니다. 이 경우, 이 이름의 함수가 있는 경로에서 첫 번째 스키마에 동일한 이름의 다른 함수가 있습니다.

페더레이티드 시스템 사용자: pass-through 세션의 경우 명령문이 CREATE FUNCTION MAPPING문이면, 이 오류는 하나의 리모트 함수에서 둘 이상의 로컬 함수로 함수 맵핑을 작성하려고 했음을 나타냅니다.

사용자 응답:

다음 중 하나를 수행하여 참조를 정정하십시오.

  • 시그니처를 완료하십시오.
  • 원하는 루틴의 특정 이름을 사용하십시오.
  • SQL 경로를 변경하십시오.

sqlcode : -476

sqlstate : 42725

SQL0478N

object-type1에 종속되는 object-type2 유형의 오브젝트 object-name이(가) 있기 때문에 오브젝트 유형 object-type1에 대한 DROP 또는 REVOKE를 처리할 수 없습니다.

설명:

이 object-type1에 대한 종속성이 있으므로 요청된 DROP 또는 REVOKE를 처리할 수 없습니다. 유형object-type2(예: 오브젝트 object-name)의 오브젝트로 정의된 제한 종속성이 있습니다.

간접적으로 종속될 수도 있습니다. 즉, 이름 지정된 오브젝트가 삭제 중이거나 REVOKE의 영향을 받는 오브젝트에 종속되는 다른 오브젝트에 종속됩니다.

예:

  • 함수 F1이 함수 F2의 소스인 경우
  • 뷰 V1이 F1을 사용하여 정의된 경우
  • F2에 대한 F1의 직접 종속성 및 F2에 대한 V1의 간접 종속성으로 인해 F2 삭제 시도가 실패하는 경우

사용자 응답:

이 오브젝트에 대한 종속성을 제거한 후 요청을 다시 발행하십시오.

sqlcode : -478

sqlstate : 42893

SQL0480N

프로시저 procedure-name이(가) 호출되지 않았습니다.

설명:

ASSOCIATE LOCATORS문에 지정된 프로시저가 응용프로그램 프로세스 내에서 호출되지 않았거나, 명령문에 앞서 명시적 또는 암시적 커미트가 발생했습니다.

사용자 응답:

CALL문에 프로시저 이름을 지정하는 데 사용된 정확한 구문이 ASSOCIATE LOCATORS문과 같도록 명령문을 정정하십시오. 규정되지 않은 이름을 사용하여 프로시저를 호출하는 경우, 한 부분의 이름을 다른 명령문에서도 사용해야 합니다. 명령문을 다시 발행하십시오.

sqlcode : -0480

sqlstate : 51030

SQL0481N

GROUP BY절에서 element-1이(가) element-2 내에 중첩되어 있습니다.

설명:

다음의 중첩 유형은 GROUP BY절에서 허용되지 않습니다.

  • CUBE, ROLLUP 또는 GEL 내에서 CUBE
  • CUBE, ROLLUP 또는 GEL 내에서 ROLLUP
  • CUBE, ROLLUP 또는 GEL 내에서 ()
  • GROUPING SET, CUBE, ROLLUP 또는 GEL 내에서 GROUPING SET

여기서 GEL은 GROUP BY절의 구문 다이어그램에서 그룹화 표현식 목록으로 표시된 요소를 나타냅니다.

일부 인스턴스에서는 element 2에 대해 값 『---』가 표시됩니다. 이 경우, 『---』는 CUBE, ROLLUP, GROUPING SET 또는 GEL 중 하나를 나타냅니다.

명령문을 처리할 수 없습니다.

사용자 응답:

GROUP BY절을 수정하여 중첩을 제거하십시오.

sqlcode : -481

sqlstate : 428B0

SQL0483N

사용자 정의 함수(UDF) function-name 명령문에 대한 CREATE에서 매개변수 수가 SOURCE 함수의 매개변수 수와 일치하지 않습니다.

설명:

다른 함수에서 전래된 사용자 정의 함수(UDF) function-name을(를) CREATE하려고 했습니다. 다음 상황 중 하나가 발견되었습니다.

  • SOURCE절이 소스 함수를 식별하기 위해 함수 이름(입력 매개변수 목록)을 사용하며, 목록의 유형 수가 작성 중인 함수의 매개변수 수와 다릅니다.
  • SOURCE절이 소스 함수를 식별하기 위해 다른 구문을 사용하며, 해당 함수의 유형 수가 작성 중인 함수의 매개변수 수와 다릅니다.

사용자 응답:

SOURCE 함수와 작성 중인 함수의 매개변수 수는 동일해야 합니다. 다음 작업을 위해 SOURCE 함수의 ID를 변경해야 합니다.

  • 입력 매개변수 목록을 정정합니다.
  • 적절한 함수를 식별하도록 함수 이름 또는 함수 특정 이름을 정정합니다.

또한 올바른 함수 결정을 위해 함수 경로 이름을 수정해야 할 수도 있습니다.

sqlcode : -483

sqlstate : 42885

SQL0486N

BOOLEAN 데이터 유형은 현재 내부적으로만 지원됩니다.

설명:

명령문에서 하나 이상의 데이터 유형이 BOOLEAN입니다. 이것은 현재의 DB2 버전에서 지원되지 않습니다.

사용자 응답:

데이터 유형을 변경한 다음, 명령문을 다시 제출하십시오.

sqlcode : -486

sqlstate : 42991

SQL0487N

루틴 routine-name(특정 이름 specific-name)이(가) SQL문을 실행하려고 했습니다.

설명:

루틴 본문을 구현하는 데 사용되는 프로그램은 SQL문을 실행할 수 없습니다. 이 루틴 routine-name(특정 이름 specific-name)은(는) SQL문을 포함하거나 SYSPROC.ADMIN_CMD 프로시저와 같은 SQL문을 사용하는 프로시저를 호출합니다.

사용자 응답:

모든 SQL문을 제거한 다음, 프로그램을 다시 컴파일하십시오. 루틴을 정의하는 명령문에 지정된 대로 허용되는 SQL의 레벨을 조사하십시오.

sqlcode : -487

sqlstate : 38001

SQL0489N

SELECT 또는 VALUES 목록 항목의 함수 function-name이(가) BOOLEAN 결과를 생성했습니다.

설명:

부울 결과를 리턴한 함수 function-name은(는) 술어로 사용되도록 정의되어 있습니다. 결과는 선택 목록에서 유효하지 않습니다.

명령문을 처리할 수 없습니다.

사용자 응답:

함수 이름을 정정하거나 함수의 사용을 제거하십시오.

sqlcode : -489

sqlstate : 42844

SQL0490N

SQL문 또는 명령에 직접 지정된 숫자 number이(가) 이 컨텍스트에서 허용되는 값의 범위를 벗어납니다( minvalmaxval).

설명:

컨텍스트에서 유효하지 않은 숫자( number)가 지정되었습니다. 이 컨텍스트에서 허용되는 최소값은minval입니다. 이 컨텍스트에서 허용되는 최대값은 maxval입니다. n은 minval과(와) maxval(으)로 지정된 범위 내에 있어야 합니다( minval =< n => maxval).

테이블 스페이스를 작성 또는 변경하는 경우 테이블 스페이스의 페이지 크기에 따라 최소 및 최대값이 다를 수 있습니다. 테이블 스페이스 한계에 대한 자세한 사항은 SQL 참조서를 참조하십시오.

사용자 응답:

명령문 또는 명령에서 값 n을 올바른 값으로 변경하십시오.

sqlcode : -490

sqlstate : 428B7

SQL0491N

루틴 routine-name의 정의에 RETURNS절과, EXTERNAL절(기타 필수 키워드), RETURN문 또는 SOURCE절 중 하나가 있어야 합니다.

설명:

필수 절이 루틴 routine-name의 정의에서 누락되었습니다. EXTERNAL을 지정하면, LANGUAGE, PARAMETER STYLE, DETERMINISTIC 또는 NOT DETERMINISTIC, EXTERNAL ACTION 또는 NO EXTERNAL ACTION절 중 하나도 지정해야 합니다.

사용자 응답:

누락된 절을 추가한 다음, 다시 시도하십시오.

sqlcode : -491

sqlstate : 42601

SQL0492N

사용자 정의 함수(UDF) function-name의 CREATE에서 매개변수 번호 number에 문제가 있습니다. SOURCE 함수와 일치되지 않을 수 있습니다.

설명:

함수 function-name의 위치 number에 있는 매개변수에 오류가 있거나 CREATE를 수행할 수 없습니다. 소스 함수의 위치 number에 있는 매개변수는 작성 중인 함수의 해당 매개변수로 캐스트할 수 없습니다.

사용자 응답:

가능한 정정 조치는 다음과 같습니다.

  • 다른 소스 함수를 식별하십시오.
  • 작성 중인 함수의 매개변수 데이터 유형을 변경하여, 소스 함수의 데이터 유형이 이 데이터 유형으로 캐스트될 수 있도록 하십시오.

sqlcode : -492

sqlstate : 42879

SQL0493N

루틴 routine-name(특정 이름 specific-name)이(가) 구문적으로 또는 수치적으로 유효하지 않은 날짜, 시간 또는 시간소인을 리턴했습니다.

설명:

사용자 정의 함수(UDF) 또는 메소드 routine-name(특정 이름 specific-name)의 내용이 유효하지 않은 날짜, 시간 또는 시간소인 값을 리턴했습니다.

구문적으로 유효하지 않은 날짜 값의 예로는 '1994-12*25'가 있습니다. '*'는 '.-'이어야 합니다. 수치적으로 유효하지 않은 값의 예로는 '11.71.22'가 있습니다. 시간에 71분은 없습니다.

사용자 응답:

루틴을 수정해야 합니다. DBA나 루틴 작성자에게 문의하십시오.

sqlcode : -493

sqlstate : 22007

SQL0494W

결과 세트 수가 로케이터 수보다 큽니다.

설명:

ASSOCIATE LOCATORS문에서 지정한 결과 세트 로케이터 수가 스토어드 프로시저에서 리턴하는 결과 세트 수보다 작습니다. 첫 번째 『n』 결과 세트 로케이터 값이 리턴됩니다. 여기서, 『n』은 SQL문에 지정한 결과 세트 로케이터 변수의 수입니다.

SQL문이 성공적이었습니다.

사용자 응답:

SQL문에서 지정한 결과 세트 로케이터 변수의 수를 늘리십시오.

sqlcode : +494

sqlstate : 01614

SQL0495N

비용 범주 cost-category에 있는 estimate-amount1 프로세서 초( estimate-amount2 서비스 장치)의 계산된 프로세서 비용이 limit-amount 서비스 장치의 자원 제한 오류 임계값을 초과합니다.

설명:

동적 INSERT, UPDATE, DELETE 또는 SELECT SQL 명령문의 준비로 계산 비용이 자원 제한 스펙 테이블(RLST)에 지정된 오류 임계값을 초과했습니다.

이 오류는 DB2의 비용 범주 값이 "B"이고, RLST의 RLF_CATEGORY_B 컬럼에 지정된 디폴트 조치가 오류를 발행하는 것일 경우에도 발행됩니다.

estimate_amount1준비된 INSERT, UPDATE, DELETE 또는 SELECT문을 실행할 경우, 예상 비용(프로세서 초 단위)estimate_amount2준비된 INSERT, UPDATE, DELETE 또는 SELECT문을 실행할 경우, 예상 비용(서비스 장치 단위)cost-category이 SQL문에 대한 DB2의 비용 범주. 가능한 값은 A 또는 B입니다.limit-amountRLST의 RLFASUERR 컬럼에 지정된 오류 임계값(서비스 장치 단위)

동적 INSERT, UPDATE, DELETE 또는 SELECT문의 준비에 실패했습니다.

사용자 응답:

비용 범주 값이 "B"이기 때문에 이 SQLCODE가 리턴된 경우, 명령문이 매개변수 표시문자를 사용하고 있거나, 참조 테이블 및 컬럼에서 일부 통계가 사용 불가능할 수도 있습니다. 관리자가 참조 테이블에서 RUNSTATS 유틸리티를 실행했는지 확인하십시오. 또한 명령문이 실행될 때 UDF가 호출되거나, 변경된 테이블에 트리거가 정의된 INSERT, UPDATE 또는 DELETE문의 경우에 그럴 수도 있습니다. 이 SQL문이 비용 범주 "B"에 포함된 이유를 알아내려면, 이 명령문의 DSN_STATEMNT_TABLE 또는 IFCID 22 레코드를 점검하십시오. 프로그램을 변경할 수 없거나 통계를 가져올 수 없는 경우, RLST의 RLF_CATEGORY_B 컬럼 값을 명령문의 실행을 허용하는 "Y"로 변경하거나 오류 대신 경고를 리턴하는 "W"로 변경하도록 관리자에게 요청하십시오.

프로세서 자원을 너무 많이 소모하는 SQL문으로 인해 경고가 발생한 경우, 더 효율적으로 수행하도록 명령문을 다시 작성해 보십시오. 다른 방법으로, 관리자에게 RLST의 오류 임계값을 늘리도록 요청할 수 있습니다.

sqlcode : -495

sqlstate : 57051

SQL0499N

커서 cursor-name이(가) 프로시저 procedure-name의 이 결과 세트나 다른 결과 세트에 이미 지정되어 있습니다.

설명:

결과 세트에 하나의 커서를 지정하려고 했으나, 프로시저 procedure-name에 여러 개의 커서가 할당되었습니다.

사용자 응답:

목표 결과 세트가 이전에 커서에 지정되었는지 알아보십시오. 프로시저 procedure-name에 여러 개의 커서가 할당된 경우, 스토어드 프로시저의 결과 세트를 처리하는 데 하나의 커서만 사용되는지 확인하십시오.

sqlcode : -499

sqlstate : 24516

 

SQL0801N 0으로 나누려고 했습니다.

원인: 컬럼 함수 또는 산술식의 처리 결과로 0으로 나눔이 발생했습니다.

명령을 처리할 수 없습니다. INSERT, UPDATE 또는 DELETE문의 경우, 삽입이나 갱신을 수행할 수 없습니다.

조치: SQL문을 조사하여 문제의 원인을 판별하십시오. 문제가 자료에 관련된 것이면, 오류가 발생했을 때 처리된 자료를 조사해야 합니다. 이들 디렉토리오브젝트의 형식에 대해서는 SQL 참조서를 참조하십시오.

DataJoiner 사용자: SQL문을 조사하여 문제의 원인을 알아 내십시오.문제가 자료에 관련된 것이면, 오류가 발생할 때 해당 자료 소스에서 처리 중이던 자료를 조사하십시오.

sqlcode: -801

sqlstate: 22012


SQL0802N 산술 오버플로우 또는 기타 산술 예외가 발생했습니다.

원인: 컬럼 함수 또는 산술식 처리 결 과 산술 오버플로우가 발생했습니다.

명령을 처리할 수 없습니다. INSERT, UPDATE 또는 DELETE문의 경우, 삽입이나 갱신을 수행할 수 없습니다.

조치: SQL문을 조사하여 문제의 원인을 판별하십시오.문제가 자료에 관련된 것이면, 오류가 발생했을 때 처리된 자료를 조사해야 합니다. 이들 디렉토리오브젝트의 형식에 대해서는 SQL 참조서를 참조하십시오.

DataJoiner 사용자: SQL문을 조사하여 문제의 원인을 알아 내십시오.문제가 자료에 관련된 것이면, 오류가 발생할 때 해당 자료 소스에서 처리 중이던 자료를 조사하십시오.유효한 자료 유형 범위를 알아내려면 그 자료 소스에 대해 해당 SQL 참조서를 참조하십시오.

sqlcode: -802

sqlstate: 22003


SQL0803N INSERT문, UPDATE문 또

는 DELETE문에 의해 일어난 외부 키 갱신에서 하나 이상의 값

이 기본 키, 고유 제한조건 또는 고유 색인을 가진 테이블에 대

해 중복 행을 산출하므로 유효하

지 않습니다.

원인: INSERT 또는 UPDATE 오브젝트 테이블이 특정 컬럼 또는 컬럼의 그룹 내에 유일한 값을 가지기 위해, 하나 이상의 UNIQUE 색인에 의해 제한을 받습니다.

또는 모 테이블(parent table)에 대한 DELETE문이 특정 컬럼이나 컬럼 그룹에 고유한 값을 가질 하나 이상의 UNIQUE 색인에 의해 제한되는 종속 테이블에서 외부 키의 갱신을 일으켰습니다. 고유한 색인이 해당 테이블에 대해 정의된 기본 키 또는 고유한 제한조건을 지원하기 위해 존재할 것입니다.

요청된 삽입 또는 갱신의 완료로 컬럼 값의 중복이 초래되었습니다.

뷰가 INSERT 또는 UPDATE문의 오브젝트이면, 이는 제한된 뷰가 정의되는 테이블입니다.

명령을 처리할 수 없습니다. 테이블이 변경되지 않은 상태로 있습니다.

조치: 오브젝트 테이블에 정의된 모든 UNIQUE 색인에 대한 정의를 조사하여, 이러한 색인이 고유성 제한조건을 야기하는지 판별하십시오.

UPDATE문의 경우, 지정한 조작이 그러한 고유성 제한조건으로 일관성이 없는 상태에 있는지 확인하십시오.이것이 오류를 표시하지 않으면, 오브젝트 테이블 내용을 조사하여 문제의 원인을 판별하십시오.

INSERT문의 경우, 오브젝트 테이블 내용을 조사하여 지정된 값목록 내의 어떤 값이 제한조건을 위반하는지 판별하십시오.또는 INSERT문에 부속조회가 들어 있으면, 그 부속조회에 의해 언급된 오브젝트 테이블 내용이 문제의 원인을 판별할 수 있도록 오브젝트 테이블 내용과 일치해야 합니다.

DELETE문의 경우, 규칙 ON DELETE SET NULL로 정의된 외부 키에서 고유제한조건에 대한 종속 테이블을 검토하십시오. 이 테이블에 대한 컬럼에 이미 널(NULL)이 있으므로 이러한 하나의 테이블에는 널(NULL)로 설정될 수 없는 고유 색인에 외부 키 컬럼이 있습니다.

DataJoiner 사용자: 요청에 실패한 자료 소스로 문제를 분리하고(SQL문 처리에 실패한 자료 소스를 알아 내려면 문제점 판별 안내서 참조) 색인 정의와 앞에서 나열한 상태에 대한 자료를 조사하십시오.

sqlcode: -803

sqlstate: 23505


SQL0804N 현재 요청에 대한 응용 프로그램 입력 매개변수가 유효하지않습니다. 이유 코드 "". SQLDA에서 호스트 변수나 SQLVAR가 유효하지 않으면 호스트 변수/SQLVAR 번호 = "", SQLTYPE = "", SQLLEN = "", 호스트 변수/SQLVAR 유형 = "<INPUT_OR_OUTPUT>"입니다.

원인: 현재 요청을 처리하는 중에 오류가 발생했습니다.

  • 응용 프로그램 프로그래머가 사전 처리 컴파일러(precompiler)의 출력을 수정했거나 다른 방법으로 호출 매개변수 목록을 겹쳐쓴 경우, 사전 처리 컴파일러에 의해 작성된 호출 매개변수 목록이 틀릴 수 있습니다.
  • SQL문의 SQLDA나 호스트 변수(들)가 유효하지 않습니다.
  • 작성된 요청이 지원되지 않거나 컨텍스트에서 벗어납니다.

이유 코드는 다음과 같이 해석됩니다.

100작성된 요청이 지원되지 않거나 컨텍스트에서 벗어납니다.101SQLDA.SQLN이 SQLDA.SQLD 보다 작습니다.102SQLVAR.SQLTYPE이 유효하지 않습니다.103SQLVAR.SQLLEN 또는 SQLVAR2.SQLLONGLEN에 지정된 길이가 SQLVAR.SQLTYPE에서 제공된 SQL 유형에 대해 틀립니다.104대형 오브젝트(Large Object) SQLVAR이 존재하지만, SQLDA.SQLDAID의 SQLDOUBLED 필드가 '2'로 설정되지 않습니다.1052바이트 문자 대형 오브젝트가 SQLVAR2.SQLDATALEN 포인터로 지정된 홀수 값을 갖고 있습니다(이것은 DBCLOB의 경우에도, 항상 바이트 측면임).106SQLDATA 포인터가 유효하지 않거나 불충분한 저장영역을 가리킵니다.107SQLIND 포인터가 유효하지 않거나 불충분한 저장영역을 가리킵니다.108SQLDATALEN 포인터가 유효하지 않거나 불충분한 저장영역을 가리킵니다.109현재 SQL문에 대해 특정 개수의 입력 호스트 변수/SQLVARS가 예상됩니다.110LOB 위치 지정 값이 호환 가능한 유형의 LOB와 연관이 없습니다.111LOB가 SQLVAR의 SQLTYPE에 의해 지정되지만, 두 번째 SQLVAR이 널 (NULL)입니다.

호스트 변수가 있는 SQL문에서, 호스트 변수 번호를 사용하여 명령문(또는 복합 SQL의 경우 부속 명령문)의 시작에서부터 계산하여 유효하지 않은 변수를 찾으십시오. SQLDA를 사용하는 명령문의 경우, SQLVAR 번호는 유효하지 않은 SQLVAR을 찾는 데 사용됩니다. 입력 SQLDA의 경우, 입력 호스트 변수나 SQLVAR만 계산하십시오. 출력에 대해서도 마찬가지입니다. 이 번호는 1부터 시작한다는 것을 유의하십시오.

명령을 처리할 수 없습니다.

조치: 응용 프로그램의 오류를 조사하십시오. 프로그래머는 사전 처리 컴파일러(precompliler) 출력을 수정할 수 없음에 유의하십시오.

sqlcode: -804

sqlstate: 07002


SQL0805N 패키지 ""이 없었습니다.

원인: 이 메세지(SQLCODE)의 가능한 원인은 다음과 같습니다.

  • 지정한 패키지 또는 프로그램이 데이타베이스에서 정의되지않았습니다.
  • 프로그램이 바인드되지 않았거나 삭제(drop)되었습니다.
  • 수행되는 응용 프로그램은 데이타베이스에 바인드되지 않습니다.
  • DB2 유틸리티나 CLI 응용 프로그램의 수행을 시도할 경우, DB2 유틸리티를 데이타베이스에 리바인드해야 할 것입니다.

명령을 처리할 수 없습니다.

조치: 올바른 패키지명을 지정하거나 프로그램을 바인드하십시오. 수행하고 있는 응용 프로그램이 데이타베이스에 바인드되지 않은 경우, 필요한 바인드를 수행하도록 데이타베이스 관리자에게 문의하십시오.

DB2 유틸리티 프로그램을 데이타베이스에 리바인드해야 할 경우, 데이타베이스에 연결된 동안 데이타베이스 관리자가 인스턴스의 bnd 서브디렉토리에서 다음의 CLP 명령 중 하나를 발행하여 이를 수행할 수 있습니다.

  • DB2 유틸리티의 경우 "DB2 bind @db2ubind.lst blocking all grant public".
  • CLI의 경우 "DB2 bind @db2cli.lst blocking all grant public".

DataJoiner 사용자: DataJoiner에 필요한 패키지가 적용 가능한 자료 소스에서 바인드되었음을 확인하십시오. DataJoiner가 사용하는 패키지를 자료 소스에 바인드하는 데 대한 자세한 내용은 IBM DataJoiner Planning, Installation, and Configuration Guide를 참조하십시오.

sqlcode: -805

sqlstate: 51002


SQL0808N CONNECT문의 의미(semantics)가 기존의 다른 연결에 함축된 의미와 일관성이 없습니다.

원인: CONNECT문은 연결이 존재하는 소스 파일과는 다른 연결 옵션 (SQLRULES, CONNECT 유형, SYNCPOINT 또는 RELEASE 유형)을 갖는 사전 처리 컴파일(precompile)된 소스 파일에서 유래합니다.

조치: 모든 소스 파일이 동일한 CONNECT 옵션을 사용하여 컴파일되도록 하거나, 그렇게 하는 것이 불가능한 경우, 첫번째 CONNECT문을 발행하기 전에 응용 프로그램프로세스에 대한 원하는 옵션을 설정하도록 SET CLIENT API를 호출하십시오.

sqlcode: -808

sqlstate: 08001


SQL0811N 스칼라 fullselect, SELECT INTO문 또는 VALUES INTO문의 결과가두 행 이상입니다.

원인: 다음 중 하나가 오류의 원인입니다.

  • 내장(embedded) SELECT INTO 또는 VALUES INTO의 실행 결과, 두 행 이상의 결과 테이블을 생성했습니다.
  • 스칼라 fullselect의 실행 결과, 두 행 이상의 결과 테이블을 생성했습니다.

DataJoiner 사용자: 이런 상황은 DataJoiner에 의해 또는 해당 자료 소스에 의해 발견될 수 있습니다.

명령을 처리할 수 없습니다.

조치: 명령문에 올바른 조건 스펙이 들어 있는지 확인하십시오.그런 경우, 한 행을 예상했으나, 두 개 이상의 행을 리턴하는 자료 문제점이 발생할 수 있습니다.

DataJoiner 사용자: 요청에 실패한 자료 소스로 문제를 분리하고(SQL문 처리에 실패한 자료 소스를 알아 내려면 문제점 판별 안내서 참조) 선택 기준과 해당 오브젝트에 대한 자료를 조사하십시오.

sqlcode: -811

sqlstate: 21000


SQL0817N SQL문이 결과적으로 금지된 갱신 조작을 수행하게 될 것이므로 이 명령문을 실행할 수 없습니다.

원인: 응용 프로그램이 결과적으로 사용자 자료나 부속시스템 카탈로그를 갱신하게 될 SQL문을 실행하려 했습니다. 이것은 다음 이유 중 하나로 인해 금지됩니다.

  • 응용 프로그램이 IMS 조회 전용 트랜잭션으로서 수행 중입니다.
  • 응용 프로그램이 2단계 확약을 지원하지 않는 원격 DBMS에서 자료를 갱신하려 하는 IMS 또는 CICS 응용 프로그램입니다.
  • 응용 프로그램이 여러 위치에서 자료를 갱신하려 하며 위치 중 하나가 2단계 확약을 지원하지 않습니다.

이 SQL문에 INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, GRANT 및 REVOKE가 포함되어 있습니다.

명령문을 실행할 수 없습니다.

조치: 응용 프로그램이 IMS 조회 전용 트랜잭션으로서 수행 중인 경우, 응용 프로그램을 수행 중인 트랜잭션의 조회 전용 상태를 변경하는 것에 대해서 알아보려면 시스템 프로그래머에게 문의하십시오.

IMS 또는 CICS 응용 프로그램이 원격 갱신을 수행할 경우, 서버 DBMS에서 국지 응용 프로그램으로서 수행되도록 이 응용 프로그램을 변경하거나 2단계 확약을 지원하도록 서버 DBMS를 업그레이드해야 합니다.

응용 프로그램이 여러 위치에서 자료를 갱신하려 할 경우, 응용 프로그램을 변경하거나 2단계 확약을 지원하도록 관련되는 모든 DBMS를 업그레이드해야 합니다.

sqlcode: -817

sqlstate: 25000


SQL0818N 시각(timestamp) 상충이 발생했습니다.

원인: 사전 처리 컴파일(precompile)시 사전 처리 컴파일러(precompiler)에 의해 생성된 시각이 바인드시 패키지와 함께 저장된 시각과 동일하지 않습니다.

이 문제의 원인은 다음과 같습니다.

  • 응용 프로그램 바인드를 수행하지 않고, 사전 처리 컴파일(precompile), 컴파일 및 링크했습니다.
  • 프로그램 컴파일과 링크를 수행하지 않고, 사전 처리 컴파일(precompile) 및 바인드했습니다.
  • 응용 프로그램 모듈에 링크된 오브젝트 모듈을 생성한 사전 처리컴파일이 아닌, 프로그램의 다른 사전 처리 컴파일(precompile)로부터의 바인드 파일을 사용하여, 응용 프로그램을 바인드했습니다.
  • 기존 계획과 동일한 이름으로 응용 프로그램을 바인드하고, 기존(old) 응용 프로그램을 실행했습니다.

DataJoiner 사용자: 앞에서 나열한 이유 외에도, 적용 가능한 모든 자료 소스에 DataJoiner 패키지가 바인드되지 않은 것으로 인해 문제가 발생할 수도 있습니다.

명령을 처리할 수 없습니다.

조치: 오브젝트 모듈과 일치하는 프로그램에 대한 바인드파일을 사용하여 응용 프로그램을 다시 바인드하십시오.또는 데이타베이스에 저장된 패키지에 대응되는 프로그램을 실행하십시오.

샘플 데이타베이스를 설치 중이면, 이 메세지의 번호와 텍스트를 기록한 후 기술 서비스 담당자에게 문의하십시오.

DataJoiner 사용자: 앞에 나열된 조치 이외에, DataJoiner에 필요한 패키지가 적용 가능한 자료 소스에서 바인드되었음을 확인하십시오. DataJoiner가 사용하는 패키지를 자료 소스에 바인드하는 데 대한 자세한 내용은 IBM DataJoiner Planning, Installation, and Configuration Guide를 참조하십시오.

sqlcode: -818

sqlstate: 51003


SQL0822N SQLDA에 유효하지 않은 자료 주소 또는 표시기 변수 주소가 들어 있습니다.

원인: 응용 프로그램이 유효하지 않은 주소를 SQLDA에 위치시켰습니다.

명령을 처리할 수 없습니다.

조치: 응용 프로그램을 정정하여, SQLDA에 유효한 주소를 위치시키십시오.

sqlcode: -822

sqlstate: 51004


SQL0840N SELECT 목록에서 너무 많은 항목들이 리턴되었습니다.

원인: SELECT 목록에 리턴된 항목의 수가 최대 허용치를 초과했습니다.

SELECT 목록(공통 테이블 표현식은 제외)에 대한 최대값 은 1012입니다. 공통 테이블 표현식의 SELECT 목록에 대한 최대값은 5000입니다.

명령을 처리할 수 없습니다.

조치: 모든 정보가 실제로 필요한지 판별하십시오. ( SELECT * from A, B, C라는 SQL문에서 SELECT list *에 의해 리턴된 항목의 수는 모두 3개의테이블에 있는 컬럼 수의 합계임에 유의하십시오.) 가능하면, SQL문을 다시 작성하여, 필요한 항목의 정보만 리턴되도록 하십시오.모든 정보가 필요하면, SQL문을 두 개 이상의 명령문으로 분리하십시오.

sqlcode: -840

sqlstate: 54004


SQL0842N 서버 ""으로의 연결이 이미 존재합니다.

원인: SQLRULES(STD)가 유효하고, CONNECT문은 기존의 SQL 연결을 식별합니다.

조치: 정정 방법은 오류에 따라 달라집니다.

  • 서버가 의도한 이름이 아닌 경우, 이를 정정하십시오.
  • SQLRULES(STD)가 유효하고, CONNECT문이 기존의 SQL 연결을 식별하는 경우, CONNECT를 SET CONNECTION으로 대체하거나, 옵션을 SQLRULES(DB2)로 변경하십시오.

응용 프로그램에 있는 오류를 정정한 다음, 다시 시도하십시오.

sqlcode: -842

sqlstate: 08002


SQL0843N 서버명으로 기존 연결을 지정하지 않습니다.

원인: 명령문, 명령 또는 API에 응용 프로그램 프로세스의 기존 SQL 연결을 식별하지 않는 서버명을 지정했습니다.

이것은 다음 명령문을 사용하여 이루어졌을 것입니다.

  • SET CONNECTION문
  • RELEASE문
  • DISCONNECT문
  • SET 또는 QUERY CLIENT INFORMATION

조치: 정정 방법은 오류에 따라 달라집니다.

  • 서버가 의도한 이름이 아닌 경우, 이를 정정하십시오.
  • 서버에 잘 연결되어 있고 연결이 현재 상태 또는 유휴(dormant) 상태에 있는지 확인한 후 해당 연결 요청을 발행하십시오.

응용 프로그램에 있는 오류를 정정한 다음, 다시 시도하십시오.

sqlcode: -843

sqlstate: 08003


SQL0859N 트랜잭션 관리 프로그램 데이타베이스에 대한 액세스가 SQLCODE ""로 실패했습니다.

원인: 응용 프로그램은 SYNCPOINT(TWOPHASE)로 사전 처리 컴파일(precompile)되었고, 2단계 확약을 조정하기 위해 트랜잭션 관리 프로그램 데이타베이스가 필요합니다. 트랜잭션 관리 프로그램 데이타베이스를 사용할 수 없는 이유는 다음과 같습니다.

  • 작성되지 않았습니다.
  • 데이타베이스 관리 프로그램 구성 파일의 tm_database 필드가 데이타베이스명으로 갱신되지 않았고, 활성화되지 않았습니다.
  • 데이타베이스는 존재하나, 데이타베이스에 대한 통신이 실패했습니다.

조치: 가능한 조치는 다음과 같습니다.

  • 이 메세지로 리턴된 SQLCODE를 참조한 후 그 SQLCODE에 대한 해당 조치를 수행하십시오.
  • tm_database가 존재하는지 확인하십시오. 존재하지 않는 경우, 새로운 데이타베이스를 작성하거나, 현재 존재하는 데이타베이스를 선택하여 TM 데이타베이스로 사용하십시오.디스크 저장영역에 심각한 제한조건이 없는 경우, 별도의 데이타베이스를 작성하는 것이 좋습니다.
  • 아직 완료되지 않은 경우, 필드 tm_database를 사용하여 TM 데이타베이스에 대한 데이타베이스 관리 프로그램 구성을 갱신하십시오.
  • tm_database에 대한 연결이 가능한 지 확인하십시오. 예를 들면, 명령행 처리기를 사용하여 연결을 시도해 보십시오.
  • 선택한 tm_database가 DB2 Connect를 통해 액세스된 데이타베이스가 아니라는 것을 확인하십시오.

sqlcode: -859

sqlstate: 08502


SQL0863W 성공적인 연결이 이루어졌으나 1바이트 문자만을 사용해야 합니다.

원인: 서버 데이타베이스와 클라이언트 응용 프로그램이 다른 언어 유형에 대한 코드페이지를 사용중이며 7비트 ASCII 범위 밖의 어떤 문자도 허용되지 않습니다. (모든 코드페이지에서 7비트 ASCII 범위 내의문자만 허용됩니다.) 예를 들면, 일어와 Latin-1 코드페이지 사이의 연결이 있을 수도 있지만 일어 문자 중 어느 것도 Latin-1 코드 페이지에서는 사용 불가능하므로 이런 문자들은 모두 사용하지 않아야 합니다(영문자 사용에는 문제가 없습니다).

DataJoiner 사용자: 가능한 이유는 다음과 같습니다.

  • DataJoiner 데이타베이스는 단일 바이트와 복수 바이트 문자를 모두 지원하지만 데이타베이스 클라이언트 시스템은 단일 바이트 문자만 지원합니다.
  • 자료 소스는 단일 바이트와 복수 바이트 문자를 모두 지원하지만 DataJoiner 시스템은 단일 바이트 문자만 지원합니다.

조치: 응용 프로그램과 데이타베이스 코드페이지 사이에 공통되지 않은 문자를 사용하는 SQL문이나 명령을 제출하지 마십시오.

DataJoiner 사용자: 클라이언트 시스템, DataJoiner 시스템 및 자료 소스 사이에 공통되지 않은 문자를 사용하는 SQL문이나 명령을 제출하지 마십시오.

sqlcode: +863

sqlstate: 01539


SQL0865N 유효하지 않은 tm_database 값.

원인: 데이타베이스 관리 프로그램에 tm_database로 선택된 값이 유효하지 않습니다. 데이타베이스가 DB2 V2.1 또는 그 이후 버전이어야 하며 DRDA 프로토콜을 통해 (즉, DB2 Connect를 통해) 액세스된 데이타베이스일 수 없습니다.

명령문을 실행할 수 없습니다.

조치:

  1. 데이타베이스 관리 프로그램 구성을 갱신하여 tm_database parameter에 유효한 데이타베이스를 지정하십시오.
  2. db2stop과 db2start를 발행하여 변경내용을 적용하십시오.

sqlcode: -865

sqlstate: 08001


SQL0866N 연결 경로 재지정이 실패했습니다. 이유 코드: ""

원인: 데이타베이스에 대한 디렉토리 카탈로그화 작업 결과 지원되지 않는 방식으로 연결 경로가 재지정되었습니다.

가능한 이유 코드에는 다음이 있습니다.

01데이타베이스 연결에는 서버간에 두 번 이상의 경로 재지정이 포함되었으며, 오직 하나의 연결 경로 재지정만이 지원됩니다.02DB2 클라이언트 또는 서버, 그리고 버전 1 클라이언트 또는 서버를 연결하려 했습니다. 버전 1 클라이언트 또는 서버로는 경로 재지정이 지원되지 않기 때문에 이러한 시도가 실패했습니다.

조치: 이유 코드별로 조치는 다음과 같습니다.

01데이타베이스를 다시 카탈로그화하여 연결 경로에 있는 다른 서버로 경로 재지정되는 서버가 두 개 이상 있지 않게 하십시오.02데이타베이스를 다시 카탈로그화하여 연결 경로를 재지정하는 중간 서버가 없도록 하십시오.

sqlcode: -866

sqlstate: 08001


SQL0868N 이미 연결되어 있는 서버에 USER/USING 절을 사용하는 CONNECT절을 시도했습니다.

원인: 서버로의 현재 또는 고정된 연결이 존재하고, 이 USER/USING절을 사용하는 서버로의 CONNECT가 유효하지 않습니다.

조치: 가능한 조치는 다음과 같습니다.

  • SET CONNECTION문을 사용하여 현재의 DORMANT 연결로 연결하십시오.
  • SQLRULES(DB2)가 응용 프로그램에 의해 사용중인 경우, USER/USING 없이 CONNECT문을 사용하십시오.
  • 기존의 작업 단위를 완료한 후, 연결을 해제하고, USER/USING을 사용하여 재연결하십시오.

sqlcode: -868

sqlstate: 51022

반응형