dotConnect for Salesforce Marketing Cloud: Data Extensions and Email Data as SQL Tables in .NET
dotConnect for Salesforce Marketing Cloud is Devart's $339.95 ADO.NET data provider (it started life as dotConnect for ExactTarget) that lets .NET applications query and update Salesforce Marketing Cloud with SQL. It's most useful for data extensions, the custom tables marketing teams build in Marketing Cloud, along with emails and subscriber events, across one or several business units. It runs on .NET 5 to 11 and .NET Framework 4.5 to 4.8 on Windows, Linux and macOS, as a perpetual license with one year of updates.
Typical job: the data team wants nightly copies of a dozen data extensions in SQL Server, or the web app needs to write preference-center changes straight into a data extension. With this provider, that's SELECT and UPDATE instead of SOAP envelopes.
Quick facts
- Version: 3.3.248, released November 11, 2026
- Developer: Devart. The classes and NuGet package still use the ExactTarget name (ExactTargetConnection, Devart.Data.ExactTarget)
- Data source: Salesforce Marketing Cloud (formerly ExactTarget): data extensions, emails, subscriber status events and other account objects
- Authentication: API user name and password (the default), OAuth refresh token or server-to-server for enhanced installed packages, and App Center client for legacy packages only
- .NET: .NET 5 to 11, .NET Core 2.0 to 3.1, .NET Standard 2.0/2.1, .NET Framework 4.5 to 4.8
- ORMs: EF Core 1 to 11, Entity Framework 4 to 6, Dapper, NHibernate
- Download: 16.47 MB Windows installer, or NuGet
- Price: Developer $339.95, Server $799.95, OEM for 10-100 devices $4,999.95, each perpetual with a year of updates
- Trial: 30 days, full product
- Refunds: within 30 days if technical problems prevent use and support can't fix them
- What we checked: version 3.3.248 and the 16.47 MB installer listed on the download page, the authentication and connection-string documentation, the revision history from the first release in February 2016, Devart forum threads about data extensions and timeouts, and the order page on November 14, 2026: $339.95 for a single Developer license. We didn't connect it to a Marketing Cloud account.
Download Free TrialBuy Now
Overview
Salesforce bought ExactTarget in 2013 and turned it into Marketing Cloud, but the platform's SOAP API still carries the ExactTarget name, and so does Devart's provider underneath: you create an ExactTargetConnection, run an ExactTargetCommand and read an ExactTargetDataReader. Devart's own examples query and update the Email object. What makes the provider valuable for most buyers, though, is that every data extension in the account shows up as a table under its own name, so SELECT id, name FROM Perfil_202001 works just like a database query.
Authentication has followed Salesforce's changes. Since August 1, 2019, Marketing Cloud has only allowed new installed packages of the "enhanced" kind, which can't use App Center client authentication. Devart added refresh-token OAuth and, in October 2019, server-to-server authentication for those packages. The SubscriberStatusEvent table came in February 2020, and version 3.0 in December 2025 added interactive OAuth at runtime.
The Salesforce Marketing Cloud data source in Visual Studio: an S7 webservice.exacttarget.com URL, an API user and password, and the ExactTargetConnection code that opens it.
Features
Data extensions as tables
dotConnect for Salesforce Marketing Cloud lists each data extension as its own table that you query with ordinary SQL, and the provider's INSERT, UPDATE and DELETE support covers writing rows where Marketing Cloud allows it. The Support Extension Objects option (on by default) controls this, and turning it off speeds up connections that only need standard objects. Devart fixed an early bug where a data extension named like a reserved object went missing (version 1.6.378, March 2017).
Several business units in one query
dotConnect for Salesforce Marketing Cloud has a ClientIDs option that takes a comma-separated list of business unit or partner account IDs, so a SELECT can read across units from one connection. Agencies and enterprises that split brands or regions into business units can report across all of them at once. The option applies to SELECT queries only.
Four authentication methods
dotConnect for Salesforce Marketing Cloud supports API user name and password against an instance URL (S1 by default), OAuth with a refresh token, server-to-server with Client Id and Client Secret from an installed package, and App Center client for legacy packages created before August 2019. OAuth methods need your tenant Subdomain, the 28-character "mc..." string from your Marketing Cloud URL, and a Token Server setting can keep refresh tokens in a file or registry key.
Emails and subscriber events
dotConnect for Salesforce Marketing Cloud exposes Email, which Devart's own getting-started examples read and update, and SubscriberStatusEvent for tracking when subscribers change status, useful when you mirror unsubscribes into a CRM or data warehouse.
EF Core, Visual Studio and tracing
dotConnect for Salesforce Marketing Cloud supports EF Core 1 to 11, Entity Framework 4 to 6, Dapper and NHibernate, with Devart's Entity Developer available separately for visual modeling. It plugs into Visual Studio 2015 to 2026's Server Explorer, and a Readonly option restricts a connection to SELECT.
Benefits
- Data extensions without SOAP. The most-used Marketing Cloud data becomes ordinary tables.
- Cross-business-unit reporting from one connection. No loop over units in your own code.
- Current authentication. Server-to-server and refresh-token OAuth work with today's enhanced packages.
Real-World Uses
- Warehouse loads: a .NET job copies campaign data extensions into SQL Server or a data lake every night.
- Preference center: a customer portal reads and updates a subscriber's row in a preferences data extension when they change settings.
- Agency reporting: one connection with ClientIDs pulls results from every client business unit for a combined report.
- Unsubscribe sync: SubscriberStatusEvent rows are copied to the CRM so sales doesn't email people who opted out.
Who It's For, and Who Should Skip It
It's for .NET developers and data engineers who move data in and out of Salesforce Marketing Cloud, particularly data extensions, and want SQL rather than the SOAP and REST APIs.
Skip it if your Marketing Cloud work is inside the platform (Automation Studio SQL activities and imports cover many in-platform jobs at no extra cost), or if your pipelines run in SSIS, where Devart's SSIS components for Marketing Cloud fit better. Skip it too if you need journeys, content or other areas Marketing Cloud only exposes through its REST API, and check that the objects you need are listed in the trial before buying.
Usage Guide
- In Marketing Cloud Setup, create an installed package with a server-to-server API integration (or use an API user) and note the Client Id, Client Secret and your tenant Subdomain.
- Install the provider from Devart's installer (free account) or add the Devart.Data.ExactTarget NuGet package.
- In Server Explorer, add a Salesforce Marketing Cloud connection, choose the Authentication Type, and enter the credentials. Add ClientIDs if you need several business units.
- Browse the tables: your data extensions appear by name next to standard objects like Email.
- Query with
ExactTargetCommand, set a generous CommandTimeout for large extensions, and add your license key before deploying.
Before you buy
- Buy Now opens the order page with one Developer license. A job running on a server needs the Server edition ($799.95), and a product you distribute needs OEM. You pick the edition, a 1-, 2- or 3-year update term and premium support there.
- The license is perpetual, so the purchased version keeps running after the update year.
- Devart's ordering FAQ refunds within 30 days only when a technical problem defeats its support, so test your largest data extensions and your authentication method during the trial.
Where it falls short
- Big extensions need a longer timeout. Commands time out after 60 seconds by default. A 2016 user's downloads kept failing at about 2.4 million rows until CommandTimeout was raised (0 means no limit).
- Data extension names must match exactly. SSIS users of Devart's Marketing Cloud engine hit "Object ... does not exist" errors, and Devart's first checks were Support Extension Objects and the exact name, including Unicode characters.
- Mixing Devart products can block upgrades. One user couldn't update Devart's SSIS components because the shared assemblies would break his separately licensed dotConnect for Salesforce.
- App Center authentication is a dead end. It works only with packages created before August 2019. New setups must use OAuth or server-to-server.
What Users Say
Review directories have no rated reviews for this provider. The public record is Devart's forum, from users of dotConnect and of Devart's SSIS components for Marketing Cloud, which share the same engine.
dotConnect for ExactTarget user, March 2016
A Minneapolis developer (DS@TDI) wrote: "We're having issues with downloads from data extensions consistently failing around 2.4 million records. We're able to complete these downloads using calls from the Fuel SDK, but would prefer to use dC/ET because of the number of downloads we have to do and its ease of use." Devart's engineer (Pinturiccio) replied the next day that the command's CommandTimeout, 60 seconds by default, controls this, and that "a value of 0 indicates no limit."
SSIS components user, January 2020
Another user (claudio.silva) had a data extension that "appears in the list of objects and to which I can make queries in the query editor, but when I execute the ETL an error is generated, indicating that the object does not exist." Devart's admin (Shalex) created a data extension with the same name in Devart's own account, read it successfully with the newest build, and suggested testing that build on a separate machine. The user was stuck on an older version because upgrading would break his separately licensed dotConnect for Salesforce. In April 2021 another user (robPreston) reported the same error after it appeared overnight in production.
The theme: people pick the provider because it's easier than Salesforce's Fuel SDK for bulk data extension work, and the problems they report are about scale (timeouts on millions of rows) and versioning across several Devart products, not about wrong data.
Comparisons
vs. Salesforce's Fuel SDK and the Marketing Cloud APIs
Salesforce's own SDK and APIs are free and reach everything, including REST-only features. They also mean writing SOAP retrieve requests, continuation handling and object mapping for every data extension. The provider wins on data extension work and SQL joins, and the forum user above preferred it over the Fuel SDK for that reason. For REST-only features, use Salesforce's APIs directly.
vs. dotConnect for MailChimp
Devart's Mailchimp provider is the counterpart for small-business email. Same price and licensing. Choose by platform: Marketing Cloud for enterprise data extensions and business units, Mailchimp for audiences and campaigns.
Editions and Pricing
| Edition | Price | Licensed for |
| Developer (pre-selected by Buy Now) | $339.95 | One developer's development and testing |
| Server | $799.95 | One server inside your organization |
| OEM for 10-100 devices | $4,999.95 | Redistribution in your application |
| Site, OEM for 100+ devices | Listed on the order page | Company-wide use or broader distribution |
FAQs
Is dotConnect for Salesforce Marketing Cloud the same as dotConnect for ExactTarget?
Yes. dotConnect for Salesforce Marketing Cloud is the renamed dotConnect for ExactTarget. Its classes, assemblies and product URL still use "ExactTarget".
Which authentication should I use with dotConnect for Salesforce Marketing Cloud?
For a new integration, use server-to-server with an enhanced installed package's Client Id and Client Secret plus your Subdomain. dotConnect for Salesforce Marketing Cloud also supports refresh-token OAuth and API user name and password, while App Center client works only for packages created before August 1, 2019.
Where do I find my Subdomain for dotConnect for Salesforce Marketing Cloud?
dotConnect for Salesforce Marketing Cloud needs the 28-character tenant subdomain that starts with "mc". You'll see it in the browser's address bar after you log in to Marketing Cloud.
Can dotConnect for Salesforce Marketing Cloud write to data extensions?
dotConnect for Salesforce Marketing Cloud supports INSERT, UPDATE and DELETE statements, and data extensions appear as tables, so writes are plain SQL. What's allowed still depends on the extension's own settings in Marketing Cloud, such as its primary key, so try your exact write pattern during the trial.
Does dotConnect for Salesforce Marketing Cloud work with Salesforce CRM?
No. dotConnect for Salesforce Marketing Cloud connects only to Marketing Cloud. Devart sells a separate dotConnect for Salesforce for Sales Cloud and Service Cloud data.
Can I make a dotConnect for Salesforce Marketing Cloud connection faster?
Often, yes. If you don't need data extensions, set Support Extension Objects to false, which Devart says improves connection performance. Selecting only the columns you need also helps.
System Requirements
- .NET 5 to 11, .NET Core 2.0 to 3.1, .NET Standard 2.0/2.1, or .NET Framework 4.5 to 4.8
- Windows, Linux or macOS. Visual Studio 2015 to 2026 design-time integration on Windows
- A Salesforce Marketing Cloud account with an API user or an installed package
Conclusion
dotConnect for Salesforce Marketing Cloud is worth $339.95 to .NET teams that move data extension data in and out of Marketing Cloud, especially across several business units. The reason to buy is that data extensions behave like database tables, with current server-to-server authentication and cross-unit queries, which is much less work than the Fuel SDK. The reason to hold back is fit: in-platform jobs are better done in Automation Studio, SSIS shops should use Devart's SSIS components, and REST-only features aren't its strength. Plan for the $799.95 Server license if it runs on a server, and test your largest extensions during the 30-day trial.
Download Free TrialBuy Now