Default GUID Dialect Property
This property controls the precedence of language dialect parsers when the provider attempts to resolve query syntax.
Default GUID Dialect
Because query syntax can be similar for language dialects such as data mining and SQL, the provider may not be able to infer the dialect from the query syntax. The provider may attempt to execute the query a second time in a different dialect if the query fails to execute in the first dialect. For example, if a data mining query fails, the provider may resubmit the query as SQL. If this second attempt also fails, the provider returns an SQL error message instead of a data mining error message.
The Default GUID Dialect property establishes the dialect the provider will use first to attempt to execute the query and the dialect of execution errors returned for query failures, even if the provider attempts to execute the query a second time in another dialect. For example, if the Default GUID Dialect property is set to MDGUID_DM, the provider first attempts to execute the query as a data mining query. If this attempt fails, the provider resubmits the query as an SQL query. However, because the value of this property is MDGUID_DM, if the SQL query also fails, the data mining error message is returned, not the SQL error message.
This property can be used in situations in which queries are expected to be more prevalent in one dialect than another.
Note If the OLE DB parameter rguidDialect is set in ICommandText::SetCommandText, that setting takes precedence over the Default GUID Dialect property setting and unequivocally specifies the dialect of the query. That is, the precedence algorithm established by the Default GUID Dialect property does not apply.
The following table describes possible values for this property.
|DBGUID_SQL||The SQL parser has precedence (default)|
|MDGUID_DM||The data mining dialect parser has precedence|
|MDGUID_MDX||The MDX parser has precedence|