Model Context Protocol (MCP) finally gives AI models a way to access the business data needed to make them really useful at work. CData MCP Servers have the depth and performance to make sure AI has access to all of the answers.
Try them now for free →Consume SQL Analysis Services OData Feeds in PowerBuilder
This article demonstrates how to consume SQL Analysis Services data as OData feeds from PowerBuilder using the API Server.
The CData API Server produces secure feeds of SQL Analysis Services data that you can consume in PowerBuilder DataWindows. The API Server supports the major Web services, including OData, Atom, JSON, HTML, CSV, TSV, and RSS. It also supports the major authentication schemes and SSL.
This article shows how to create a DataWindow that uses the CData API Server to retrieve data.
Set Up the API Server
Follow the steps below to begin producing secure SQL Analysis Services OData services:
Deploy
The API Server runs on your own server. On Windows, you can deploy using the stand-alone server or IIS. On a Java servlet container, drop in the API Server WAR file. See the help documentation for more information and how-tos.
The API Server is also easy to deploy on Microsoft Azure, Amazon EC2, and Heroku.
Connect to SQL Analysis Services
After you deploy the API Server, provide authentication values and other connection properties needed to connect to SQL Analysis Services by clicking Settings -> Connections and adding a new connection in the API Server administration console.
To connect, provide authentication and set the Url property to a valid SQL Server Analysis Services endpoint. You can connect to SQL Server Analysis Services instances hosted over HTTP with XMLA access. See the Microsoft documentation to configure HTTP access to SQL Server Analysis Services.
To secure connections and authenticate, set the corresponding connection properties, below. The data provider supports the major authentication schemes, including HTTP and Windows, as well as SSL/TLS.
-
HTTP Authentication
Set AuthScheme to "Basic" or "Digest" and set User and Password. Specify other authentication values in CustomHeaders.
-
Windows (NTLM)
Set the Windows User and Password and set AuthScheme to "NTLM".
-
Kerberos and Kerberos Delegation
To authenticate with Kerberos, set AuthScheme to NEGOTIATE. To use Kerberos delegation, set AuthScheme to KERBEROSDELEGATION. If needed, provide the User, Password, and KerberosSPN. By default, the data provider attempts to communicate with the SPN at the specified Url.
-
SSL/TLS:
By default, the data provider attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store. To specify another certificate, see the SSLServerCert property for the available formats.
You can then access any cube as a relational table: When you connect the data provider retrieves SSAS metadata and dynamically updates the table schemas. Instead of retrieving metadata every connection, you can set the CacheLocation property to automatically cache to a simple file-based store.
See the Getting Started section of the CData documentation, under Retrieving Analysis Services Data, to execute SQL-92 queries to the cubes.
You can then choose the SQL Analysis Services entities you want to allow the API Server access to by clicking Settings -> Resources.
Additionally, click Settings -> Server and change the following settings for compatibility with PowerBuilder:
- Default Format: Select XML (Atom) in the menu.
- Default Version: Select 2.0 in the menu.
Authorize API Server Users
After determining the OData services you want to produce, authorize users by clicking Settings -> Users. The API Server uses authtoken-based authentication and supports the major authentication schemes. Access can also be restricted based on IP address; by default, only connections to the local machine are allowed. You can authenticate as well as encrypt connections with SSL.
Create a Profile for SQL Analysis Services
Follow the steps below to use the Database Painter tool to create a database profile for the OData API of the API Server. In the Database Painter, you can graphically manipulate data as well as execute SQL queries.
- Click Tools -> Database Painter.
- Right-click the OData node and click New Profile.
- In the Database Profile Setup dialog, enter the following:
- Profile Name: Enter a user-friendly name for the profile.
- URI: Enter the URL to the OData endpoint of the API Server. This URL will resemble the one below:
http://MyServer:8032/api.rsc
- Supply User Id and Password: Click this option to use HTTP Basic authentication. Note that the API Server also supports Windows authentication.
- User Id: Enter the name of an user in the API Server.
- Password: Enter the authtoken of an user in the API Server.
- To view and modify a table, right-click a table and then click Edit Data -> Grid.

Using SQL Analysis Services Data with PowerBuilder Controls
You can use standard PowerBuilder objects to connect to OData feeds and execute queries. The following example shows how to retrieve SQL Analysis Services data into a DataWindow.
You can add the following code to the open method:
SQLCA.DBMS = "ODT"
SQLCA.DBParm = "ConnectString='URI=http://MyServer:8032/api.rsc;UID=MyAPIUser;PWD=MyAuthtoken'";
CONNECT USING SQLCA;
dw_adventure_works.SetTransObject(SQLCA);
dw_adventure_works.Retrieve();