Previous fix for Oracle CLOBS was not properly applied
We had requested a previous fix to the Sql.Generators.Oracle file to handle Clob values which you applied to the code base, but unfortunately a small change to our fix was made when it was applied and now there is an error in the datatype that is returned for CLOBS where we are getting a BLOB and not a CLOB. Please take a look at this method and notice that ftOraBlob is specified but ftOraClob should be specified.
function TOracleSQLGenerator.CreateParam(const paramField: TSQLParamField; const value: TValue): TDBParam; var v: TValue; begin Result := inherited CreateParam(paramField, value); // workaround for FireDAC issue if Assigned(paramField.Column) and (paramField.Column.Length > 2000) then begin if IsNullable(value.TypeInfo) then v := value.GetNullableValue else v := value; if v.IsEmpty or (v.IsString and (v.AsString = '')) then TOracleDBParam(Result).fParamType := ftOraClob <-- Should be Clob not Blob else TOracleDBParam(Result).fParamType := ftWideMemo; end; end;
Please not Original Issue