JetRenameColumn 함수

적용 대상: Windows | Windows Server

JetRenameColumn 함수

JetRenameColumn 함수를 사용하여 테이블의 기존 열 이름을 변경할 수 있습니다.

Windows XP:JetRenameColumn 은 Windows XP에 도입되었습니다.

    JET_ERR JET_API JetRenameColumn(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_PCSTR szName,
      __in          JET_PCSTR szNameNew,
      __in          JET_GRBIT grbit
    );

매개 변수

sesid

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

tableid

이 호출에 사용할 커서입니다.

szName

이름을 바꿀 열의 현재 이름입니다.

szNameNew

이름을 바꿀 열의 새 이름입니다.

grbit

이 매개 변수는 0이어야 합니다.

반환 값

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

반환 코드

설명

JET_errSuccess

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

JET_errClientRequestToStopJetService

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

JET_errColumnNotFound

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

JET_errInvalidName

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

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

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

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

  • 개체 이름은 공백으로 시작할 수 없습니다. 개체 이름에 ASCII 컨트롤 문자가 포함될 수 없습니다(0x1F 통해 0x00).

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

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

JET_errInvalidParameter

제공된 매개 변수 중 하나에 예기치 않은 값이 포함되어 있거나 다른 매개 변수의 값과 결합할 때 의미가 없는 값이 포함되어 있습니다. 이 작업은 다음과 같은 경우 JetRenameColumn 에서 발생할 수 있습니다.

  • szName 은 NULL입니다.

  • szNameNew 는 NULL입니다.

JET_errInstanceUnavailable

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

JET_errInTransaction

이 작업은 세션이 현재 트랜잭션 내에 있지 않은 경우에만 수행할 수 있습니다.

JET_errNotInitialized

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

JET_errRestoreInProgress

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

JET_errSessionSharingViolation

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

JET_errTermInProgress

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

JET_errTransReadOnly

읽기 전용 트랜잭션의 scope 내에 있는 동안에는 업데이트를 수행할 수 없습니다. 읽기 전용 트랜잭션은 JET_bitTransactionReadOnly JetBeginTransaction2 호출을 사용하여 시작된 트랜잭션입니다. 이 오류는 Windows XP 이상 릴리스에서만 반환됩니다.

성공하면 커서와 연결된 테이블의 지정된 열 이름이 새 이름으로 영구적으로 변경됩니다. 해당 열을 참조하는 인덱스도 업데이트됩니다.

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

설명

열 이름 바꾸기 작업은 다른 스키마 작업과 달리 트랜잭션으로 수행되지 않기 때문에 비정상적입니다. 지정된 테이블의 열 이름이 한 세션에서 바뀌면 해당 테이블을 사용하는 다른 세션에서는 해당 세션이 이름 바꾸기 작업을 수행하는 다른 변경 내용을 볼 수 없는 트랜잭션에 있더라도 즉시 변경 내용이 표시됩니다.

열의 열 ID는 이름 바꾸기 작업의 영향을 받지 않습니다.

요구 사항

요구 사항 값

클라이언트

Windows Vista 또는 Windows XP가 필요합니다.

서버

Windows Server 2008 또는 Windows Server 2003이 필요합니다.

머리글

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

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

유니코드

JetRenameColumnW(유니코드) 및 JetRenameColumnA(ANSI)로 구현됩니다.

참고 항목

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetBeginTransaction2