데이터 공급자는 OLE DB IErrorInfo 인터페이스의 일부로 서식이 지정된 SQLSTATE, SQLCODE, 이유 코드 및 오류 텍스트 형식으로 오류를 반환합니다. 데이터 공급자는 DRDA(분산 관계형 데이터베이스 아키텍처) 프로토콜 및 형식을 사용하여 DB2 데이터베이스 서버에 연결합니다. 데이터 공급자는 연결된 SQLCODE 오류 및 텍스트와 함께 SQLSTATE HY000 또는 08S01에서 DRDA 프로토콜 문제를 반환합니다. 다음 표에서는 DRDA 오류를 나열합니다. DRDA 프로토콜 문제에 대한 자세한 내용은 Open Group(http://www.opengroup.org)에서 게시한 DRDA 프로토콜 설명서를 참조하세요. 오픈 그룹 서점에서 DRDA V5 Vol. 3: Distributed Data Management Architecture, Publication number C114를 다운로드할 수 있습니다(https://go.microsoft.com/fwlink/?LinkID=219127& clcid=0x409).
DRDA 프로토콜 오류
다음 표에는 DRDA 프로토콜 오류 상수, 값, SqlState, SqlCode 및 오류에 대한 설명이 나와 있습니다. 별표(*)는 사용되지 않음을 나타냅니다.
| SQLSTATE | SQLCODE | 설명 |
|---|---|---|
| 08S01 | -256 | 메시지: 비정상적인 작업 단위입니다. 이유: 작업 회신 메시지의 비정상적인 단위는 서버에서 문제가 발생하여 서버가 작업 단위를 비정상적으로 종료했음을 나타냅니다. 작업: 교착 상태, 운영자 개입 또는 기타 문제로 인해 서버가 작업 단위를 롤백했는지 여부를 확인합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 이유 코드 또는 기타 선택적 진단 정보를 사용하여 SQLCARD(SQL Communications Area Reply Data)를 반환했는지 확인합니다. |
| 08S01 | -260 | 메시지: 액세스 RDB 명령이 처리됩니다. 이유: 액세스 관계형 데이터베이스 회신 메시지는 서버가 데이터베이스 연결 요청을 완료할 수 없음을 나타냅니다. 작업: 연결 매개 변수를 확인하고 연결 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 이유 코드 또는 기타 선택적 진단 정보를 사용하여 SQLCARD(SQL Communications Area Reply Data)를 반환했는지 확인합니다. |
| 08S01 | -261 | 메시지: 대상 시스템에서 영구 오류 조건이 검색되었습니다. 서버 관리자에게 문의하세요. 이유: 영구 에이전트 오류 응답 메시지는 서버에서 문제가 발생하여 서버가 요청된 명령을 완료하지 못했음을 나타냅니다. 작업: 클라이언트 네트워크 추적을 검토하여 서버가 선택적 이유 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -263 | 메시지: 패키지 바인딩 프로세스를 시작할 수 없습니다. 이유: 바인딩 시작 오류 응답 메시지는 서버에서 서버에서 문제가 발생하여 서버가 요청된 패키지 바인딩 프로세스를 시작하지 못했음을 나타냅니다. 작업: 패키지 바인딩 옵션을 확인하고 패키지 바인딩 프로세스 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 이유 코드 또는 기타 선택적 진단 정보를 사용하여 SQLCARD(SQL Communications Area Reply Data)를 반환했는지 확인합니다. |
| 08S01 | -269 | 메시지: 사용자에게 대상 시스템에서 요청된 명령을 수행할 권한이 없습니다. 이유: 서버에서 연결 시 제공된 자격 증명으로 사용자를 인증할 수 없습니다. 작업: 연결 정보를 확인하여 사용자 이름(사용자 식별자), 지정된 암호 및 보안 방법(대화형 로그온 보안, Single Sign-On 또는 Kerberos)이 현재 사용자에 대해 정의된 서버 요구 사항과 일치하는지 확인합니다. 자세한 내용은 사용자 이름, 암호 및 보안 방법에 대한 항목을 참조하세요. |
| 08S01 | -270 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 요청된 명령이 대상 시스템에서 구현 관련 오류 조건을 발견했습니다. 이유: 명령 검사 회신 메시지는 서버가 분산 데이터 관리 또는 분산 관계형 데이터베이스 아키텍처 내에서 설계되지 않은 것으로 결정한 클라이언트로부터 명령을 받았음을 나타냅니다. 작업: 클라이언트 네트워크 추적을 검토하여 서버가 문제의 원인을 나타낼 수 있는 추가 선택적 오류 메시지와 문제를 해결하기 위한 작업을 반환했는지 확인합니다. |
| 08S01 | -272 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 요청된 명령이 인식되지 않거나 대상 시스템에서 지원되지 않습니다. 이유: 명령이 지원되지 않는 회신 메시지는 서버가 클라이언트로부터 서버가 인식하지 못하거나 서버가 지원하지 않는 명령을 수신했음을 나타냅니다. 작업: 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -273 | 메시지: 명령이 대화의 처리 기능을 위반했습니다. 이유: 명령 위반 회신 메시지는 서버가 현재 대화의 처리 범위를 위반한다고 판단한 클라이언트로부터 명령을 수신했음을 나타냅니다. 작업: 연결 매개 변수(예: 분산 작업 단위)를 확인하고 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -274 | 메시지: 약정 요청입니다. 이유: 약정 요청 회신 메시지는 서버가 현재 컨텍스트에서 유효하지 않다고 판단한 클라이언트로부터 커밋 또는 롤백 요청을 수신했음을 나타냅니다. 작업: 연결 매개 변수(예: 분산 작업 단위)를 확인하고 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -290 | 메시지: 잘못된 설명입니다. 이유: 잘못된 설명 회신 메시지는 클라이언트가 데이터의 잘못된 DRDA 형식 데이터 개체 콘텐츠 아키텍처(FD:OCA) 설명자를 보냈을 때 서버가 하나 이상의 데이터 값을 읽을 수 없으므로 명령이 실패했음을 나타냅니다. 작업: 데이터 매개 변수 값 및 데이터 형식을 확인한 다음 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드, 잘못된 매개 변수 번호 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -291 | 메시지: 호스트는 데이터 매핑 오류로 인해 레코드를 삽입, 수정 또는 검색할 수 없습니다. 이유: 데이터 매핑 오류 응답 메시지는 서버가 원본에서 대상으로 하나 이상의 데이터 값을 매핑할 수 없으므로 클라이언트가 잘못된 데이터를 보냈을 때 명령이 실패했음을 나타냅니다. 작업: 데이터 매개 변수 값 및 데이터 형식을 확인한 다음 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드, 잘못된 매개 변수 번호 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -303 | 메시지: 쿼리의 끝입니다. 이유: 쿼리 응답 메시지의 끝은 서버, 네트워크 또는 클라이언트의 문제로 인해 서버가 쿼리 결과를 계속 처리할 수 없음을 나타냅니다. 작업: 서버 및 네트워크의 상태를 확인한 다음 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -304 | 메시지: 작업 단위의 끝입니다. 이유: 작업 조건 회신 메시지의 끝 단위는 클라이언트에서 받은 마지막 명령에 따라 서버가 작업 단위를 종료했음을 나타냅니다. 작업: 연결 매개 변수(예: 자동 커밋, 분산 작업 단위, 연결 시간 제한, 명령 시간 제한, FastLoad 최적화 및 정적 SQL 패키지 바인딩 옵션)를 확인하고 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -331 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 충족되지 않은 내부 관리자 종속성이 필요한 요청이 수행되었습니다. 이유: 관리자 종속성 오류 응답 메시지는 서버가 서버에서 지정한 관리자 수준에 따라 요청 컨텍스트에서 서버가 지원하지 않는 명령을 클라이언트로부터 수신했음을 나타냅니다. 작업: 연결 매개 변수를 확인하고 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 이유 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -332 | 메시지: 관리자 수준 충돌. 이유: 관리자 수준 충돌 응답 메시지는 서버가 데이터베이스 연결 요청을 완료할 수 없음을 나타냅니다. 작업: 연결 매개 변수를 확인하고 연결 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 이유 코드 또는 기타 선택적 진단 정보를 사용하여 SQLCARD(SQL Communications Area Reply Data)를 반환했는지 확인합니다. |
| 08S01 | -335 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 요청된 명령은 대상 시스템에서 인식되지 않거나 지원되지 않는 데이터 개체를 보냈습니다. 이유: 지원되지 않는 개체의 회신 메시지는 서버가 인식하지 못하거나 서버가 지원하지 않는 개체를 클라이언트로부터 수신했음을 나타냅니다. 작업: 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -339 | 메시지: 쿼리를 열지 못했습니다. 이유: 열린 쿼리 실패 응답 메시지는 서버가 클라이언트 요청을 처리하여 커서를 열 수 없음을 나타냅니다. 작업: 연결 매개 변수(예: 자동 커밋, 분산 작업 단위, 연결 시간 제한, 명령 시간 제한, FastLoad 최적화 및 정적 SQL 패키지 바인딩 옵션)를 확인하고 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -340 | 메시지: 쿼리 회신 메시지를 엽니다. 이유: 열려 있는 쿼리 전체 회신 메시지는 서버가 열린 쿼리 또는 SQL set 문을 정상적으로 완료할 수 없음을 나타냅니다. 작업: 연결 매개 변수(예: 자동 커밋, 분산 작업 단위, 연결 시간 제한, 명령 시간 제한, FastLoad 최적화, 정적 SQL 패키지 바인딩 옵션 또는 기본 한정자)를 확인하고 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -341 | 메시지: 패키지 바인딩 프로세스가 지정된 패키지에 대해 활성화되지 않습니다. 이유: 관계형 데이터베이스 패키지 바인딩이 활성이 아닌 회신 메시지는 이전의 바인딩 시작 요청이 완료되지 않은 경우 서버가 바인딩 SQL 문 또는 끝 바인딩 요청을 처리할 수 없음을 나타냅니다. 작업: 연결 매개 변수(예: 패키지 컬렉션 또는 정적 SQL 패키지 바인딩 옵션)를 확인하고 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -342 | 메시지: RDB 패키지 바인딩 프로세스가 활성화된 경우 명령을 처리할 수 없습니다. 이유: 관계형 데이터베이스 패키지 바인딩 프로세스 활성 회신 메시지는 이전 끝 바인딩 요청이 완료되지 않은 경우 서버가 바인딩 SQL 문을 처리할 수 없음을 나타냅니다. 작업: 연결 매개 변수(예: 패키지 컬렉션 또는 정적 SQL 패키지 바인딩 옵션)를 확인하고 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| HY000 | -343 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 네트워크 수준 대화형 프로토콜 오류가 발생했습니다. 이유: 대화 프로토콜 오류 코드 문자열 회신 메시지는 서버가 현재 컨텍스트에서 순서가 잘못된 프로토콜 명령을 수신했음을 나타냅니다. 작업: 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -344 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 요청된 명령에는 대상 시스템에서 인식되지 않거나 지원되지 않는 매개 변수가 포함되어 있습니다. 이유: 매개 변수가 지원되지 않는 회신 메시지는 서버가 지정된 명령을 인식하거나 지원하지 않는 경우 서버가 요청된 명령을 완료할 수 없음을 나타냅니다. 작업: 연결 및 명령 매개 변수를 확인한 다음 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -345 | 메시지: 쿼리가 열리지 않습니다. 이유: 쿼리가 열려 있지 않은 회신 메시지는 쿼리가 열려 있지 않을 때 서버가 계속 쿼리를 처리하거나 쿼리 명령을 닫을 수 없음을 나타냅니다. 작업: 서버, 네트워크 및 연결 매개 변수의 상태(예: 자동 커밋, 분산 작업 단위, 연결 시간 제한, 명령 시간 제한, FastLoad 최적화 및 정적 SQL 패키지 바인딩 옵션)를 확인한 다음 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -346 | 메시지: 쿼리가 이전에 열렸습니다. 이유: 쿼리에서 이전에 연 회신 메시지는 서버가 이미 열려 있는 쿼리에 대해 열려 있는 쿼리 요청을 처리할 수 없음을 나타냅니다. 작업: 연결 매개 변수(예: 자동 커밋, 분산 작업 단위, 연결 시간 제한, 명령 시간 제한, FastLoad 최적화 및 정적 SQL 패키지 바인딩 옵션)를 확인한 다음 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -356 | 메시지: 사용자가 이미 호스트 리소스에 액세스할 수 있습니다. 이유: 현재 액세스하는 관계형 데이터베이스 회신 메시지는 클라이언트가 관계형 데이터베이스에 이미 연결되어 있는 경우 서버가 관계형 데이터베이스 액세스 명령을 완료할 수 없음을 나타냅니다. 작업: 연결 매개 변수(예: 초기 카탈로그, 연결 풀링, 연결 시간 제한)를 확인한 다음 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -357 | 메시지: 호스트 리소스에 대한 요청이 실패했습니다. 이유: 관계형 데이터베이스 액세스 실패 응답 메시지는 서버가 연결 요청을 완료할 수 없음을 나타냅니다. 작업: 서버, 네트워크 및 연결 매개 변수(예: 초기 카탈로그, 네트워크 주소, 네트워크 포트 및 연결 시간 제한)의 상태를 확인한 다음 연결 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -358 | 메시지: 사용자에게 호스트 리소스에 액세스할 권한이 없습니다. 인증 자격 증명을 확인하거나 시스템 관리자에게 문의하세요. 이유: 관계형 데이터베이스에 대한 권한이 없는 회신 메시지는 서버가 연결 시 제공된 자격 증명으로 사용자를 인증할 수 없음을 나타냅니다. 작업: 연결 정보를 확인하여 사용자 이름(사용자 식별자), 지정된 암호 및 보안 방법(대화형 로그온 보안, Single Sign-On 또는 Kerberos)이 현재 사용자에 대해 정의된 서버 요구 사항과 일치하는지 확인한 다음 연결 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. 자세한 내용은 사용자 이름, 암호 및 보안 방법에 대한 항목을 참조하세요. |
| 08S01 | -359 | 메시지: RDB 서비스를 요청하는 명령 앞에 액세스 RDB 명령을 실행해야 합니다. 이유: 관계형 데이터베이스에 액세스하지 못한 회신 메시지는 이전 연결 요청이 완료되지 않은 경우 서버가 명령을 완료할 수 없음을 나타냅니다. 작업: 연결 정보를 확인한 다음 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| HY000 | -360 | 메시지: 호스트 리소스를 찾을 수 없습니다. 초기 카탈로그 값이 호스트 리소스 이름과 일치하는지 확인합니다. 이유: 관계형 데이터베이스를 찾을 수 없다는 회신 메시지는 서버가 요청된 관계형 데이터베이스에 클라이언트를 연결할 수 없음을 나타냅니다. 작업: 연결 정보를 확인하여 초기 카탈로그 값이 z/OS 위치 이름에 대한 DB2, IBM i RDBDIRE(관계형 데이터베이스 디렉터리 항목용 DB2) 또는 Windows 데이터베이스 이름용 DB2와 일치하는지 확인합니다. 네트워크 주소 및 네트워크 포트에 대한 값을 확인한 다음 연결 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. 자세한 내용은 초기 카탈로그에 대한 항목을 참조하세요. |
| 08S01 | -361 | 메시지: RDB 업데이트 회신 메시지입니다. 이유: 관계형 데이터베이스 업데이트 회신 메시지는 서버가 로컬 또는 원격 관계형 데이터베이스를 업데이트하는 명령을 완료할 수 없음을 나타냅니다. 작업: 연결 매개 변수(예: 자동 커밋, 분산 작업 단위, 연결 시간 제한, 명령 시간 제한, FastLoad 최적화 및 정적 SQL 패키지 바인딩 옵션)를 확인한 다음 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -370 | 메시지: 대상 시스템에 명령을 완료할 리소스가 부족합니다. 서버 관리자에게 문의하세요. 이유: 리소스 제한에 도달한 회신 메시지는 서버 리소스 부족(예: 메모리, 잠금, 버퍼)으로 인해 서버를 완료할 수 없음을 나타냅니다. 작업: 연결 및 명령 매개 변수를 확인한 다음 연결 및 명령 요청을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 이유 코드 또는 기타 선택적 진단 정보를 사용하여 SQLCARD(SQL Communications Area Reply Data)를 반환했는지 확인합니다. |
| 08S01 | -372 | 메시지: SQL 오류가 발생했습니다. 이유: SQL 오류 조건 회신 메시지는 서버에서 SQL 오류를 반환하는 오류가 발생했음을 나타냅니다. 작업: 연결 및 명령 매개 변수를 확인한 다음 연결 및 명령 요청(예: 모든 SQL 문 및 정적 SQL 패키지 섹션 프로세스 요청에 바인딩 SQL 문)을 다시 시도합니다. 클라이언트 네트워크 추적을 검토하여 서버가 선택적 이유 코드 또는 기타 선택적 진단 정보를 사용하여 SQLCARD(SQL Communications Area Reply Data)를 반환했는지 확인합니다. |
| HY000 | -379 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 네트워크 수준 구문 오류가 발생했습니다. 이유: 데이터 스트림 구문 오류 응답 메시지는 서버가 분산 데이터 관리 아키텍처의 요구 사항을 준수하지 않는다고 결정한 프로토콜 명령을 서버에서 처리할 수 없음을 나타냅니다. 작업: 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -381 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 요청된 명령은 대상 시스템에서 인식되지 않거나 지원되지 않는 데이터 개체 확장을 보냈습니다. 이유: 대상에서 지원되지 않는 회신 메시지는 서버가 인식하지 못하거나 서버가 지원하지 않는 클라이언트로부터 개체에 대한 매개 변수를 수신했음을 나타냅니다. 작업: 클라이언트 네트워크 추적을 검토하여 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| 08S01 | -385 | 메시지: 내부 네트워크 라이브러리 오류가 발생했습니다. 요청된 명령에는 인식되지 않거나 대상 시스템에서 지원되지 않는 매개 변수 값이 포함되어 있습니다. 이유: 지원되지 않는 매개 변수 값 회신 메시지는 서버가 인식하지 못하거나 서버가 지원하지 않는 클라이언트의 개체에 대한 매개 변수 값(예: 잘못된 호스트 CCSID)을 수신했음을 나타냅니다. 클라이언트는 연결할 때 또는 명령을 실행할 때 잘못된 사용자 지정 값을 지정했습니다. 작업: 클라이언트 네트워크 추적을 검토하여 해당 값이 인식되지 않거나 지원되지 않는 매개 변수를 보고 서버가 선택적 심각도 코드 또는 기타 선택적 진단 정보를 반환했는지 확인합니다. |
| HY000 | 1500 | 메시지: 현재 연결에 대한 최대 문 수(128개)에 도달했습니다. 이유: 클라이언트는 DB2 정적 SQL 패키지 내의 섹션에서 미리 정의된 SQL 문을 사용하여 동시 SQL SELECT 문의 실행을 지원합니다. 기본적으로 클라이언트는 128개의 패키지 섹션을 정의하여 클라이언트가 클라이언트 연결당 128개의 동시 SQL SELECT 문을 실행할 수 있도록 합니다. 최대 미해결 동시 SQL SELECT 문 수가 미리 정의된 섹션 수를 초과하면 클라이언트는 새 SQL SELECT 문을 실행할 수 없습니다. 작업: 연결 정보를 확인하여 패키지 컬렉션 값이 HIS 2010 패키지가 현재 사용자 ID 또는 PUBLIC에 의해 실행을 위해 정의된 DB2 컬렉션과 일치하는지 확인합니다. 자세한 내용은 패키지 컬렉션에 대한 항목을 참조하세요. |
| HY000 | -1501 | 메시지: 사용자에게 패키지를 만들(실행) 권한이 없습니다. 이유: 서버는 현재 사용자에게 권한이 없는 정적 SQL 패키지에 저장된 CURSOR 문이 필요한 SQL SELECT 또는 CALL 문을 실행할 수 없습니다. 클라이언트는 DB2 정적 SQL 패키지 내의 섹션에서 미리 정의된 SQL 문을 사용하여 SQL SELECT 문의 실행을 지원합니다. 기본적으로 클라이언트는 런타임 사용자에게 패키지 컬렉션 연결 속성에 지정된 DB2 컬렉션에 대한 패키지 BIND, EXECUTE 및 GRANT 권한이 있는 경우 패키지를 자동으로 정의합니다. 작업: 연결 정보를 확인하여 패키지 컬렉션 값이 현재 사용자 식별자 또는 PUBLIC에 의해 실행되도록 HIS 2010 패키지가 정의된 DB2 컬렉션과 일치하는지 확인합니다. 데이터 액세스 도구, 데이터 원본 마법사, 데이터 링크 또는 데이터 액세스 라이브러리를 사용하여 현재 사용자 ID 또는 PUBLIC별로 실행하기 위한 HIS 2010 패키지를 수동으로 만듭니다. HIS 2010 패키지를 자동으로 만들 수 있는 권한 부여 ID를 사용하여 DB2에 연결합니다(CREATE, BIND 및 EXECUTE 권한). 자세한 내용은 패키지 컬렉션에 대한 항목을 참조하세요. |
| HY000 | -7049 | 메시지: 풀에서 연결을 얻지 못했습니다. 애플리케이션이 연결 풀링에서 연결 제한에 도달합니다. "MAX POOL SIZE" 속성에 정의된 최대 숫자입니다. 이유: 클라이언트 연결 풀에서 사용 가능한 연결이 고갈된 경우 클라이언트가 서버에 연결할 수 없습니다. 작업: 더 큰 최대 풀 크기를 구성하고 풀된 연결에 시간 제한을 설정합니다. 자세한 내용은 최대 풀 크기에 대한 항목을 참조하세요. |
TCPIP 네트워크 오류
다음 표에서는 TCPIP 네트워크 클라이언트 오류 상수, 값, SqlState, SqlCode 및 오류에 대한 설명을 나열합니다.
| SQLSTATE | SQLCODE | 설명 |
|---|---|---|
| 08S01 | -602 | 메시지: 지정된 호스트 이름을 확인할 수 없습니다. 이유: 클라이언트가 잘못된 사용자 지정 네트워크 주소 또는 네트워크 포트 값으로 DB2 서버에 연결할 수 없습니다. 작업: 지정된 네트워크 주소 및 네트워크 포트가 서버와 일치하는지 확인하려면 연결 정보를 확인합니다. 자세한 내용은 네트워크 주소 및 네트워크 포트에 대한 항목을 참조하세요. |
| 08S01 | -603 | 메시지: 지정된 호스트에 연결할 수 없습니다. 이유: 클라이언트가 잘못된 사용자 지정 네트워크 주소 또는 네트워크 포트 값으로 DB2 서버에 연결할 수 없거나 서버를 사용할 수 없습니다. 작업: 지정된 네트워크 주소 및 네트워크 포트가 서버와 일치하는지 확인하려면 연결 정보를 확인합니다. 네트워크 관리자 또는 서버 관리자에게 문의하세요. 자세한 내용은 네트워크 주소 및 네트워크 포트에 대한 항목을 참조하세요. |
| 08S01 | -604 | 메시지: 소켓 할당에 실패했습니다. 이유: 모든 로컬 클라이언트 소켓 리소스가 사용 중일 때 클라이언트가 TCP/IP 네트워크를 통해 DB2 서버에 연결하지 못했습니다. 작업: 사용되지 않는 클라이언트 연결을 닫습니다. 클라이언트 연결 풀링을 활용합니다. 자세한 내용은 연결 풀링에 대한 항목을 참조하세요. |
| 08S01 | -605 | 메시지: 호스트가 데이터를 보내지 못해 네트워크 연결이 종료되었습니다. 이유: 클라이언트 또는 서버의 예기치 않은 문제로 인해 클라이언트가 DB2 서버에 연결할 수 없습니다. 작업: 클라이언트 관리자, 네트워크 관리자 또는 서버 관리자에게 문의하세요. |
| 08S01 | -606 | 메시지: 엔터프라이즈 Single Sign-On 실패: SSO 서버 서버 <이름>에 연결할 수 없습니다. SSO가 구성되어 있고 SSO 서비스가 hat 서버에서 실행되고 있는지 확인합니다. 이유: Enterprise Single Sign-On 서버가 구성되거나 실행되고 있지 않습니다. 작업: 연결 정보를 확인하여 ESSO 관련 애플리케이션 이름이 Enterprise Single Sign-On 관리자가 정의한 서버 및 현재 사용자의 값과 일치하는지 확인합니다. Enterprise Single Sign-On 관리자에게 문의하세요. 대체 인증 방법을 구성합니다. 자세한 내용은 보안 방법에 대한 항목을 참조하세요. |
| 08S01 | 10014 | 메시지: TCPIP 소켓 오류가 발생했습니다(10014): 이름으로 가리키는 sockaddr 구조체에 연결된 주소 패밀리의 주소 형식이 잘못되었거나 namelen 매개 변수가 너무 작습니다. namelen 매개 변수에 지정된 길이가 있는 이름 매개 변수가 가리키는 sockaddr 구조체가 사용자 주소 공간의 유효한 부분에 없는 경우에도 이 오류가 반환됩니다. 이유: 클라이언트가 잘못된 형식의 IPv6 네트워크 주소를 사용하여 DB2 서버에 연결하려고 합니다. 작업: 지정된 네트워크 주소가 IPv4 또는 IPv6 네트워크에 대한 서버 및 요구 사항과 일치하는지 확인하려면 연결 정보를 확인합니다. 자세한 내용은 네트워크 주소에 대한 항목을 참조하세요. |
| 08S01 | 10022 | 메시지: TCPIP 소켓 오류가 발생했습니다(10022): 잘못된 인수가 제공되었습니다. 이유: 클라이언트가 잘못된 형식의 IPv4 또는 IPv6 네트워크 주소를 사용하여 DB2 서버에 연결하려고 합니다. 작업: 지정된 네트워크 주소가 IPv4 또는 IPv6 네트워크에 대한 서버 및 요구 사항과 일치하는지 확인하려면 연결 정보를 확인합니다. 자세한 내용은 네트워크 주소에 대한 항목을 참조하세요. |
| 08S01 | 10024 | 메시지: TCPIP 소켓 오류가 발생했습니다(10024): 더 이상 소켓 설명자를 사용할 수 없습니다. 이유: 모든 로컬 클라이언트 소켓 연결이 사용 중일 때 클라이언트가 TCP/IP 네트워크를 통해 DB2 서버에 연결하지 못했습니다. 작업: 사용되지 않는 클라이언트 연결을 닫습니다. 클라이언트 연결 풀링을 활용합니다. 자세한 내용은 연결 풀링에 대한 항목을 참조하세요. |
| 08S01 | 10040 | 메시지: TCPIP 소켓 오류가 발생했습니다(10040): 메시지가 너무 커서 지정된 버퍼에 맞지 않고 잘렸습니다. 이유: 클라이언트가 프로그램에서 요청한 대로 명령을 실행하지 못했습니다. 작업: 명령 구문 및 매개 변수 데이터 값이 DB2 서버 플랫폼 및 버전에서 지원하는 제한 내에 있는지 확인합니다. 명령 및 데이터 형식 제한에 대한 자세한 내용은 데이터 형식 매핑에 대한 항목을 참조하세요. |
| 08S01 | 10043 | 메시지: TCPIP 소켓 오류가 발생했습니다(10043): 지정된 프로토콜이 지원되지 않습니다. 이유: 클라이언트가 보안 소켓 계층 또는 전송 계층 보안과 같이 DB2 서버에서 지원하지 않는 액세스 방법을 사용하여 DB2 서버에 연결하려고 합니다. 작업: 연결 정보를 확인하여 DB2 서버가 SSL 또는 TLS를 지원하는지 확인합니다. SSL 또는 TLS를 지정하지 않고 TCP/IP 네트워크를 구성합니다. 네트워크 관리자 또는 서버 관리자에게 문의하세요. TCP/IP 네트워크 연결에 대한 자세한 내용은 TCP/IP 네트워크 연결에 대한 항목을 참조하세요. |
| 08S01 | 10047 | 메시지: TCPIP 소켓 오류가 발생했습니다(10047): 지정된 패밀리의 주소를 이 소켓과 함께 사용할 수 없습니다. 이유: 클라이언트가 잘못된 형식의 IPv4 또는 IPv6 네트워크 주소를 사용하여 DB2 서버에 연결하려고 합니다. 작업: 지정된 네트워크 주소가 IPv4 또는 IPv6 네트워크에 대한 서버 및 요구 사항과 일치하는지 확인하려면 연결 정보를 확인합니다. 자세한 내용은 네트워크 주소에 대한 항목을 참조하세요. |
| 08S01 | 10049 | 메시지: TCPIP 소켓 오류가 발생했습니다(10049): 원격 주소가 유효한 주소(예: INADDR_ANY 또는 in6addr_any)가 아닙니다. 이유: 클라이언트가 잘못된 형식의 IPv6 네트워크 주소를 사용하여 DB2 서버에 연결하려고 합니다. 작업: 지정된 네트워크 주소가 IPv4 또는 IPv6 네트워크에 대한 서버 및 요구 사항과 일치하는지 확인하려면 연결 정보를 확인합니다. 자세한 내용은 네트워크 주소에 대한 항목을 참조하세요. |
| 08S01 | 10050 | 메시지: TCPIP 소켓 오류가 발생했습니다(10050): 소켓 작업에 데드 네트워크가 발생했습니다. 이는 네트워크 시스템(즉, Windows 소켓 DLL이 실행되는 프로토콜 스택), 네트워크 인터페이스 또는 로컬 네트워크 자체의 심각한 오류를 나타낼 수 있습니다. 이유: 클라이언트가 잘못된 사용자 지정 네트워크 주소 또는 네트워크 포트 값으로 DB2 서버에 연결할 수 없거나 서버를 사용할 수 없습니다. 작업: 지정된 네트워크 주소 및 네트워크 포트가 서버와 일치하는지 확인하려면 연결 정보를 확인합니다. 서버 관리자에게 문의하세요. 자세한 내용은 네트워크 주소 및 네트워크 포트에 대한 항목을 참조하세요. |
| 08S01 | 10051 | 메시지: TCPIP 소켓 오류가 발생했습니다(10053): 현재 이 호스트에서 네트워크에 연결할 수 없습니다. 이유: 클라이언트가 잘못된 사용자 지정 네트워크 주소 또는 네트워크 포트 값으로 DB2 서버에 연결할 수 없거나 서버를 사용할 수 없습니다. 작업: 지정된 네트워크 주소 및 네트워크 포트가 서버와 일치하는지 확인하려면 연결 정보를 확인합니다. 서버 관리자에게 문의하세요. 자세한 내용은 네트워크 주소 및 네트워크 포트에 대한 항목을 참조하세요. |
| 08S01 | 10052 | 메시지: TCPIP 소켓 오류가 발생했습니다(10053): 연결 지향 소켓의 경우 이 오류는 작업이 진행되는 동안 오류를 감지하는 연결 유지 활동으로 인해 연결이 끊어졌음을 나타냅니다. 데이터그램 소켓의 경우 이 오류는 TL(Time to Live)이 만료되었음을 나타냅니다. 이유: 서버가 클라이언트 연결을 닫습니다. 작업: 네트워크 관리자 또는 서버 관리자에게 문의하세요. |
| 08S01 | 10052 | 메시지: TCPIP 소켓 오류가 발생했습니다(10052): 작업이 진행되는 동안 오류를 감지하는 연결 유지 작업으로 인해 연결이 끊어졌습니다. 이유: 서버가 클라이언트 연결을 닫습니다. 작업: 네트워크 관리자 또는 서버 관리자에게 문의하세요. |
| 08S01 | 10053 | 메시지: TCPIP 소켓 오류가 발생했습니다(10053): 호스트 컴퓨터의 소프트웨어에 의해 설정된 연결이 중단되었습니다. 이유: 서버가 클라이언트 연결을 닫습니다. 작업: 네트워크 관리자 또는 서버 관리자에게 문의하세요. |
| 08S01 | 10054 | 메시지: TCPIP 소켓 오류가 발생했습니다(10054): 원격 쪽에서 하드 또는 중단 닫기를 실행하여 가상 회로를 다시 설정했습니다. 애플리케이션은 더 이상 사용할 수 없으므로 소켓을 닫아야 합니다. UPD-datagram 소켓에서 이 오류는 이전 보내기 작업으로 인해 ICMP "포트 연결할 수 없음" 메시지가 발생했음을 나타냅니다. 이유: 서버가 클라이언트 연결을 닫습니다. 작업: 네트워크 관리자 또는 서버 관리자에게 문의하세요. |
| 08S01 | 10055 | 메시지: TCPIP 소켓 오류가 발생했습니다(10055): 버퍼 공간을 사용할 수 없습니다. 이유: 모든 로컬 클라이언트 소켓 리소스가 사용 중일 때 클라이언트가 TCP/IP 네트워크를 통해 DB2 서버에 연결하지 못했습니다. 작업: 사용되지 않는 클라이언트 연결을 닫습니다. 클라이언트 연결 풀링을 활용합니다. 자세한 내용은 연결 풀링에 대한 항목을 참조하세요. |
| 08S01 | 10057 | 메시지: TCPIP 소켓 오류가 발생했습니다(10057): 소켓이 연결되지 않아서 데이터를 보내거나 받는 요청이 허용되지 않으며(sendto 호출을 사용하여 데이터그램 소켓에서 보낼 때) 주소가 제공되지 않았습니다. 이유: 클라이언트가 잘못된 사용자 지정 네트워크 주소 또는 네트워크 포트 값으로 DB2 서버에 연결할 수 없습니다. 작업: 지정된 네트워크 주소 및 네트워크 포트가 서버와 일치하는지 확인하려면 연결 정보를 확인합니다. 자세한 내용은 네트워크 주소 및 네트워크 포트에 대한 항목을 참조하세요. |
| 08S01 | 10060 | 메시지: TCPIP 소켓 오류(10060)가 발생했습니다. 네트워크 오류 또는 피어 시스템이 응답하지 않아 연결이 끊어졌습니다. 이유: 서버가 클라이언트 연결을 닫습니다. 작업: 네트워크 관리자 또는 서버 관리자에게 문의하세요. |
| 08S01 | 10061 | 메시지: TCPIP 소켓 오류가 발생했습니다(10061): 연결 시도가 강제로 거부되었습니다. 이유: 클라이언트가 잘못된 사용자 지정 네트워크 주소 또는 네트워크 포트 값으로 DB2 서버에 연결할 수 없습니다. 작업: 지정된 네트워크 주소 및 네트워크 포트가 서버와 일치하는지 확인하려면 연결 정보를 확인합니다. 자세한 내용은 네트워크 주소 및 네트워크 포트에 대한 항목을 참조하세요. |
| 08S01 | 10065 | 메시지: TCPIP 소켓 오류가 발생했습니다(10065): 소켓 작업이 연결할 수 없는 호스트에 시도되었습니다. 이유: 클라이언트가 잘못된 사용자 지정 네트워크 주소 또는 네트워크 포트 값으로 DB2 서버에 연결할 수 없거나 서버를 사용할 수 없습니다. 작업: 지정된 네트워크 주소 및 네트워크 포트가 서버와 일치하는지 확인하려면 연결 정보를 확인합니다. 서버 관리자에게 문의하세요. 자세한 내용은 네트워크 주소 및 네트워크 포트에 대한 항목을 참조하세요. |
| 08S01 | 10093 | 메시지: TCPIP 소켓 오류가 발생했습니다(10093): 이 함수를 사용하기 전에 WSAStartup 호출이 성공해야 합니다. 자세한 내용은 https://msdn.microsoft.com/library/ms742213(VS.85).aspx를 참조하세요. 이유: 모든 로컬 클라이언트 소켓 연결이 사용 중일 때 클라이언트가 TCP/IP 네트워크를 통해 DB2 서버에 연결하지 못했습니다. 작업: 사용되지 않는 클라이언트 연결을 닫습니다. 클라이언트 연결 풀링을 활용합니다. 자세한 내용은 연결 풀링에 대한 항목을 참조하세요. |
일반적인 오류
다음 표에서는 오류를 수정하기 위해 수행해야 하는 작업과 함께 발생할 수 있는 DB2 서버 오류에 대해 설명합니다.
| SQLSTATE | SQLCODE | 메시지 | 설명 |
|---|---|---|---|
| 42601 | 104- | 잘못된 기호입니다. 토큰이 유효하지 않습니다. 예기치 않은 토큰입니다. 텍스트< 뒤에 예기치 못한 토큰 <토큰>이 발견되었습니다>. 예상 토큰에는 <token-list>가 포함될 수 있습니다. |
이유: 서버는 불법적이거나, 유효하지 않거나, 예기치 않은 기호 또는 토큰이 포함된 SQL 문을 실행할 수 없습니다. 작업: 특정 IBM DB2 플랫폼 및 버전에 대한 IBM DB2 SQL 참조를 사용하여 SQL 구문을 확인합니다. 데이터 소비자 애플리케이션이 지원되는 구분 기호(큰따옴표)를 사용하는 것과 달리 지원되지 않는 구분 기호로 구분된 개체 식별자(예: 대괄호([<object-name>])를 사용하고 있는지 확인합니다. |
| 42602 | -113 | 잘못된 문자 발견: <string>, REASON CODE <reason-code>. 이름에 잘못된 문자가 검색되었습니다. <식별자는> 허용되지 않은 문자를 포함하거나 문자가 전혀 포함되지 않습니다. |
이유: 클라이언트가 DB2 서버에 연결할 때 서버에서 SQL SET CURRENT SQLID 문을 처리할 수 없습니다. 작업: 연결 정보를 확인하여 기본 한정자 값이 개체가 카탈로그로 지정된 DB2 컬렉션과 일치하는지 확인합니다. 자세한 내용은 "기본 한정자" 항목을 참조하세요. |
| 42802 | -117 | 할당된 값의 수는 지정된 열 또는 암시적 열의 수와 다릅니다. 문에 잘못된 수의 값이 포함되어 있습니다. 할당된 값의 수는 지정된 열이나 묵시적 열 또는 변수의 수와 다릅니다. |
이유: 지정된 값 수가 테이블의 열 수와 같지 않은 경우 서버에서 SQL INSERT 문을 실행할 수 없습니다. 작업: 시스템 카탈로그(예: SYSIBM)를 쿼리하여 열 수가 SQL 문의 개체와 일치하는지 확인합니다. SYSCOLUMNS) 또는 클라이언트 스키마 쿼리 실행(예: OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_COLUMNS) 또는 ADO.NET MsDb2Connection.GetSchema(Columns). |
| 22007 | -181 | DATETIME 값의 문자열 표현이 유효한 DATETIME 값이 아닙니다. 날짜, 시간 또는 타임스탬프 문자열의 값이 잘못되었습니다. datetime 값의 문자열 표현이 범위를 벗어났습니다. |
이유: DATETIME 값의 형식이 잘못되었거나 범위를 벗어난 SQL 문을 서버에서 실행할 수 없습니다. 작업: DATETIME 값이 0001-9999년 동안 지원되는 범위 내에 있는지 확인합니다. 월 1-12, 일 28/29/30/31 (월 및 윤년 따라 다름), 시간 0-24 (미국 12), 분 0-59, 초 0-59, 마이크로 초 0-999999. 연결 정보를 확인하여 DateTime As Date 옵션이 True로 지정되었는지 확인하여 DB2 타임스탬프 데이터 값에 매핑된 Windows DateTime 데이터 값의 시간 부분을 삭제하도록 클라이언트에 지시하여 DB2 데이터베이스가 이러한 값을 DB2 날짜 데이터 값으로 읽을 수 있도록 합니다. 자세한 내용은 DateTime As Date에 대한 항목을 참조하세요. |
| 42704 | -204 |
<스키마>.<개체> 는 식별되지 않은 이름입니다. 정의되지 않은 개체 또는 제약 조건 이름이 검색되었습니다. <이름은> 정의되지 않은 이름입니다. |
이유: 서버에서 잘못된 <스키마> 및 <개체> 이름을 참조하는 SQL 문을 실행할 수 없습니다. 작업: SQL 문에 지정된 개체 이름을 확인합니다. 연결 정보를 확인하여 기본 한정자 값이 개체가 카탈로그로 지정된 DB2 컬렉션과 일치하는지 확인합니다. 자세한 내용은 "기본 한정자" 항목을 참조하세요. |
| 42703 | -206 |
<이름이> 사용되는 컨텍스트에서 유효하지 않음 <지정된 테이블에 열 이름이> 없습니다. <이름이> 사용되는 컨텍스트에서 유효하지 않습니다. |
이유: 지정된 열 이름이 원본 또는 대상 테이블 또는 참조된 뷰의 열이 아닌 SQL 문을 서버에서 실행할 수 없습니다. 작업: 시스템 카탈로그(예: SYSIBM)를 쿼리하여 열 참조가 SQL 문의 개체와 일치하는지 확인합니다. SYSCOLUMNS) 또는 클라이언트 스키마 쿼리 실행(예: OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_COLUMNS) 또는 ADO.NET MsDb2Connection.GetSchema(Columns). |
| 08S01 | -360 | 호스트 리소스를 찾을 수 없습니다. 초기 카탈로그 값이 호스트 리소스 이름과 일치하는지 확인합니다. | 이유: 서버에서 요청된 DRDA RDBNAM(관계형 데이터베이스 이름)에 클라이언트를 연결할 수 없습니다. 작업: 연결 정보를 확인하여 초기 카탈로그 값이 z/OS 위치 이름에 대한 DB2, IBM i RDBDIRE(관계형 데이터베이스 디렉터리 항목) DB2 또는 Windows 데이터베이스 이름용 DB2와 일치하는지 확인합니다. 자세한 내용은 초기 카탈로그에 대한 항목을 참조하세요. |
| 42884 | -440 |
<현재 경로에서 호환되는 인수가 있는 NAME <루틴 이름>에 의한 루틴 형식> 없음 지정된 이름과 호환되는 인수를 사용하여 루틴을 찾을 수 없습니다. <루틴 이름> 및 <루틴 유형>으로 호환 가능한 인수가 있는 권한이 부여된 루틴을 찾을 수 없습니다. |
이유: 서버는 잘못된 수의 인수 또는 잘못된 매개 변수 데이터 형식이 포함된 SQL CALL 문을 실행하거나 잘못된 <스키마>를 참조할 수 없습니다.<개체 이름입니다> . 작업: 인수 수를 확인합니다. 매개 변수 데이터 형식을 확인합니다. SQL 문에 지정된 개체 이름을 확인합니다. 연결 정보를 확인하여 기본 한정자 값이 개체가 카탈로그로 지정된 DB2 컬렉션과 일치하는지 확인합니다. 자세한 내용은 "기본 한정자" 항목을 참조하세요. |
| 24501 | -501 | FETCH 또는 CLOSE 문에서 식별된 커서가 열려 있지 않습니다. <커서 커서 이름이> 열려 있지 않습니다. FETCH 문 또는 CLOSE 문에 지정된 커서가 열려 있지 않거나 커서 스칼라 함수 참조의 커서 변수가 열려 있지 않습니다. |
이유: 서버는 열려 있지 않은 CURSOR에 대해 FETCH 또는 CLOSE가 필요한 SQL SELECT 또는 CALL 문을 실행할 수 없습니다. 작업: 커서를 닫을 수 있는 COMMIT 또는 ROLLBACK을 발급하는지 애플리케이션을 확인합니다. 서버가 시스템 이벤트(예: SQLCODE -404, -652, -679, -802, -901, -904, -909, -910, -911, -913 또는 -952)에 따라 커서를 자동으로 닫았음을 나타낼 수 있는 이전에 받은 반환 메시지를 확인합니다. 원격 작업 단위 트랜잭션을 사용할 때, SQL Server Integration Services 및 분산 쿼리 프로세서를 포함한 일부 일반 소비자와 작업할 경우에는 자동 커밋 옵션이 True로 지정되어 있는지 연결 정보를 확인하세요. 자세한 내용은 AutoCommit에 대한 항목을 참조하세요. |
| 42501 | -551 | 이의를 제기할 권한이 없습니다. 개체 <이름>의 <리소스 >이름< 유형 >에 대한 권한이 없습니다. <authorization-ID>에는 개체 <개체 이름>에 대한 작업을 <> 수행하는 데 필요한 권한 부여 또는 권한이 없습니다. |
이유: 서버는 현재 사용자에게 권한이 없는 정적 SQL 패키지에 저장된 CURSOR 문이 필요한 SQL SELECT 또는 CALL 문을 실행할 수 없습니다. 클라이언트는 DB2 정적 SQL 패키지 내의 섹션에서 미리 정의된 SQL 문을 사용하여 SQL SELECT 문의 실행을 지원합니다. 기본적으로 클라이언트는 런타임 사용자에게 패키지 컬렉션 연결 속성에 지정된 DB2 컬렉션에 대한 패키지 BIND, EXECUTE 및 GRANT 권한이 있는 경우 패키지를 자동으로 정의합니다. 작업: 연결 정보를 확인하여 패키지 컬렉션 값이 현재 사용자 식별자 또는 PUBLIC에 의해 실행되도록 HIS 2010 패키지가 정의된 DB2 컬렉션과 일치하는지 확인합니다. 데이터 액세스 도구, 데이터 원본 마법사, 데이터 링크 또는 데이터 액세스 라이브러리를 사용하여 현재 사용자 ID 또는 PUBLIC별로 실행하기 위한 HIS 2010 패키지를 수동으로 만듭니다. HIS 2010 패키지를 자동으로 만들 수 있는 권한 부여 ID를 사용하여 DB2에 연결합니다(CREATE, BIND 및 EXECUTE 권한). 자세한 내용은 패키지 컬렉션에 대한 항목을 참조하세요. |
| 42501 42602 |
-567 -567 |
<bind-type><auth-id>를 사용한 권한 부여 오류 권한 패키지 = <package-name> 권한 = <privilege>. 권한 부여 이름 &1은 허용되지 않습니다. <authorization-ID> 가 유효한 권한 부여 ID가 아닙니다. |
이유: 사용자 계정에 필요한 DB2 패키지를 만들거나 실행할 수 있는 권한이 없는 경우 서버에서 SQL SELECT 문을 실행할 수 없습니다. 작업: 연결 정보를 확인하여 패키지 컬렉션 값이 현재 사용자 식별자 또는 PUBLIC에 의해 실행되도록 HIS 2010 패키지가 정의된 DB2 컬렉션과 일치하는지 확인합니다. 데이터 액세스 도구, 데이터 원본 마법사, 데이터 링크 또는 데이터 액세스 라이브러리를 사용하여 현재 사용자 ID 또는 PUBLIC별로 실행하기 위한 HIS 2010 패키지를 수동으로 만듭니다. HIS 2010 패키지를 자동으로 만들 수 있는 권한 부여 ID를 사용하여 DB2에 연결합니다(CREATE, BIND 및 EXECUTE 권한). 자세한 내용은 패키지 컬렉션에 대한 항목을 참조하세요. |
| 42710 | -601 | 정의할 개체의 이름(버전 또는 볼륨 일련 번호) 또는 이름 변경 문의 대상인 <개체 형식>의 기존 이름(버전 또는 볼륨 일련 번호) <개체 이름>과 동일합니다. <이름>이 <스키마> 형식 <형식>에 이미 존재합니다. 만들 개체의 이름은 형식 형식><의 기존 이름 이름과 <> 동일합니다. |
이유: 해당 이름이 동일한 형식의 다른 개체에 이미 사용 중인 경우 서버에서 개체의 이름을 지정할 수 없습니다. 작업: 기존 데이터베이스 개체와 비교하여 개체의 이름을 고유하게 지정합니다. |
| 42721 | -725 | 특정 위치에서 특수 레지스터 <레지스터>에 잘못된 값이 공급되었습니다. | 이유: 서버가 사용자 식별자 또는 컬렉션 이름에 대한 잘못된 값을 포함하는 경우 SET CURRENT SQLID 문을 처리할 수 없습니다. 작업: 연결 정보를 확인하여 기본 한정자 값이 개체가 카탈로그로 지정된 DB2 컬렉션과 일치하는지 확인합니다. 자세한 내용은 "기본 한정자" 항목을 참조하세요. |
| 23505 | -803 | 인덱스 공간 <인덱스스페이스 이름의> 인덱스가 테이블의 열을 제한하므로 두 행이 해당 열에 중복 값을 포함할 수 없으므로 삽입되거나 업데이트된 값이 잘못되었습니다. RID OF EXISTING ROW IS X <행 식별자> 지정된 중복 키 값입니다. INSERT 문, UPDATE 문 또는 DELETE 문으로 인한 외래 키 업데이트의 하나 이상의 값은 기본 키, 고유 제약 조건 또는 인덱스 ID>로 <식별된 고유 인덱스가 테이블 테이블 <이름이> 인덱스 키에 대해 중복 값을 갖지 않도록 제한하기 때문에 유효하지 않습니다. |
이유: 서버는 문이 중복 값을 발생시키는 UNIQUE INDEX로 제한되는 테이블에 대해 INSERT 또는 UPDATE 문을 실행할 수 없습니다. 작업: 시스템 카탈로그(예: SYSIBM)를 쿼리하여 데이터 값이 제약 조건을 위반하지 않는지 확인합니다. SYSINDEXES) 또는 클라이언트 스키마 쿼리 실행(예: OLE DB IDBSchemaRowsets::GetSchemas(DBSCHEMA_INDEXES) 또는 ADO.NET MsDb2Connection.GetSchema(Indexes). |
| 51002 | -805 | DBRM 또는 패키지 이름 <위치 이름>.<collection-id>.<dbrmname>.<일관성 토큰>이(가) 플랜 <플랜 이름>에서 찾을 수 없습니다. 이유 <이유>. DRDA 서버에서 <컬렉션 이름>의 <패키지 이름> SQL 패키지를 찾을 수 없습니다. 패키지 <패키지 이름을> 찾을 수 없습니다. |
이유: 서버에서 동적 SQL SELECT 문을 실행하는 데 DB2 클라이언트에 필요한 DB2 정적 SQL 패키지를 찾을 수 없습니다. 작업: 연결 정보를 확인하여 패키지 컬렉션 값이 HIS 2010 패키지가 현재 사용자 ID 또는 PUBLIC에 의해 실행을 위해 정의된 DB2 컬렉션과 일치하는지 확인합니다. 자세한 내용은 패키지 컬렉션에 대한 항목을 참조하세요. |
| 58004 | -901 | 후속 SQL 문의 성공적인 실행을 배제하지 않는 시스템 오류로 인해 실행이 실패했습니다. SQL 시스템 오류입니다. 심각하지 않은 시스템 오류로 인해 SQL 문이 실패했습니다. 후속 SQL 문을 처리할 수 있습니다. (이유 <이유>) |
이유: 서버에서 현재 SQL 문을 실행하지 못했지만 후속 SQL 문이 성공할 수 있습니다. 이 오류는 분산 작업 단위 내에서 트랜잭션 커밋이 실패하거나 제약 조건으로 인해 업데이트가 실패하거나 SQL 문에 잘못된 길이(최대 길이 0 이상)가 포함되어 있을 수 있습니다. 작업: 사용자는 추가 사용자 또는 관리자 작업이 필요한지 확인할 수 있는 이유 코드를 확인하고 애플리케이션, 트랜잭션 또는 명령을 수정하여 오류를 방지하는 방법을 결정해야 합니다. |
| 57011 | -904 | 사용할 수 없는 리소스로 인해 실행이 실패했습니다. 이유 <reason-code>, 자원 유형 <resource-type> 및 자원 이름 <resource-name>. 리소스 한도를 초과했습니다. 사용할 수 없는 리소스로 인해 실행이 실패했습니다. 이유 코드: <이유 코드>, 리소스 유형: <리소스 유형> 및 리소스 이름: <resource-name>. |
이유: 문의 개체를 사용할 수 없으므로 서버에서 SQL 문을 실행할 수 없습니다. 작업: 개체와 데이터베이스를 사용할 수 있고 교착 상태, 오프라인 또는 기타 사용할 수 없는 상태가 아닌지 확인합니다. |
| 57033 | -913 | 교착 상태 또는 시간 제한으로 인해 실행이 실패했습니다. REASON CODE <reason-code>, 리소스 유형 <resource-type> 및 리소스 이름 <resource-name>. 존재하는 자원형 리소스 <resource-name>의 <resource-type>의 행 또는 개체 <object-name>가 사용 중입니다. 교착 상태 또는 시간 제한으로 인해 실행이 실패했습니다. 이유 코드 <이유 코드>입니다. |
이유: 문의 개체를 사용할 수 없으므로 서버에서 SQL 문을 실행할 수 없습니다. 작업: 개체와 데이터베이스를 사용할 수 있고 교착 상태, 오프라인 또는 기타 사용할 수 없는 상태가 아닌지 확인합니다. 이전 작업을 커밋하거나 롤백한 다음 데이터베이스에서 연결을 끊습니다. 개체의 상태에 대한 자세한 내용은 서버 이유 코드를 확인합니다(예: z/OS 이유 코드 00C90088의 경우 DB2는 교착 상태를 나타내고, 00C9008E는 시간 제한을 나타냅니다.) |