在Azure数据工厂中,我想检索salesforce表中所有可能的数据。此外,还包括已归档和已删除的记录。我尝试执行以下操作,但不起作用:
SELECT * FROM test ALL ROWS
Failure happened on 'Source' side. ErrorCode=UserErrorOdbcOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=ERROR [HY000] [Microsoft][Salesforce] (120) SOQL_FIRST mode prepare failure:
SOQL error: [Microsoft][SQLEngine] (31480) syntax error near 'SELECT Id FROM test ALL ROWS<<< ??? >>>'.
SQL error: [Microsoft][SQLEngine] (31480) syntax error near 'SELECT Id FROM test ALL<<< ??? >>> ROWS'.,Source=Microsoft.DataTransfer.ClientLibrary.Odbc.OdbcConnector,''Type=System.Data.Odbc.OdbcException,Message=ERROR [HY000] [Microsoft][Salesforce] (120) SOQL_FIRST mode prepare failure:
SOQL error: [Microsoft][SQLEngine] (31480) syntax error near 'SELECT Id FROM Event ALL ROWS<<< ??? >>>'.
SQL error: [Microsoft][SQLEngine] (31480) syntax error near 'SELECT Id FROM test ALL<<< ??? >>> ROWS'.,Source=Microsoft Salesforce ODBC Driver,'
SELECT FIELDS(ALL) FROM Account
将为您提供允许查看的所有列,但上限为 2000 条记录。如果您想导出更多 - 您需要明确列出列,Salesforce 不支持 *
。
ALL ROWS
仅适用于 apex,Salesforce 的服务器端语言。通过 API,它应该只是您已经在使用的 queryAll
调用。尝试使用 SELECT Id, Name FROM Account WHERE IsDeleted = true
进行 queryAll,它应该会显示 bin 中的记录(如果有)