利用 ADO 來抓出資料庫內的資料表、View 可以利用 ADO裡的 Connection物件內的 OpenSchema 方法(Method) 來達到這個目的。
Connection.OpenSchema(querytype, Criteria, SchemaID )
querytype:
20 -> all tables and views
4 -> all columns
比較值得注意的是 Criteria, 它是一個陣列,依照 querytype來傳入值。
QueryType Criteria
=============================
adSchemaTables TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE
QueryType Criteria
===============================
adSchemaColumns TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
QueryType Criteria
================================
adSchemaIndexes TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME
以下以 ASP 來做範例:
Set conn = Server.CreateObject("ADODB.Connection")
' 只取出 資料表名稱, 若不傳參數,就用 empty
Set Rs = Conn.OpenSchema(20, array(empty, empty, empty,"table") ))