A customer was unable to query Salesforce Knowledge Base articles from SQL Server. The queries were failing with the error "MALFORMED_QUERY". The workaround was to use SQL Server's OPENQUERY function to execute a pass-through query, which then succeeded. For example, this distributed query:
select * from MYLINKEDSERVER.SF.DBO.KnowledgeArticleVersion where PublishStatus = ''Draft'' and [language] = ''en_US''
was replaced with:
select * from OPENQUERY(MYLINKEDSERVER, 'select * from KnowledgeArticleVersion where PublishStatus = ''Draft'' and [language] = ''en_US'' ')
This illustrates an issue that other customers have faced when using a linked server to work with Salesforce data. Distributed queries such as
SELECT * FROM SALESFORCE.SF.DBO.Account may be modified by SQL Server in such a way that make them invalid for the target data source. This is not the case for queries executed with OPENQUERY.
For a step-by-step tutorial that shows how to connect SQL Server to Salesforce, see this Easysoft article.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.