OData Client Compatibility: Difference between revisions

Created page with "The OData Client Compatibility option fine tunes the Odata Feed as different client have different implementation of the OData standard. We recommend you use the option to ''..."
 
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
The OData Client Compatibility option fine tunes the Odata Feed as different client have different implementation of the OData standard.
The OData Client Compatibility option fine tunes the Odata Feed as different client have different implementation of the OData standard.


We recommend you use the option to '''(Auto Detect)''' as this ensures the OData Feed can be used with many different clients. There are situations where you may need to choose a specific client.
By default, new models are set to '''(Auto Detect)''' as this ensures the OData Feed can be used with many different clients. There are situations where you may need to choose a specific client.
 
 
= How to configure the OData Client Compatibility option ==
 
To configure the OData Client Compatibility option, follow these steps.
 
# Go to '''app.odatalink.com'''.
# Click on '''Models''' on the menu in the left-hand side.
# Find the [[Models|model]] you want to work on and click '''View'''.
# Select the '''Settings''' tab.
# Click on the '''Edit Model''' button.
# Find the '''Miscellaneous Options''' section.
# Choose the [[OData Client Compatibility|OData Client Compatibility]] option required.
# Click '''Save'''.
 
 
= OData Client Compatibility Options =
 
The following options are available.
 


== (Auto Detect) ==
== (Auto Detect) ==
The '''(Auto Detect)''' option allows OdataLink to detect the type of OData Client that is requesting data. It then uses this to adapt the OData Feed dynamically and work around limitations of specific client.  This is the default behaviour in OdataLink and has been in place since the original design.
OdataLink uses the User-Agent header of the request to identify the client as follows:
* User-Agent of ''Microsoft.Data.Mashup'' indicate the request came from ''[[#Excel|Excel]]'', ''[[#Power BI|Power BI]]'', ''Power Query'' and ''[[#Fabric|Fabric]]'' (and related products).
* User-Agent of ''azure-data-factory'' indicate the request came from ''[[#Azure Data Factory (ADF)|Azure Data Factory (ADF)]]''.
* User-Agent of ''Microsoft.Data.DataFeedClient'' indicate the request came from ''[[#SQL Server Integration Services (SSIS)|SQL Server Integration Services (SSIS)]]''.
* User-Agent of ''Tableau''' or ''Apache-Olingo'' indicate the request came from ''[[#Tableau|Tableau]]''.
* There is no mechanism yet to detect ''[[#Solver|Solver]]'' or ''[[#Fabric Data Factory|Fabric Data Factory]]''.


== Azure Data Factory (ADF) ==
== Azure Data Factory (ADF) ==
Line 9: Line 40:
'''Azure Data Factory''' has some limitations in how it supports the OData standard. The main two limitations are that it:
'''Azure Data Factory''' has some limitations in how it supports the OData standard. The main two limitations are that it:


* '''Does not support functions'''
* Does not support functions.
:* Functions will get returned as entity sets.
: ''Functions will be accessible as as entity sets instead.''
* Does not support complex types
* Does not support complex types.




Line 28: Line 59:
'''Fabric Data Factory''' has some limitations in how it supports the OData standard. The main two limitations are that it:
'''Fabric Data Factory''' has some limitations in how it supports the OData standard. The main two limitations are that it:


* '''Does not support functions'''
* Does not support functions.
:* Functions will get returned as entity sets.
: ''Functions will be accessible as as entity sets instead.''
* Does not support complex types
* Does not support complex types.




Line 52: Line 83:
'''Solver''' has some limitations in how it supports the OData standard. The main limitations are that it:
'''Solver''' has some limitations in how it supports the OData standard. The main limitations are that it:


* '''Does not support functions'''
* Does not support functions.
:* Functions will get returned as entity sets.
: ''Functions will be accessible as as entity sets instead.''




Line 60: Line 91:
'''SQL Server Integration Services (SSIS)''' has some limitations in how it supports the OData standard. The main limitations are that it:
'''SQL Server Integration Services (SSIS)''' has some limitations in how it supports the OData standard. The main limitations are that it:


* '''Does not support functions'''
* Does not support functions.
:* Functions will get returned as entity sets.
: ''Functions will be accessible as as entity sets instead.''
* '''Does not the Date data type'''
* Does not the Date data type.
:* Instead, dates will be returned using the DateTimeZoneOffset data type.
: ''Instead, dates will be returned using the DateTimeZoneOffset data type.''
* Does not support complex types
* Does not support complex types.




Line 71: Line 102:
'''Tableau''' has some limitations in how it supports the OData standard. The main limitations are that it:
'''Tableau''' has some limitations in how it supports the OData standard. The main limitations are that it:


* '''Does not support functions'''
* Does not support functions.
:* Functions will get returned as entity sets.
: ''Functions will be accessible as as entity sets instead.''
* '''Does not support time zones'''
* Does not support time zones.
:* The time zone component of the DateTimeZoneOffset data type will be omitted.
: ''The time zone component of the DateTimeZoneOffset data type will be omitted.''
* Does not support complex types
* Does not support complex types.