Update Global Datasource

put

/datasources/{datasourceName}

Updates the named global-level Datasource. If the update is successful, returns details about the updated Datasource. type and connection are required inputs for all types of Datasources. Other required inputs differ based on the type of the Datasource.

Request

Path Parameters
Back to Top

Response

200 Response

OK

Datasource was updated successfully.

400 Response

Bad Request

Failed to update the Datasource.

Back to Top

Examples

The following example shows how to update an existing global Datasource.

This example uses cURL to access the REST API from a Windows shell script. The calling user's ID and password are variables whose values are set in properties.bat.

Script with cURL Command

call properties.bat
curl -X PUT "https://myserver.example.com:9001/essbase/rest/v1/datasources/EssbaseDS?links=none" -H Accept:application/json -H Content-Type:application/json --data "@./updateDSessbase.json" -u %User%:%Password%

The cURL example above delivers a JSON payload in updateDSessbase.json. The details you need to include in the payload depend on what type of Datasource you are updating. The example below is for updating an Essbase Datasource.

Sample JSON Payload - Essbase Datasource

The following sample JSON payload, passed to REST API in updateDSessbase.json, is an example for updating a Datasource for another Essbase cube. The required parameters are The required parameters are name, connection, type, columns, application, cube, and query.

{
  "name":"EssbaseDS",
  "type":"ESSBASE",
  "connection":"essconn",
  "columns":{
    "Column":[
      {
        "index":1,
        "name":"Measures",
        "type":"STRING"
      },
      {
        "index":2,
        "name":"Oregon",
        "type":"STRING"
      },
      {
        "index":3,
        "name":"California",
        "type":"STRING"
      },
      {
        "index":4,
        "name":"Utah",
        "type":"STRING"
      }]
  },
  "query":"select {COGS} on rows ,{Oregon, California, Utah} on columns",
  "application":"Sample",
  "cube":"Basic"
}

For more examples of JSON payloads you can use to test, update, and create Datasources for sources supported by Essbase, see the Create Datasource endpoint.

Example of Response Body - Essbase Datasource

The following example shows the contents of the response body in JSON format.

{
  "name" : "EssbaseDS",
  "connection" : "essconn",
  "type" : "ESSBASE",
  "columns" : {
    "Column" : [ {
      "name" : "Measures",
      "type" : "STRING",
      "index" : 1,
      "system" : false
    }, {
      "name" : "Oregon",
      "type" : "STRING",
      "index" : 2,
      "system" : false
    }, {
      "name" : "California",
      "type" : "STRING",
      "index" : 3,
      "system" : false
    }, {
      "name" : "Utah",
      "type" : "STRING",
      "index" : 4,
      "system" : false
    } ]
  },
  "query" : "select {COGS} on rows ,{Oregon, California, Utah} on columns",
  "application" : "Sample",
  "cube" : "Basic",
  "queryParameters" : [ ],
  "links" : [ ]
}
Back to Top