_Storages 테이블
_Storages 테이블에는 포함된 OLE 데이터 스토리지가 나열됩니다. SQL 문에서 참조할 때만 만들어지는 임시 테이블입니다.
Column | 형식 | 키 | Nullable |
---|---|---|---|
속성 | Text | Y | N |
데이터 | 이진 | N | Y |
열
-
이름
-
스토리지를 식별하는 고유 키입니다. 이름의 최대 길이는 31자입니다.
-
데이터
-
서식이 지정되지 않은 이진 데이터입니다.
설명
데이터베이스에 OLE 스토리지를 추가하려면 _Storages 테이블에 새 레코드를 만들고 이름 열에 스토리지 이름을 입력합니다. MsiRecordSetStream을 사용하여 이 레코드의 데이터 열에 데이터를 복사합니다. 마지막으로 MsiViewModify를 사용하여 레코드를 _Storages 테이블에 삽입합니다.
_Storages 테이블에서 데이터를 읽을 수 없습니다. 그러나 _Storages 테이블을 쿼리하여 특정 스토리지의 존재를 확인할 수 있습니다. 즉, 한 데이터베이스에서 다른 데이터베이스로 OLE 스토리지를 이동할 수 없습니다. 대신 원래 스토리지 파일을 새 데이터베이스로 가져와야 합니다. OLE 스토리지를 삭제하려면 이진 데이터가 포함된 레코드를 가져오고, _Storages 테이블의 데이터 열을 null로 설정한 다음, 레코드를 업데이트합니다. 다른 방법은 MsiViewModify 또는 일반 SQL 쿼리를 사용하여 레코드를 삭제하는 것입니다.
OLE 스토리지의 이름을 바꾸려면 레코드의 이름 열을 업데이트합니다.
SQL을 사용하여 이 테이블에 보류가 있거나(ALTER TABLE
HOLD) 또는 HOLD를 통해 열이 추가된 경우, 테이블은 FREE를 사용하여 해제해야 합니다. 스토리지는 테이블이 해제되거나 커밋될 때까지 작성되지 않습니다.