The Configure Schema editor should be used to generate the OData schema map as described in Configuring data sources for OData Version 2 connectivity. In rare cases, manual editing of the schema map might be necessary. For OData Version 2 services, an odata_mapping_v2 format is supported.

The schema map consists of a JSON string that contains the following properties:

{
    "odata_mapping_v2": {
        "schemas": [
            {
                "name": "schema1_name",
                "tables": {
                    "table1_name": {
                        "ODataAlias": "odata_name",
                        "ODataPluralAlias": "plural_odata_name",
                        "searchMode": "enum",
                        "columns": {
                            "column1_name": {
                                "primaryKeyComponent": integer,
                                "searchable": boolean,
                                "indexType": "text_index_name"
                            },
                            "column2_name": {...}
                        },
                        "excludedColumns": ["column2_name"]
                    },
                    "table2_name": {...}
                },
                "excludedTables": ["table2_name"]
            }
        ]
    }
}

Property descriptions

See the following tables for descriptions of schema map properties.

Root properties

Property Description
odata_mapping_v2 Root container for the mapping configuration.

Schema map properties

Property Description
schemas Array of database schemas to map.

Schema properties

Property Description
name The backend data source schema name. This is a required field. For data stores that do not support schemas, such as MySQL, the name value should be null ("name": null).
tables Contains table elements describing how to expose tables through OData. If the tables object is missing or empty, all tables, except for any table in the excludedTables array, are exposed.
excludedTables Comma-separated list of tables to hide from OData requests. Any tables not specified in this list that have a primary key column will be exposed for OData requests. This optional field is used only when the tables object is missing or empty.

Table properties

Property Description
ODataAlias The singular entity name to use in OData addresses for requests to this table.
ODataPluralAlias The plural entity name to use in OData requests.
searchMode Applies to columns enabled for search. Determines whether a column is searchable and the method used to search it.
  • "none": Not searchable
  • "begins": Search for the string only at the beginning of a field
  • "contains": Search for a specific string
  • "full-text": Use the data source index
columns Contains column elements that define the details of columns included in a table. If the columns element is missing or empty, then all columns except the ones listed in excludeColumns are exposed.
excludedColumns Comma-separated list of columns to hide from OData requests. This optional field is used only when the columns object is missing or empty.

Column properties

Property Description
primaryKeyComponent The data type of a column belonging to the primary key or null. The primary key is comprised of a set of columns to use as the primary key for a table that does not have a defined primary key. If this field is not specified or the key list is empty, the table must have a primary key defined in the database. If a primary key is defined for the table in the database and a primary key column list is also specified in the OData Schema Map parameter, the primary key defined in the database is used.
searchable If true, the column is searchable, using the searchMode specified at the table level. If false, the column is not searchable.
indexType The model contains this element to identify the type of index when the search mode is set to "full-text". For DB2 and SQL Server, TEXT is the only valid value. For Oracle, valid values include CONTEXT and CTXCAT.