Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Query SAP SuccessFactors Data through ODBC in Node.js
Use node-odbc to execute SQL queries against SAP SuccessFactors data from Node.js.
Node.js is a JavaScript runtime environment that allows you to run JavaScript code outside of a browser. With the CData ODBC Driver for SAP SuccessFactors, you can access live SAP SuccessFactors data from Node.js apps and scripts. In this article, we walk through installing node-odbc and the required tools to create a simple Node.js app with access to live SAP SuccessFactors data.
With built-in optimized data processing, the CData ODBC Driver offers unmatched performance for interacting with live SAP SuccessFactors data in Node.js. When you issue complex SQL queries from Node.js to SAP SuccessFactors, the driver pushes supported SQL operations, like filters and aggregations, directly to SAP SuccessFactors and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations).
Connecting to SAP SuccessFactors Data
If you have not already done so, provide values for the required connection properties in the data source name (DSN). You can use the built-in Microsoft ODBC Data Source Administrator to configure the DSN. This is also the last step of the driver installation. See the "Getting Started" chapter in the help documentation for a guide to using the Microsoft ODBC Data Source Administrator to create and configure a DSN.
You can authenticate to SAP Success Factors using Basic authentication or OAuth with SAML assertion.
Basic Authentication
You must provide values for the following properties to successfully authenticate to SAP Success Factors. Note that the provider will reuse the session opened by SAP Success Factors using cookies. Which means that your credentials will be used only on the first request to open the session. After that, cookies returned from SAP Success Factors will be used for authentication.
- Url: set this to the URL of the server hosting Success Factors. Some of the servers are listed in the SAP support documentation (external link).
- User: set this to the username of your account.
- Password: set this to the password of your account.
- CompanyId: set this to the unique identifier of your company.
OAuth Authentication
You must provide values for the following properties, which will be used to get the access token.
- Url: set this to the URL of the server hosting Success Factors. Some of the servers are listed in the SAP support documentation (external link).
- User: set this to the username of your account.
- CompanyId: set this to the unique identifier of your company.
- OAuthClientId: set this to the API Key that was generated in API Center.
- OAuthClientSecret: the X.509 private key used to sign SAML assertion. The private key can be found in the certificate you downloaded in Registering your OAuth Client Application.
- InitiateOAuth: set this to GETANDREFRESH.
Building node-odbc
In order to connect to SAP SuccessFactors through the CData ODBC Driver, you need to build node-odbc manually (after installing the required tools).
Installing the Required Tools
The following commands install the tools required to build node-odbc (note the -g parameter, which installs the tools globally).
npm i -g windows-build-tools npm i -g node-gyp
Building node-odbc
After installing the required tools, create a directory for the Node.js app and install odbc (which builds the binary for us to use in our Node.js script).
mkdir nodeodbc cd nodeodbc npm i -g node
Querying SAP SuccessFactors from Node.js
With the ODBC Driver installed, a DSN Configured, and node-odbc built, we are ready to query live SAP SuccessFactors data from a Node.js app. The sample code below connects to a specific DSN and queries the ExtAddressInfo table.
myscript.js
const odbc = require('odbc'); async function querySAPSuccessFactors() { const connection = await odbc.connect(`DSN=CData SAPSuccessFactors Source`); const data = await connection.query('SELECT address1, zipCode FROM ExtAddressInfo'); console.log(data); } querySAPSuccessFactors();
Once you write the app, use node to execute the script:
node myscript.js
Download a free, 30-day trial of the CData ODBC Driver for SAP SuccessFactors and start working with your live SAP SuccessFactors data in Node.js. Reach out to our Support Team if you have any questions.