{"record":{"id":"65afbdc7d5c96056","repo":"dbeaver/dbeaver","slug":"target-table-create-or-update-was-canceled","errorCode":null,"errorMessage":"Target table create or update was canceled","messagePattern":"Target table create or update was canceled","errorType":"exception","errorClass":"DBException","httpStatus":null,"severity":"warning","filePath":"plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/DatabaseTransferUtils.java","lineNumber":218,"sourceCode":"                return new DBEPersistAction[0];\n            }\n        }\n        monitor.subTask(\"Validate table structure table '\" + containerMapping.getTargetName() + \"'\");\n        if (USE_STRUCT_DDL) {\n            try {\n                final List<DBEPersistAction> actions = new ArrayList<>();\n                generateStructTableDDL(monitor, executionContext, schema, containerMapping, actions, changedProperties);\n                if (hasExtraTargetStructure) {\n                    Collections.addAll(actions, consumerSettings.generateExtraTargetTableDDL(\n                        monitor, executionContext, schema, containerMapping));\n                }\n                return actions.toArray(DBEPersistAction[]::new);\n            } catch (DBException e) {\n                DBWorkbench.getPlatformUI().showError(\"Can't create or update target table\", null, e);\n                if (!DBWorkbench.getPlatformUI().confirmAction(\n                    \"Generate DDL automatically\",\n                    \"Do you want to create or update target object with auto-generated SQL script?\")) {\n                    throw new DBException(\"Target table create or update was canceled\");\n                }\n            }\n        }\n\n        // Struct doesn't work (no proper object managers?)\n        // Try plain SQL mode\n\n        DBPDataSource dataSource = executionContext.getDataSource();\n\n        String tableName;\n        if (containerMapping.getMappingType() == DatabaseMappingType.create) {\n            tableName = getTransformedName(dataSource, containerMapping.getTargetName(), false);\n        } else {\n            tableName = DBObjectNameCaseTransformer.transformName(dataSource, containerMapping.getTargetName());\n        }\n        containerMapping.setTargetName(tableName);\n\n        if (CommonUtils.isEmpty(tableName)) {","sourceCodeStart":200,"sourceCodeEnd":236,"githubUrl":"https://github.com/dbeaver/dbeaver/blob/1e5ee1042bc61661368942aece126f3e67049955/plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/DatabaseTransferUtils.java#L200-L236","documentation":"Struct-based DDL generation failed; DBeaver showed an error and asked whether to fall back to auto-generated plain SQL; the user declined, so the operation aborts. This is a user-driven cancellation of the DDL fallback path.","triggerScenarios":"generateStructTableDDL throws a DBException inside the try block, then DBWorkbench.getPlatformUI().confirmAction(...) returns false.","commonSituations":"The driver's struct editor cannot handle the mapping; the user prefers to fix the mapping manually rather than accept generated SQL.","solutions":["Click 'Yes' on the auto-generate prompt to fall back to plain-SQL DDL","Fix the underlying struct-DDL error shown in the preceding error dialog (often one of errors 97/98/99)","Adjust the mapping (columns/types) and retry"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    DatabaseTransferUtils.generateTargetTableDDL(monitor, ctx, schema, mapping, props, settings);\n} catch (DBException e) {\n    if (\"Target table create or update was canceled\".equals(e.getMessage())) {\n        // user declined the SQL fallback; reconfigure mapping and retry\n        log.info(\"User declined auto-generated DDL\");\n    } else {\n        throw e;\n    }\n}","preventionTips":["Address the struct-DDL failure (errors 97/98/99) so the fallback prompt is not needed","Accept the auto-generated SQL fallback when struct DDL fails","Fix column/type mappings before re-running"],"tags":["data-transfer","ddl","user-cancel","fallback"],"backgroundTag":null,"analyzedSha":"1e5ee1042bc61661368942aece126f3e67049955","analyzedAt":"2026-08-13T23:31:13.467Z","schemaVersion":2},"datasetVersion":"2026-08-14T00:17:13.853Z"}