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