Four-Part Name Requirements for OLE DB Providers

Distributed queries can use four-part names only if the OLE DB provider supports the following:

  • The IDBSchemaRowset interface.

  • Restrictions on all the name parts that the provider supports in the IDBSchemaRowset interface. Restrictions are a mechanism defined in OLE DB for specifying the search criteria for metadata queries using the OLE DB schema rowsets.

  • The literals DBLITERAL_CATALOG_SEPARATOR, DBLITERAL_SCHEMA_SEPARATOR, and DBLITERAL_QUOTE in the IDBInfo interface. SQL Server uses defaults, '.' for catalog and schema separator and the double-quotation character for string literal delimiter. This may not work with providers that do not support these literals.

  • SQL Server also consumes the Unicode string literal prefix and Unicode string literal suffix from DBSCHEMA_PROVIDER_TYPES, if they are supplied by the provider.

If an OLE DB provider does not meet these requirements, the provider can be referenced only by using pass-through queries in the OPENDATASOURCE or OPENROWSET function.

For information about four-part names, see the Multipart Names section of Transact-SQL Syntax Conventions (Transact-SQL).