ADO.NET
Salesforce Logo

Salesforce ADO.NET Provider

SQL-based Access to Salesforce through ADO.NET for your custom .NET applications and SSAS.

download buy now

Other Salesforce Technologies

The Salesforce ADO.NET Data Provider enables user to easily connect to Salesforce data from .NET applications. Rapidly create and deploy powerful .NET applications that integrate with Salesforce account data including Leads, Contacts, Opportunities, Accounts, and more!

ADO architecture

Salesforce .NET Connectivity Features

  • Includes support for custom Salesforce entities.
  • Perform atomic and batch update operations.
  • Compatible with SOAP API versions 30.0 and above.
  • Maps SQL-92 queries to SOQL queries.
  • The leading data connectivity solution for Salesforce integration.
  • Powerful metadata querying enables SQL-like access to non-database sources
  • Push down query optimization pushes SQL operations down to the server whenever possible, increasing performance
  • Client-side query execution engine, supports SQL-92 operations that are not available server-side
  • Connect to live Salesforce & Force.com data, for real-time data access with the Salesforce & Force.com ADO.NET Provider
  • Full support for data aggregation and complex JOINs in SQL queries
  • Secure connectivity through modern cryptography, including TLS 1.2, SHA-256, ECC, etc.
  • Seamless integration with leading BI, reporting, and ETL tools and with custom applications via the Salesforce Connector.

Target Service, API

The Salesforce ADO.NET driver currently defaults to version 62.0 of the Salesforce API. The Web Services API is supported natively by Salesforce Enterprise, Unlimited, and Developer editions. The driver also supports Salesforce Bulk API 2.0 making it ideal for high-performance data operations.

Schema, Data Model

The driver models the Salesforce API as relational Tables. The table definitions are dynamically retrieved including the custom objects you create on Salesforce. The driver also enables custom Salesforce Reports and Dashboards you have created to be used as views.

Key Objects

All Salesforce objects including Account, Leads, Opportunity, Products and other custom objects can be used. Files attached to Salesforce records can also be moved.

Operations

Full CRUD with ANSI-92 SQL capability. The drivers also supports JOIN, UPSERT and more. Stored Procedures support Up/Downloading attachements, and Batch operations. User can also pass-through SOQL queries.

Authentication

CData driver supports wide variation of Authentication Scheme. Basic (API Token), OAuth, OAuthClient, OneLigin, OKTA, ADFS, AzureAD and more.

Specific feature or properties

The driver supports both Tabular Reports and Matrix Reports.

Start a 30-day Free Trial Today

See what you can do with Salesforce ADO.NET provider

SSAS Cube
SSAS Cube

Use Salesforce from SQL Server Analysis Service (SSAS) multi-dimensional cubes. Keep your analytical data modeling and access to any source including cloud and on-premises.

Custom .NET Application
Custom .NET Application

The Salesforce ADO.NET Provider allows developers to build applications that connect to Salesforce using familiar SQL and Entity Framework. Integrate Salesforce to your mission -critical applications or create easy side-by-side applications.

Reporting & BI
Low-Code Dev Platforms

You can connect from ADO.NET compliant low-code development tools:

Reporting & BI
Reporting Tools

You can connect Salesforce from .NET-based reporting and analytics tools:

Standard ADO.NET Access to Salesforce

The Salesforce ADO.NET Provider offers the most natural way to access Salesforce data from any .NET application. Simply use Salesforce Data Provider objects to connect and access data just as you would access any traditional database. You will be able to use the Salesforce Data Provider through Visual Studio Server Explorer, in code through familiar classes, and in data controls like DataGridView, GridView, DataSet, etc.

The CData ADO.NET Provider for Salesforce hides the complexity of accessing data and provides additional powerful security features, smart caching, batching, socket management, and more.

Working with DataAdapters, DataSets, DataTables, etc.

The Salesforce Data Provider has the same ADO.NET architecture as the native .NET data providers for SQL Server and OLEDB, including: SalesforceConnection, SalesforceCommand, SalesforceDataAdapter, SalesforceDataReader, SalesforceDataSource, SalesforceParameter, etc. Because of this you can now access Salesforce data in an easy, familiar way.

For example:

using (SalesforceConnection conn = new SalesforceConnection("...")) {
	string select = "SELECT * FROM Leads";
	SalesforceCommand cmd = new SalesforceCommand(select, conn);
	SalesforceDataAdapter adapter = new SalesforceDataAdapter(cmd);
	using (adapter) {
		DataTable table = new DataTable();
		adapter.Fill(table);		
		...
	}
}

More Than Read-Only: Full Update/CRUD Support

Salesforce Data Provider goes beyond read-only functionality to deliver full support for Create, Read, Update, and Delete operations (CRUD). Your end-users can interact with the data presented by the Salesforce Data Provider as easily as interacting with a database table.

using (SalesforceConnection connection = new SalesforceConnection(connectionString)) {
	SalesforceDataAdapter dataAdapter = new SalesforceDataAdapter(
	"SELECT Id, Where FROM Leads", connection);
  
	dataAdapter.UpdateCommand = new SalesforceCommand(
		"UPDATE Leads SET Where = @Where " +
		"WHERE Id = @ID", connection);

	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Where", "Where");
	dataAdapter.UpdateCommand.Parameters.AddWithValue("@Id", "80000173-1387137645");

	DataTable LeadsTable = new DataTable();
	dataAdapter.Fill(LeadsTable);

	DataRow firstrow = LeadsTable.Rows[0];
	firstrow["Where"] = "New Location";

	dataAdapter.Update(LeadsTable);
}

ADO.NET Provider Performance

With traditional approaches to remote access, performance bottlenecks can spell disaster for applications. Regardless if an application is created for internal use, a commercial project, web, or mobile application, slow performance can rapidly lead to project failure. Accessing data from any remote source has the potential to create these problems. Common issues include:

  1. Network Connections - Slow network connections and latency issues are common in mobile applications.
  2. Service Delays - Delays due to service interruptions, resulting in server hardware or software updates.
  3. Large Data - Intentional or unintentional requests for large amounts of data.
  4. Disconnects - Complete loss of network connectivity.

The CData ADO.NET Provider for Salesforce solves these issues by supporting powerful smart caching technology that can greatly improve the performance and dramatically reduce application bottlenecks.

Smart Caching

Smart caching is a configurable option that works by storing queried data into a local database. Enabling smart caching creates a persistent local cache database that contains a replica of data retrieved from the remote source. The cache database is small, lightweight, blazing-fast, and it can be shared by multiple connections as persistent storage.

Caching with our ADO.NET Providers is highly configurable, including options for:

  • Auto Cache - Maintain an automatic local cache of data on all requests. The provider will automatically load data into the cache database each time you execute a SELECT query. Each row returned by the query will be inserted or updated as necessary into the corresponding table in the cache database.
  • Explicit Cache - Cache only on demand. Developers decide exactly what data gets stored in the cache and when it is updated. Explicit caching provides full control over the cache contents by using explicit execution of CACHE statements.
  • No Cache - All requests access only live data and no local cache file is created.

This powerful caching functionality increases application performance and allows applications to disconnect and continue limited functioning without writing code for additional local storage and/or data serialization/deserialization.

More information about ADO.NET Provider caching and best caching practices is available in the included help files.

Visual Studio Integration & Server Explorer

Working with the new Salesforce ADO.NET Provider is easy. As a fully-managed .NET Data Provider, the Salesforce Data Provider integrates seamlessly with the Visual Studio development environment as well as any .NET application.

As an ADO.NET Data Provider, Salesforce ADO.NET Provider can be used to access and explore Salesforce & Force.com data directly from the Visual Studio Server Explorer.

It's easy. As a standard ADO.NET adapter, developers can connect the Server Explorer to Salesforce ADO.NET Provider just like connecting to any standard database.

  • Add a new Data Connection from the Server Explorer and select the Salesforce & Force.com Data Source
  • Configure the basic connection properties to access your Salesforce & Force.com account data.

Explore all of the data available! Salesforce ADO.NET Provider makes it easy to access live Salesforce & Force.com data from Visual Studio.

  • After configuring the connection, explore the feeds, views, and services provided by the Salesforce & Force.com Data Source.
  • These constructs return live Salesforce & Force.com data that developers can work with directly from within Visual Studio!

Developer Integration: Databind to Salesforce

Connecting Web, Desktop, and Mobile .NET applications with Salesforce & Force.com is just like working with SQL Server. It is even possible to integrate Salesforce ADO.NET Provider into applications without writing code.

Developers are free to access the Salesforce ADO.NET Provider in whatever way they like best. Either visually through the Visual Studio Winforms or Webforms designers, or directly through code.

  • Developers can connect the Salesforce & Force.com Data Source directly to form components by configuring the object's smart tags.
  • Add a new Data Connection from the Server Explorer and select the Salesforce & Force.com Data Source. Then, select the feed, view, or services you would like to connect the object to.

Done! It's just like connecting to SQL Server.

  • Once the object is bound to the data source, applications can easily interact with Salesforce & Force.com data with full read/write (CRUD) support.

Download the Salesforce ADO.NET driver today!