_스트림 테이블

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

Column 형식 Nullable
이름 Text Y N
데이터 이진 N Y

이름의

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

데이터로

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

설명

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

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

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

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

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

SQL (ALTER TABLE을 사용 하 여이 테이블에 저장 된 경우

보유)를 사용 하 여 열을 추가 하 고 테이블을 FREE를 사용 하 여 해제 해야 합니다. 테이블을 해제 하거나 커밋할 때까지 스트림은 기록 되지 않습니다.