Whether the additional arguments are implemented and what they do is
driver-specific. The standard SQL wildcards are underscore to
match a single character and percent to match zero or more
characters (and often backslash will escape these): these are not used
for table types. All of these drivers interpret wildcards in
tableName
, and in catalog
or schema
where
supported.
Setting one of catalog
or schema
to "%"
and the
other and tableName
to ""
should give a list of
available catalogs or schemas, whereas
catalog = "", schema = "", tableName = "", tableType = "%"
should list the supported table types.
For MySQL, catalog
refers to a database whereas
schema
is mostly ignored, and literal
is ignored. To
list all databases use just catalog = "%"
. In the 5.1.x
driver, use catalog="db_name", tableName="%"
to list the
tables in another database, and to list the table types use the
form displayed above.
For PostgreSQL's ODBC driver catalog
is ignored (except that
catalog = ""
is required when listing schema or table types) and
literal
works for both schema
and for tableName
.
SQLite ODBC ignores catalog
and schema
, except that the
displayed form is used to list table types. So although it is
possible to attach databases and to refer to them by the dotted
name notation, it is apparently impossible to list tables on attached
databases.
Microsoft SQL Server 2008 interprets both catalog
and schema
.
With literal = TRUE
it only finds tables if schema
is
set (even to an empty string). Schemas are only listed if they contain
objects.
Oracle's Windows ODBC driver finds no matches if anything non-empty is
supplied for the catalog
argument. Unless a schema is
specified it lists tables in all schemas. It lists available table
types as just "TABLE"
and "VIEW"
, but other types appear
in listings. With literal = TRUE
it only finds tables if
schema
is set (even to an empty string).
DB2 implements schemas but not catalogs. literal = TRUE
has no
effect. In some uses case matters and upper-case names must be used
for schemas.
The Microsoft Access and Excel drivers interpret catalog
as the
name of the Access .mdb
or Excel .xls
file (with the
path but without the extension): wildcards are interpreted in
catalog
(for files in the same folder as the attached database)
and tableName
. Using schema
is an error except when
listing catalogs or table types. The Excel driver matched
tableType = "TABLE"
(a named range) but not tableType =
"SYSTEM TABLE"
(the type returned for worksheets).
The Actual Technologies Access/Excel driver ignores all the additional
arguments.