Hi,
I have this query:
-------------
select c.xml_collection_id as id, c.name, s.name as sch_name,
(select value from [fn_listextendedproperty] ('MS_Description', 'SCHEMA', s.name,'XML SCHEMA COLLECTION', c.name, null, null)) as description,
(select xml_schema_namespace(s.name,c.name)) as xml_expr
from sys.xml_schema_collections c left join sys.schemas s on s.schema_id = c.schema_id
where (not (c.name = 'sys' and s.name = 'sys'))
-------------
When opening is raised exception class EAssertionFailed with message
'Unknown data type (..\UniDac\Source\MemDS.pas, line 683)'.
MemDS cannot decode/assign field "xml_expr" (select xml_schema_namespace(s.name,c.name))
because Field.DataType is 100. ADO decode this field as ftWideMemo.
Please, how fix this problem in MemDS.pas ?
My temporary quick fix:
---------------------------
class function TDataTypesMap.GetFieldType(DataType: Word): TFieldType;
begin
...
dtMemo:
Result := ftMemo;
100, //@PMal added
dtWideMemo:
Result := {$IFDEF VER10P}ftWideMemo;{$ELSE}ftMemo;{$ENDIF}
dtBlob:
Result := ftBlob;
...
---------------------------
Thank Pavel