_Streams 테이블

_Streams 테이블에는 포함된 OLE 데이터 스트림이 나열되어 있습니다. 이 테이블은 SQL 문에서 참조하는 경우에만 만들어지는 임시 테이블입니다.

Column 형식 Nullable
속성 텍스트 지원 N
데이터 이진 N 지원

 

이름

스트림을 식별하는 고유 키입니다. Name의 최대 길이는 62자입니다.

데이터

서식이 지정되지 않은 이진 데이터입니다.

설명

파일에서 데이터베이스로 OLE 데이터 스트림(예: 이진 데이터 형식의 개체)을 복사하려면 _Streams 테이블에 레코드를 만들고 이 레코드의 이름 열에 데이터 스트림의 이름을 입력하고 MsiRecordSetStream을 사용하여 파일의 데이터를 데이터 열로 복사합니다. MsiViewModify를 사용하여 테이블에 새 레코드를 삽입합니다.

데이터베이스에 포함된 이진 데이터 스트림을 읽으려면 SQL 쿼리를 사용하여 이진 데이터가 포함된 레코드를 찾고 가져옵니다. MsiRecordReadStream을 사용하여 이진 데이터를 버퍼로 읽습니다.

이진 데이터 스트림을 한 데이터베이스에서 다른 데이터베이스로 이동하려면 먼저 데이터를 파일로 내보냅니다. SQL 쿼리를 사용하여 파일에서 데이터 스트림을 찾고 MsiRecordSetStream을 사용하여 파일의 데이터를 두 번째 데이터베이스의 _Streams 테이블의 데이터 열로 복사합니다. 이렇게 하면 각 데이터베이스에 이진 데이터의 자체 복사본이 있습니다. 첫 번째 데이터베이스의 데이터와 함께 레코드를 가져와서 두 번째 데이터베이스에 삽입하면 이진 데이터를 한 데이터베이스에서 다른 데이터베이스로 이동할 수 없습니다.

데이터 스트림을 삭제하려면 레코드를 가져오고 레코드를 업데이트하기 전에 데이터 열을 null로 설정합니다. 또 다른 방법은 테이블에서 레코드를 제거하고 MsiViewModify 또는 일반 SQL 쿼리를 사용하여 삭제하는 것입니다. 스트림이 테이블에서 삭제된 경우 스트림을 레코드로 가져오면 안 됩니다.

OLE 데이터 스트림의 이름을 바꾸려면 레코드의 '이름' 열을 업데이트합니다.

SQL(ALTER TABLE)를 사용하여 이 테이블에 보류를 배치하는 경우

HOLD) 또는 HOLD를 사용하여 열을 추가합니다. 테이블은 FREE를 사용하여 해제해야 합니다. 스트림 테이블이 해제되거나 커밋될 때까지 작성되지 않습니다.