Using Mailchimp data access provider with UniDAC in Delphi

This article provides a brief overview of the Mailchimp cloud provider for UniDAC used to access Mailchimp from Delphi and Lazarus. You will find the description of some useful features and how to get started quickly.


Main features of Mailchimp cloud provider are:

The full list of Cloud provider features can be found on the UniDAC features page.

Both Professional and Standard Editions of UniDAC include the MailChimp cloud provider.


Mailchimp cloud provider supports Mailchimp data types and API.


Applications that use the Mailchimp cloud provider require Devart ODBC Driver for Mailchimp to be installed on the client computer. The driver is sold and distributed separately from UniDAC.


When an application was built without runtime packages (Link with runtime packages set to False in Project Options), you do not need to deploy any BPL files with it. For more information, see Deployment.
Note that UniDAC Trial requires deployment of additional BPL files regardless of Link with runtime packages.

Connecting to Mailchimp

To connect to Mailchimp using Devart ODBC Driver, you should configure the driver and set up a DSN. In the TUniConnection component, specify the following parameters:

For more information on how to obtain an API Key, see the article.

Mailchimp-specific options

Though UniDAC is components that provide a unified interface to work with various cloud services, it also lets you tune behaviour for each cloud individually. For thin setup of a certain cloud, UniDAC provides specific options. These options can be applied to such components as TUniConnection, TUniQuery, TUniTable, TUniStoredProc, TUniSQL, TUniScript via their SpecificOptions property. SpecificOptions is a sting list.

Below you will find the description of allowed options grouped by components.


Option name Description
ApiKey Your Mailchimp API Key (token).
ApiVersion Used to specify the Mailchimp API version. The choice of the API version will impact the scope of Mailchimp objects and fields available to you.

Supported values:

Mailchimp API 2.0. will be used.

apiVer3 (default)
Mailchimp API 3.0. will be used.
ConnectionTimeout The time to wait for a connection to open before raising an exception.
MergeCustomFields Use the option to specify how custom fields(merge tags) are handled when working with the ListMembers table.

Supported values:

Merge tags are not read from Mailchimp.

mcfJoinCommon (default)
Merge tags are read from Mailchimp, but only the tags that are defined for all the Lists are joined to other ListMembers table columns. Other tags are ignored.

All the merge tags are joined to other ListMembers table columns. If a merge tag is not defined for the list that a list member belongs to, NULL value is returned for the corresponding column of the list member.
UseMergeTagAsFieldName Determines whether to use merge tag values as column names for Mailchimp merge tags instead of merge tag labels. The default value if False.
UseUnicode Enables or disables Unicode support. Affects character data fetched from the server. When set to True, all character data is stored as WideStrings, and TStringField is replaced by TWideStringFiled.
UTCDates Use the UTCDates option to return the datetime values from the data source as UTC values.

Proxy connection options

Option name Description
ProxyPassword If Proxy User authorization is used, specify Proxy user password in this option.
ProxyPort Specify the Proxy port here. You can learn Proxy Port in the same way as described above for the host.
ProxyServer If you are using Proxy for connection to your network, specify the Proxy server address in this option.
To learn your Proxy server address, open Control Panel->Internet Options->Connections->LAN settings.
ProxyUser If Proxy User authorization is used, specify Proxy user name (ID) in this option.


Option name Description
CommandTimeout The time to wait for a statement to be executed.

TUniQuery, TUniTable, TUniStoredProc

Option name Description
CommandTimeout The time to wait for a statement to be executed.
ExtendedFieldsInfo If True, an additional query is performed to get information about the returned fields and tables they belong to. The default value is False.
FetchAll If True, all records of a query are requested from database server when the dataset is being opened.
If False, records are retrieved when a data-aware component or a program requests it. The default value is False.
FieldsAsString If set to True, all non-BLOB fields are handled as strings. The default value is False.
UnknownAsString If set to True, all Mailchimp data types that are fetched as text and don't have the size limit, are mapped to TStringField with the default size 8192 bytes. If False (default value), such types are mapped to TMemoField. The TEXT data type is always mapped to TMemoField regardless of the value of this option.


The TUniDump component has no Mailchimp-specific options.


The TUniLoader component has no Mailchimp-specific options.


The TUniDump component has no Mailchimp-specific options.

© 1997-2022 Devart. All Rights Reserved. Request Support DAC Forum Provide Feedback