There is support for detecting the following servers:
All the other servers are handled generic as:
For servers of type 2 to 4 the provider tries to load dialect files named as follows:
2: mondrian_dialect.txt
3: jedox_dialect.txt
4: undefined_dialect.txt
The above files should reside on the file system in the same folder with the provider dll.
The dialect introduces two classes of transforms on all the MDX queries before the queries are sent to the server:
a. Change caps (to upper/to lower/leave unchanged). This is required by Jedox (to lower).
b. Aliases (string replacements). This is executed on the query string with no concern to the MDX syntax. Any number of aliases will be accepted.
There is a dialect file committed in the repo for Mondrian. The following is the content of the file at the time this was written.
=====================================================================================
# Lines starting with a hash are comments.
# Empty lines are ignored
# Caps can be upper/lower/any.
# In the case of upper/lower the MDX query string will be transformed
# to uppercase/lowercase. In the case of any the string is left untouched
# Defaults to any. Caps in the definition are ignored so one can write
# CaPs AnY
caps any
# Alias are plain string replacements. The syntax is:
# alias string_to_replace=replacement_string
# There is no lexer involved so be aware.
# Trying to alias to little might break the syntax.
# Try to use token separators to clarify what you need. Also note that whitespaces
# in the definition DO COUNT.
alias .member_caption=.caption
# Leave an empty line at the end
=====================================================================================