![]() |
VOOZH | about |
The CData ODBC Drivers can be used in any environment that supports loading an ODBC Driver. In this tutorial we will explore using the CData ODBC Driver for PingOne from within PyCharm. Included are steps for adding the CData ODBC Driver as a data source, as well as basic PyCharm code to query the data source and display results.
To begin, this tutorial will assume that you have already installed the CData ODBC Driver for PingOne as well as PyCharm.
Follow the steps below to add the pyodbc module to your project.
You can now connect with an ODBC connection string or a DSN. See the Getting Started section in the CData driver documentation for a guide to creating a DSN on your OS.
To connect to PingOne, configure these properties:
is the ID of the PingOne environment in which your Worker application resides. This parameter is used only when the environment is using the default PingOne domain (auth.pingone). It is configured after you have created the custom OAuth application you will use to authenticate to PingOne, as described in Creating a Custom OAuth Application in the Help documentation.
First, find the value for this property:
WorkerAppEnvironmentId='11e96fc7-aa4d-4a60-8196-9acf91424eca'
Now set to the value of the Environment ID field.
is the base URL of the PingOne authorization server for the environment where your application is located. This property is only used when you have set up a custom domain for the environment, as described in the PingOne platform API documentation. See Custom Domains.
PingOne supports both OAuth and OAuthClient authentication. In addition to performing the configuration steps described above, there are two more steps to complete to support OAuth or OAuthCliet authentication:
Set to OAuth.
Get and Refresh the OAuth Access Token
After setting the following, you are ready to connect:
When you connect, the driver opens PingOne's OAuth endpoint in your default browser. Log in and grant permissions to the application. The driver then completes the OAuth process:
The driver refreshes the access token automatically when it expires.
For other OAuth methods, including Web Applications, Headless Machines, or Client Credentials Grant, refer to the Help documentation.
Below is the syntax for a DSN:
[CData PingOne Source] Driver = CData ODBC Driver for PingOne Description = My Description AuthScheme = OAuth WorkerAppEnvironmentId = eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e Region = NA OAuthClientId = client_id OAuthClientSecret = client_secret InitiateOAuth = GETANDREFRESH
Instantiate a Cursor and use the execute method of the Cursor class to execute any SQL statement.
import pyodbc
cnxn = pyodbc.connect('DRIVER={CData ODBC Driver for PingOne};AuthScheme = OAuth;WorkerAppEnvironmentId = eebc33a8-xxxx-4f3a-yyyy-d3e5262fd49e;Region = NA;OAuthClientId = client_id;OAuthClientSecret = client_secret;InitiateOAuth = GETANDREFRESH;')
cursor = cnxn.cursor()
cursor.execute("SELECT Id, Username FROM [CData].[Administrators].Users WHERE EmployeeType = 'Contractor'")
rows = cursor.fetchall()
for row in rows:
print(row.Id, row.Username)
After connecting to PingOne in PyCharm using the CData ODBC Driver, you will be able to build Python apps with access to PingOne data as if it were a standard database. If you have any questions, comments, or feedback regarding this tutorial, please contact us at [email protected].
Download a free trial of the PingOne ODBC Driver to get started:
Download NowLearn more:
👁 PingOne IconThe PingOne ODBC Driver is a powerful tool that allows you to connect with live data from PingOne, directly from any applications that support ODBC connectivity.
Access PingOne data like you would a database - read, write, and update PingOne 0, etc. through a standard ODBC Driver interface.