IN A NUTSHELLMapInfo version 15.2.4 uses
different INSERT syntax to MapInfo 8.5 when editing data in an Oracle view - and the syntax causes an Oracle error every time.
Is there a configuration option or other workaround to prevent MapInfo 15.2.4 from using this new syntax? (The old syntax worked perfectly well and allowed Oracle views to be edited.)
Or am I missing something altogether?
DETAILSUsing MapInfo version 8.5, entering new records into a linked TAB file based on an Oracle view works as expected - as it has done for many years. New records are created and available upon save and refresh. Empty attribute fields are ignored, as expected.
Using MapInfo version 15.2.4, editing the same linked TAB file, based on the same Oracle view, fails whenever any attribute fields are left empty. The error message is as follows:
"Oracle Error: ORA-32575: Explicit column default is not supported for modifying views. Operation cancelled."

Looking at an Oracle trace file of the transaction, the INSERT statement syntax used by version 8.5 uses
NULL for all attribute columns which are created empty.
In version 15.2.4, the INSERT statement uses the
DEFAULT keyword for all attribute columns which are created empty.
This raises the Oracle error because this syntax is not supported when editing Oracle views - as distinct from Oracle tables.Version 8.5 Syntax
INSERT INTO "GISDB"."MIV_ROADS_PROPOSED" ("NAME", "OWNER", "CONSTRUCTION",
"CONSTRUCTION_DATE", "COMMENTS", "CLASS", "CONDITION", "WIDTH_METRES",
"USAGE", "ROUTE_PRIORITY", "CLEANUP_RESPONSIBILITY",
"MAINTENANCE_RESPONSIBILITY", "REHABILITATION_DATE", "OBJECT_TYPE",
"SOURCE", "ACCURACY", "CREATED_BY", "CREATED_DATE", "UPDATED_BY",
"UPDATED_DATE", "MI_PRINX", "OPERATOR", MI_STYLE, "GEOLOC")
VALUES
('James Street', 'Test', 'Gravel', TO_DATE('2012-11-06', 'YYYY-MM-DD'),
'THis is an example',
NULL,
NULL, 12, 'Unknown', 0,
NULL, 'Test',
NULL,
'L_PROAD', 'Unknown operator using Portable at: 06-Nov-2012 12:24:39',
'High', 'GISDB', TO_DATE('2012-11-06', 'YYYY-MM-DD'), 'GISDB',
TO_DATE('2014-03-19', 'YYYY-MM-DD'), 13550,
NULL, 'Pen (17, 5, 16711935)',
:1)
Version 15.2.4 Syntax
INSERT INTO "GISDB"."MIV_ROADS_PROPOSED" ("NAME", "OWNER", "CONSTRUCTION",
"CONSTRUCTION_DATE", "COMMENTS", "CLASS", "CONDITION", "WIDTH_METRES",
"USAGE", "ROUTE_PRIORITY", "CLEANUP_RESPONSIBILITY",
"MAINTENANCE_RESPONSIBILITY", "REHABILITATION_DATE", "OBJECT_TYPE",
"SOURCE", "ACCURACY", "CREATED_BY", "CREATED_DATE", "UPDATED_BY",
"UPDATED_DATE", "MI_PRINX", "OPERATOR", "MI_STYLE", "GEOLOC")
VALUES
('Dave Street', 'Test', 'Gravel', TO_DATE('2012-11-06', 'YYYY-MM-DD'),
'THis is an example',
DEFAULT,
DEFAULT, 12, 'Unknown', 0,
DEFAULT, 'Test',
DEFAULT,
'L_PROAD', 'Unknown operator using Unknown platform at: 08-Nov-2012 15:49:49; QA by GISDB',
'High', 'GISDB', TO_DATE('2012-11-08', 'YYYY-MM-DD'), 'GISDB',
TO_DATE('2014-03-19', 'YYYY-MM-DD'), 13553,
DEFAULT, 'Pen (17, 5, 16711935)',
:1)
Error encountered: ORA-32575
I look forward to any insights, suggestions or advice.
Cheers!