![]() |
VOOZH | about |
This guide walks you through installing, licensing, and connecting the CData Python Connector to live Salesforce data. You will learn to:
Let's begin.
Accessing and integrating live data from Salesforce has never been easier with CData. Customers rely on CData connectivity to:
Users frequently integrate Salesforce data with:
For more information on how CData solutions work with Salesforce, check out our Salesforce integration page.
Python Dependencies Note: Make sure you have Python installed. The CData Python Connector supports Python versions 3.8, 3.9, 3.10, 3.11, and 3.12. If you are using a version outside this range, you may need to create a virtual environment with virtualenv.
pip install cdata_salesforce_connector-24.0.9111-cp312-cp312-win_amd64.whl
pip install cdata_salesforce_connector-24.0.####-python3.tar.gz
After your purchase, you should have received your license key via email from the CData Orders Team. The license key is a 25-character code that looks like this: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
.\license-installer.exe [YOUR LICENSE KEY HERE]
./install-license.sh [YOUR LICENSE KEY HERE]
Can I use my license on multiple machines?
Yes, depending on your subscription tier. Check your order confirmation email or contact your account representative for details.
If you are unsure who your account representative is, contact [email protected].
I lost my license key. How do I retrieve it?
Email [email protected] with your order number, and we will resend your license key.
Can I transfer my license to a different machine?
Yes. You will need to submit a License Transfer Request using our license transfer request page linked below:
https://www.cdata.com/lic/transfer/
After your License Transfer Request is submitted and processed, an additional activation will be added to your Product Key.
You will then be able to activate the full license on the new machine.
Once this process is complete, the license on the previous machine will become invalid.
For additional licensing questions, contact [email protected]. You can view and manage your license through our self-service portal at portal.cdata.com.
After the installation and license activation are complete, you can establish a connection using the CData Python Connector.
The CData Python Connector for Salesforce is exposed as a Python module that you can import using the standard import statement and then build your application code around it.
The Connector also includes built-in metadata tools such as sys_tables and sys_tablecolumns, which allow you to perform schema discovery — including available tables, columns, and structural metadata for Salesforce data.
The following example establishes a connection to Salesforce using your authentication properties and retrieves column names from a specific table.
Replace or modify the connection string values below with your actual credentials, and update your table name in '[TABLE NAME]' as needed.
If your Salesforce instance uses MFA or additional security requirements, you may need to include properties such as Passcode or SecurityToken in your connection string. Refer to the Connection String Options section in the Connector Help documentation (also available inside the help directory of the Connector) for a complete list of supported properties.
import cdata.salesforce as mod
# Establish the connection using your configured properties
conn = mod.connect(
"InitiateOAuth=GETANDREFRESH;"
"MFACode=YourMFACode;"
)
# Query column names for the specified table
cur = conn.cursor()
cur.execute("SELECT ColumnName FROM sys_tablecolumns WHERE TableName = '[TABLE NAME]'")
print("Columns in your table:")
for row in cur.fetchall():
print(row[0])
cur.close()
conn.close()
This code connects to Salesforce, queries the metadata catalog, and prints all column names for the table you specify. Check out the complete Connector documentation to learn how to modify the SQL query to explore additional schemas, tables, or other supported metadata views.
There are several authentication methods available for connecting to Salesforce: OAuth, Login (or basic), and SSO. The Login method requires you to have the username, password, and security token of the user.
The default authentication mechanism (and the one preferred by Salesforce) is OAuth. To use OAuth with CData's embedded OAuth application, leave the connection properties blank. If you have configured your own custom OAuth application with Salesforce (see the Help documentation for more information), set OAuthClientId, OAuthClientSecret, and CallbackURL to the properties for you application. Set InitiateOAuth to the desired OAuth flow ("GETANDREFRESH" will have the connector manage the entire OAuth flow).
If you do not wish do not wish to use OAuth authentication, you can use Login (or basic) authentication. Set AuthScheme to Basic, and set the User, Password, and SecurityToken properties. You can configure your security token in Salesforce.
SSO (single sign-on) can be used by setting the SSOProperties, SSOLoginUrl, and SSOExchangeURL connection properties, which allow you to authenticate to an identity provider. See the "Getting Started" chapter in the Help documentation for more information.
If your Salesforce org has MFA enforcement enabled, set MFACode to the time-based one-time passcode (TOTP) generated by your authenticator app (such as Salesforce Authenticator or Google Authenticator). MFACode applies to both OAuth and Login authentication flows.
Solution: Verify that your User, Password, and any additional authentication properties required by Salesforce are correct. If your data source enforces MFA, SSO, or passcodes, ensure the correct properties are included in the connection string. Refer to the complete Connector documentation for the full list of supported authentication properties, or contact [email protected] for assistance validating authentication settings.
Solution: Confirm that the endpoint URL in your connection string is correct and that outbound HTTPS traffic is allowed from your environment. If you are behind a firewall or proxy, ensure that Python is permitted to reach the service URL. For network configuration details or port requirements, contact [email protected].
Solution: Verify the Database, Schema, and table name in your SQL query. Use metadata views such as sys_tables and sys_tablecolumns to confirm the exact table and column names exposed by Salesforce data. If the table name is case-sensitive, ensure you are using the correct casing in your query.
Solution: Ensure the Python Connector is installed in the correct environment. Run pip list to verify that the connector (cdata-salesforce-connector) is present. If you are using virtual environments, activate the correct environment before executing your script.
Solution: Incorrect property formatting or missing semicolons can prevent the connector from parsing your connection settings. Review your connection string to ensure each property follows the correct Key=Value; format. Refer to the Python Connector documentation for property names supported by Salesforce.
For additional connection troubleshooting, contact [email protected] with your full error message (masking sensitive credentials before sending).
With the connector installed and your connection configured, you can now begin working with live Salesforce data in Python. Explore the resources below to extend your integration and build complex workflows.
| Python Client | Article Title |
|---|---|
| Python MCP Server | Connect Salesforce to AI Assistants With the CData Python MCP Server |
| pandas | Use pandas to Visualize Salesforce in Python |
| Dash | Use Dash & Python to Build Web Apps on Salesforce |
| SQLAlchemy | Use SQLAlchemy ORMs to Access Salesforce in Python |
| petl | Extract, Transform, and Load Salesforce in Python |
If you need assistance at any point:
SELECT * FROM sys_tables;
If your question is not covered in this FAQ, contact [email protected].
Download a Community License of the Salesforce Connector to get started:
Download NowLearn more:
👁 Salesforce IconPython Connector Libraries for Salesforce Data Connectivity. Integrate Salesforce with popular Python tools like Pandas, SQLAlchemy, Dash & petl.