다음을 통해 공유


JetSetColumnDefaultValue 함수

적용 대상: Windows | Windows Server

JetSetColumnDefaultValue 함수

JetSetColumnDefaultValue 함수를 사용하여 기존 열의 기본값을 변경할 수 있습니다.

    JET_ERR JET_API JetSetColumnDefaultValue(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          JET_PCSTR szTableName,
      __in          JET_PCSTR szColumnName,
      __in          const void* pvData,
      __in          const unsigned long cbData,
      __in          const JET_GRBIT grbit
    );

매개 변수

sesid

이 호출에 사용할 세션입니다.

dbid

이 호출에 사용할 데이터베이스입니다.

szTableName

영향을 받을 열이 포함된 테이블의 이름입니다.

szColumnName

기본값이 변경되는 열의 이름입니다.

pvData

새 기본값을 포함하는 입력 버퍼입니다.

cbData

새 기본값을 포함하는 입력 버퍼의 크기입니다.

grbit

다음에 사용하도록 예약됩니다.

반환 값

이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류오류 처리 매개 변수를 참조하세요.

반환 코드

설명

JET_errSuccess

작업이 성공적으로 완료되었습니다.

JET_errClientRequestToStopJetService

JetStopService 호출로 인해 세션과 연결된 instance 모든 작업이 중단되었으므로 작업을 완료할 수 없습니다.

JET_errColumnIllegalNull

JET_errNullInvalid 동일합니다.

JET_errColumnInUse

이 지정된 열은 현재 인덱스에서 사용되고 있습니다.

JetSetColumnDefaultValue 는 인덱스 정의에서 참조되는 열의 기본값을 변경할 수 없습니다. 이렇게 하면 인덱스의 내용이 변경되기 때문입니다.

JET_errColumnNotFound

이 테이블에 대해 지정된 열이 없습니다.

JET_errInstanceUnavailable

세션과 연결된 instance 해당 데이터의 무결성을 보호하기 위해 모든 데이터에 대한 액세스를 해지해야 하는 심각한 오류가 발생하여 작업을 완료할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

JET_errInvalidDatabaseId

지정한 데이터베이스 ID가 잘못되었습니다.

JET_errInvalidName

지정한 개체 이름 중 하나가 잘못되었습니다. 모든 개체 이름은 동일한 규칙 집합을 준수해야 합니다. 이러한 규칙은 다음과 같습니다.

  • 개체 이름은 ASCII 문자로 구성되어야 합니다.

  • 개체 이름은 길이가 하나 이상이어야 합니다.

  • 개체 이름은 길이가 JET_cbNameMost(64)를 초과할 수 없습니다.

  • 개체 이름은 공백으로 시작할 수 없습니다.

  • 개체 이름에는 ASCII 컨트롤 문자가 포함될 수 없습니다(0x1F 통해 0x00).

  • 개체 이름에는 느낌표(!), 마침표(.), 왼쪽 대괄호([) 또는 오른쪽 대괄호(]) 문자가 포함될 수 없습니다.

  • 유효성이 검사되면 첫 번째 공간(있는 경우)까지의 문자열 부분만 개체 이름에 사용됩니다. 즉, 개체 이름에 공백도 포함되지 않을 수 있습니다.

JET_errNotInitialized

세션과 연결된 instance 아직 초기화되지 않았기 때문에 작업을 완료할 수 없습니다.

JET_errNullInvalid

열을 NULL로 설정할 수 없습니다. 이는 다음과 같은 경우 JetSetColumnDefaultValue 에서 발생합니다.

  • cbData 가 0입니다.

  • pvData 는 NULL입니다.

따라서 열의 기본값(뒤로)을 NULL 또는 0 길이 값으로 설정할 수 없습니다.

JET_errObjectNotFound

이 데이터베이스에 대해 지정된 테이블이 없습니다.

JET_errRestoreInProgress

세션과 연결된 instance 복원 작업이 진행 중이므로 작업을 완료할 수 없습니다.

JET_errSessionSharingViolation

두 개 이상의 스레드에 대해 동시에 동일한 세션을 사용할 수 없습니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

JET_errTableInUse

이 지정된 테이블은 다른 세션에서 사용 중입니다.

JetSetColumnDefaultValue 에서는 Windows Server 2003 이전 릴리스에 대한 열의 기본값을 변경하려면 테이블에 대한 단독 액세스 권한이 필요합니다.

JET_errTermInProgress

세션과 연결된 instance 종료 중이므로 작업을 완료할 수 없습니다.

JET_errTransReadOnly

읽기 전용 트랜잭션의 scope 내에서 업데이트를 시도하는 것은 불법입니다. 읽기 전용 트랜잭션은 JET_bitTransactionReadOnly JetBeginTransaction2 호출을 사용하여 시작된 트랜잭션입니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

JET_errWriteConflict

다른 세션에서는 이전에 업데이트를 위해 레코드를 잠갔습니다. 이 세션에서 시도한 업데이트가 실패합니다.

성공하면 지정된 데이터베이스의 지정된 테이블에 있는 지정된 열의 기본값이 새 기본값으로 영구적으로 변경됩니다.

오류가 발생하면 데이터베이스 상태가 변경되지 않습니다.

설명

템플릿 테이블에서 열의 기본값을 변경할 수 없습니다.

데이터베이스 엔진은 긴 텍스트 및 긴 이진 열에 대해 열의 기본값을 255바이트로 자동으로 자립니다.

요구 사항

요구 사항

클라이언트

Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다.

서버

Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다.

머리글

Esent.h에서 선언되었습니다.

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

유니코드

JetSetColumnDefaultValueW(유니코드) 및 JetSetColumnDefaultValueA(ANSI)로 구현됩니다.

참고 항목

JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction2
JetStopService