JetSetColumns 함수

적용 대상: Windows | Windows Server

JetSetColumns 함수

JetSetColumns 함수는 JetSetColumn과 동작이 비슷하지만 애플리케이션이 단일 작업에서 여러 열 값을 설정할 수 있도록 합니다. JET_SETCOLUMN 구조의 배열은 설정할 열 값 집합을 설명하고 설정할 각 열 값에 대한 입력 버퍼를 설명하는 데 사용됩니다.

    JET_ERR JET_API JetSetColumns(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in_out_opt  JET_SETCOLUMN* psetcolumn,
      __in          unsigned long csetcolumn
    );

매개 변수

sesid

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

tableid

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

psetcolumn

하나 이상의 JET_SETCOLUMN 구조체 배열에 대한 포인터입니다. 각 구조에는 설정할 열 값과 설정할 열 데이터를 가져올 위치에 대한 설명이 포함됩니다.

csetcolumn

psetcolumn에서 제공하는 배열의 JET_SETCOLUMN 구조체 수입니다.

반환 값

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

반환 코드

설명

JET_errBadColumnId

지정된 열 ID가 열 ID의 법적 제한을 벗어집니다.

JET_errClientRequestToStopJetService

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

JET_errColumnIllegalNull

JET_errNullInvalid 동일합니다.

JET_errColumnNotFound

지정된 columnid 에 의해 설명된 열이 테이블에 없습니다.

JET_errColumnNotUpdatable

삽입 복사 삭제 원래 업데이트 작업 중에 긴 값을 업데이트하려고 잘못 시도했습니다.

JET_errColumnTooBig

입력 버퍼에 지정된 열 값 데이터가 고정 길이 열에 대해 자연스럽거나 고정 길이 텍스트 또는 이진 열에 대해 구성된 크기 제한을 초과합니다. 이 오류는 긴 열에 대해 1024바이트 이상의 데이터를 전달하고 JET_bitSetIntrinsicLV 플래그를 설정할 때도 반환됩니다.

JET_errInstanceUnavailable

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

JET_errInvalidBufferSize

지정된 열 값 데이터 크기가 고정 길이 데이터 형식에 대한 자연 항목과 일치하지 않습니다.

JET_errInvalidColumnType

삽입 또는 업데이트 작업 중에 자동 증가 열을 업데이트하거나 바꾸기 작업 중에 버전 열을 업데이트하려는 시도가 잘못되었습니다.

JET_errInvalidgrbit

제공된 옵션은 알 수 없거나 알려진 비트 설정의 잘못된 조합입니다.

JET_errInvalidParameter

지정된 psetinfo-cbStruct>는 JET_SETINFO 구조체에 유효한 크기가 아닙니다.

JET_errMultiValuedDuplicate

열 설정 작업에서 중복 값을 만들려고 했고 JET_bitSetUniqueMultiValues 또는 JET_bitSetUniqueNormalizedMultiValues 지정했습니다.

JET_errNotInitialized

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

JET_errNotInTransaction

호출 세션이 트랜잭션에 없을 때 긴 열 값을 업데이트하려고 잘못 시도했습니다.

JET_errNullInvalid

NULL이 아닌 열을 NULL로 설정하려고 잘못 시도했습니다.

JET_errRecordTooBig

열 값은 레코드가 페이지 크기 관련 크기 제한을 초과하게 했기 때문에 입력 버퍼의 값으로 설정할 수 없습니다. JET_coltypLongText 또는 JET_coltypLongBinary 형식의 열은 나머지 레코드 데이터와 별도로 저장할 수 있습니다. 그러나 다른 열은 레코드와 함께 저장되어야 하며 레코드 크기 제한을 초과할 수 있습니다. 긴 열에도 링크로 레코드 내의 5바이트 공간이 필요하며 이로 인해 JET_errRecordTooBig 반환될 수 있습니다.

JET_errRestoreInProgress

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

JET_errSessionSharingViolation

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

JET_errTermInProgress

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

JET_errUpdateNotPrepared

커서는 현재 새 레코드를 삽입하거나 기존 레코드를 업데이트하는 과정에 있지 않습니다.

JET_wrnColumnMaxTruncated

입력 버퍼의 열 값이 가변 길이 열에 대해 구성된 최대 길이를 초과하여 잘렸습니다.

성공하면 psetcolumns에 설명된 각 열에 대해 열 값의 원하는 부분이 입력 버퍼에서 복사된 데이터로 설정됩니다. 열 데이터 집합이 가변 길이 열에 대해 지정된 최대 길이를 초과하면 잘렸을 수 있습니다.

오류가 발생한 경우 커서 위치는 변경되지 않고 복사 버퍼에서 열 값 데이터가 업데이트되지 않습니다.

설명

개별 집합 열 작업이 오류를 반환하는 경우 전체 JetSetColumns 작업에서 오류를 반환합니다. 일반적으로 경고는 이 함수의 반환 코드가 아니라 psetcolumns-error>로 반환됩니다. 그러나 마지막 열 집합에 경고가 있는 경우 이 경고는 JetSetColumns 자체에서 반환됩니다.

요구 사항

요구 사항

클라이언트

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

서버

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

머리글

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

라이브러리

ESENT.lib를 사용합니다.

DLL

ESENT.dll 필요합니다.

참고 항목

JET_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn