아마도 Access를 사용하는 많은 친구들은 Access의 시스템 내장 테이블을 열어본 적이 없을 것입니다. 이 문서는 시스템 내장 테이블을 간략하게 이해하는 데 도움이 될 수 있습니다.
프로그램 코드
<%sqlcmd="[msysobjects]에서 이름 선택(유형=1 및 플래그=0"%>)
이 문을 사용하여 Access 데이터베이스의 모든 테이블을 얻을 수 있지만 MSysObjects 테이블을 읽을 수 있는 권한을 설정해야 합니다. 그렇지 않으면 "레코드를 읽을 수 없습니다. 'MSysObjects'에서 데이터를 읽을 수 있는 권한이 없습니다."라는 오류 메시지가 나타납니다.
Office 2003 설정: 도구->옵션->보기->숨겨진 개체 및 시스템 개체 확인. 도구->보안->사용자 및 그룹 권한의 개체 이름에서 MSysObjects를 선택한 다음 권한에서 읽기 권한을 설정합니다.
Office 2007 설정: 왼쪽 상단 모서리에 있는 아이콘 클릭 -> 액세스 옵션 -> 현재 데이터베이스 -> 탐색 -> 탐색 옵션 -> 숨겨진 개체 표시를 선택하면 시스템 개체가 표시됩니다. 데이터베이스 도구 탭 -> 사용자 및 권한 -> 사용자 및 그룹 권한에서 개체 유형으로 테이블을 선택하고 개체 이름으로 MSysObjects를 선택한 다음 "데이터 읽기" 권한을 확인합니다
. 데이터베이스에 액세스:
프로그램 코드
<%
set rs=conn.openSchema(20)'는 스키마 정보가 포함된 Recordset 개체를 반환합니다.
rs.filter="table_type='table'"'table_type이 테이블 유형이고 다른 유형이 시스템 내장 테이블인 데이터 테이블을 필터링합니다.
rs.eof가 아닌 동안 수행
response.write(rs("TABLE_NAME"))' 레코드 세트 레코드 세트를 사용하여 열 이름이 table_name인 데이터를 얻습니다.
응답.쓰기("<br />")
rs.movenext:루프
%>