SchemaFilter IBM Data Server Driver 구성 키워드
테이블 정보를 쿼리하는 데 사용되는 스키마를 제한합니다.
- 동등한 CLI 키워드
- SchemaList
- 동등한 IBM® Data Server Provider for .NET 연결 문자열 키워드
- SchemaList
- IBM 데이터 서버 드라이버 구성 파일(db2dsdriver.cfg) 구문
<parameter name="SchemaFilter" value=" 'schema1', 'schema2',… 'schemaN' "/>- 기본 설정
- 없음
- 사용 참고
- SchemaFilter 키워드를 사용하여 스키마 목록을 지정할 수 있습니다. 스키마 목록을 지정하면 애플리케이션이 테이블 정보를 쿼리하는 데 걸리는 시간과 애플리케이션에 리턴되는 테이블 수가 줄어듭니다. 각 스키마 이름은 대소문자를 구분합니다. 다음 예에 표시된 대로 스키마 이름을 작은따옴표로 구분하고 여러 스키마 이름은 쉼표로 구분해야 합니다.
SchemaFilter='USER1','USER2','USER3'서버의 경우 Db2 for z/OS 서버의 경우 다음 예와 같이 목록에 현재 SQLID 값을 포함하되 작은따옴표 없이 포함할 수 있습니다:SchemaFilter='USER1',CURRENT SQLID,'USER3'문자열의 최대 길이는 2047자입니다.
SchemaFilter 키워드를 ZOSDBNameFilter 키워드 및 TableTypeFilter 키워드와 함께 사용하여 정보가 리턴되는 데이터베이스 오브젝트의 수를 추가로 제한할 수 있습니다.
IBM i 용 Db2 서버의 경우, DBQ 또는 DefaultLibraries 는 서버 작업의 라이브러리 목록에 추가할 IBM i 라이브러리를 지정합니다. 라이브러리는 쉼표 또는 공백으로 구분되며 사용자 라이브러리 목록(*USRLIBL)은 서버 작업의 현재 라이브러리 목록에 대한 플레이스 홀더로 사용될 수 있습니다. 라이브러리 목록은 규정되지 않은 스토어드 프로시저 호출을 분석하고 카탈로그 함수 호출에서 라이브러리를 찾는 데 사용됩니다. *USRLIBL 값을 지정하지 않으면 지정된 라이브러리가 서버 작업의 현재 라이브러리 목록을 대체합니다.
스키마 이름 목록에서 *USRLIBL 또는 *ALL 값을 지정하여 카탈로그 함수 호출에서 라이브러리를 찾을 수 있습니다. 서버 작업의 현재 라이브러리를 검색하려면 *USRLIBL 값을 지정하십시오. 연결된 데이터베이스의 모든 스키마를 검색하려면 *ALL 값을 지정하십시오. 첫 번째 카탈로그 함수 호출 시 서버에서 검색되는 *USRLIBL 값은 기본적으로 캐시됩니다. 동일한 *USRLIBL 값이 동일한 연결 핸들의 모든 후속 카탈로그 함수 호출에 사용됩니다. 다음 방법 중 하나를 사용하여 사용자 라이브러리 목록의 캐싱 동작을 변경할 수 있습니다.- SQLSetConnectAttr() 함수를 사용하여 지정되는 SQL_ATTR_CACHE_USRLIBL 속성
- db2cli.ini 파일의 CacheUsrLibL 키워드.
- db2dsdriver.cfg 파일의 CacheUsrLibL 키워드.
IBM i Access for Windows.NET 공급자에서 마이그레이션하는 경우 searchSchemaFilter 속성에 *ALL 값을 지정한 경우 다음 예제와 같이 SchemaFilter 키워드에 *ALL 값을 지정합니다:<parameter name=SchemaFilter
value=*USRLIBL
/><parameter name=SchemaFilter
value=*ALL
/>다음 카탈로그 함수는 IBM i 용 Db2 서버에 연결할 때 SchemaFilter 키워드에 대한 *USRLIBL 값의 영향을 받습니다.- SQLTables()
- SQLTablePrivileges()
- SQLColumns()
- SQLColumnPrivileges()
Db2 for IBM i 서버에 대한 카탈로그 함수 ( CLI의 경우) 또는 GetSchema() 함수 (.NET 데이터 제공자의 경우) 호출은 SchemaFilter 키워드에 나열된 스키마 이름 및 사용자 라이브러리 목록 (*USRLIBL) 에 속하는 스키마가 있는 데이터베이스 오브젝트를 포함하는 결과 세트를 리턴합니다. 예를 들어, 다음 SchemaFilter 키워드 예에서는 사용자 라이브러리 목록과 연관된 스키마와 “schema1” 이름, “schema2” 이름을 가진 데이터베이스 오브젝트가 포함된 결과 세트를 리턴합니다.
SchemaFilter 키워드에 지정한 결합된 사용자 라이브러리 목록 (*USRLIBL) 및 스키마 이름을 사용하여 데이터베이스 오브젝트를 얻으려면 IBM i 용 Db2 서버가 다음 요구사항을 충족해야 합니다.<parameter name=SchemaFilter
value=*ALL
, ‘schema1’, ‘schema2’/>- IBM i 용 Db2 V6R1에서 PTF 그룹 SF99601 버전 21이상을 적용해야 합니다.
- IBM i 용 Db2 V7R1에서 PTF 그룹 SF99701 버전 11이상을 적용해야 합니다.