Unable to connect to Salesforce Marketing Cloud (SFMC)

Discussion of open issues, suggestions and bugs regarding usage of ODBC Drivers
Post Reply
chownc
Posts: 2
Joined: Wed 20 Apr 2022 22:35

Unable to connect to Salesforce Marketing Cloud (SFMC)

Post by chownc » Wed 20 Apr 2022 23:24

Driver name: ODBC Driver for Salesforce Marketing Cloud
Version: 1.08.01.00
We are currently trialling the Devart ODBC Driver for Salesforce Marketing Cloud (SFMC) on Windows Server 2019 Standard.

We have installed the driver and the set up the ODBC DSN using "App Center Client" authentication, entered the Client ID, Client Secret and Partner IDs.

Image

We have tried both 32 and 64 bit ODBC DSN configurations but the "Test Connection" fails with one of the follow errors.

Image
[Devart] [ODBC] [ExactTarget] Error accessing web service. {
"message": "Unauthorized",
"errorcode": 1,
"documentation":""}
Image
[Devart][ODBC] [ExactTarget] Error accessing web service. {
"message": "This integration is not eligible to use the legacy
/v1/requestToken endpoint because the integration uses
enhanced OAuth 2.0 functionality. To obtain a token for this
integration, use the applicable Marketing Cloud OAuth 2.0
endpoint for authentication. For a web or public app, use
/v2/authorize and then /v2/token. For a server-to-server
integration, use /v2/token."
, "errorcode": 10007, "documentation":""}
Looking at the ODBC trace logs doesn't seem to shine any light on the error messages either.

Error is either this...

Code: Select all

		DIAG [08001] [Devart][ODBC][ExactTarget]Error accessing web service. {
  "message": "Unauthorized",
  "errorcode": 1,
  "documentation": ""
} (0) 

odbcad32        2ef0-11e8	ENTER SQLGetDiagRecW 
		SQLSMALLINT                  2 <SQL_HANDLE_DBC>
		SQLHANDLE           0x000001ECC0EA6140
		SQLSMALLINT                  1 
		SQLWCHAR *          0x00000092E4A783E4
		SQLINTEGER *        0x00000092E4A783E0
		SQLWCHAR *          0x000001ECBF6731D0 
		SQLSMALLINT               8192 
		SQLSMALLINT *       0x00000092E4A783DE

odbcad32        2ef0-11e8	EXIT  SQLGetDiagRecW  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  2 <SQL_HANDLE_DBC>
		SQLHANDLE           0x000001ECC0EA6140
		SQLSMALLINT                  1 
		SQLWCHAR *          0x00000092E4A783E4 [       5] "08001"
		SQLINTEGER *        0x00000092E4A783E0 (0)
		SQLWCHAR *          0x000001ECBF6731D0 [     132] "[Devart][ODBC][ExactTarget]Error accessing web service. {\ d\ a  "message": "Unauthorized",\ d\ a  "errorcode": 1,\ d\ a  "documentation": ""\ d\ a}"
		SQLSMALLINT               8192 
		SQLSMALLINT *       0x00000092E4A783DE (132)

or this...

Code: Select all

		DIAG [08001] [Devart][ODBC][ExactTarget]Error accessing web service. {
  "message": "This integration is not eligible to use the legacy /v1/requestToken endpoint because the integration uses enhanced OAuth 2.0 functionality. To obtain a token for this integration, use the applicable Marketing Cloud OAuth 2.0 endpoint for authentication. For a web or public app, use /v2/authorize and then /v2/token. For a server-to-server integration, use /v2/token.",
  "errorcode": 10007,
  "documentation": ""
} (0) 

odbcad32        2534-3388	ENTER SQLGetDiagRecW 
		SQLSMALLINT                  2 <SQL_HANDLE_DBC>
		SQLHANDLE           0x06855638
		SQLSMALLINT                  1 
		SQLWCHAR *          0x02169EA2
		SQLINTEGER *        0x02169EB0
		SQLWCHAR *          0x055574EC 
		SQLSMALLINT               8192 
		SQLSMALLINT *       0x02169EAE

odbcad32        2534-3388	EXIT  SQLGetDiagRecW  with return code 0 (SQL_SUCCESS)
		SQLSMALLINT                  2 <SQL_HANDLE_DBC>
		SQLHANDLE           0x06855638
		SQLSMALLINT                  1 
		SQLWCHAR *          0x02169EA2 [       5] "08001"
		SQLINTEGER *        0x02169EB0 (0)
		SQLWCHAR *          0x055574EC [     491] "[Devart][ODBC][ExactTarget]Error accessing web service. {\ d\ a  "message": "This integration is not eligible to use the legacy /v1/requestToken endpoint because the integration uses enhanced OAuth 2.0 functionality. To obtain a token for this integration, use the applicable Marketing Cloud OAuth 2.0 endpoint for authentication. For a web or public app, use /v2/authorize and then /v2/token. For a server-to-server integration, use /v2/token.",\ d\ a  "errorcode": 10007,\ d\ a  "documentation": ""\ d\ a}"
		SQLSMALLINT               8192 
		SQLSMALLINT *       0x02169EAE (491)

We've used Postman to test the credentials against the SFMC API as per https://developer.salesforce.com/docs/m ... n-s2s.html and have successfully authenticated and connected using the same API Client ID, Secret and Partner IDs.

Has anyone else experienced issues with setting up the ODBC connection to SFMC?
Are there any additional pre-reqs required in setting up with "API Integration" on the Salesforce platform side?
Grateful for any advice.

Thanks!

chownc
Posts: 2
Joined: Wed 20 Apr 2022 22:35

Re: Unable to connect to Salesforce Marketing Cloud (SFMC)

Post by chownc » Tue 17 May 2022 02:27

For anyone stumbling on this issue, we received a reply from DevArt:-

"Please be informed that the reason of your issue is the usage of the package with OAuth 2.0 API Integration while our driver supports only legacy packages.
We are considering the implementation of the necessary support in one of the further versions."

Post Reply