This occurs because the DOA has not implemented all the methods of interface IProviderSupport:

{ IProviderSupport }
function PSExecuteStatement(const ASQL: string; AParams: TParams): Integer; overload; virtual;
function PSExecuteStatement(const ASQL: string; AParams: TParams;
var ResultSet: TDataSet): Integer; overload; virtual;
{$IFNDEF NEXTGEN}
function PSExecuteStatement(const ASQL: string; AParams: TParams;
ResultSet: Pointer = nil): Integer; overload; virtual; deprecated 'Use overloaded method instead';
{$ENDIF !NEXTGEN}


When the method is not implemented TDataset throws an exception:

function TDataSet.PSExecuteStatement(const ASQL: string; AParams: TParams): Integer;
begin
Result := 0;
DatabaseError(SProviderSQLNotSupported, Self);
end;

I'm testing in Delphi XE6 and this has not yet been resolved.

Edson Martins