Oracle NUMERIC data type without length is generated into DDL wrong


#1

In Oracle you can have NUMERIC data type specified without any specific precision and scale, simply as:
Column_Name NUMBER

When I generate Oracle DDL out of Visual Paradigm it generates for such column values which are unprocesable:
COLUMN_NAME number(19, -127),


#2

Hi,

I cannot reproduce the problem of “number(19, -127)”, could you please tell me how did you create the column?

VP currently does not support number without precision and scale, a workaround is specify “NUMBER” in “User type”.


#3

Sure, I have Oracle table DDL:
create table a(alfa number);

When I reverse it back from database its in the model seen as Number with len 0.

When I generate again out of the model Oracle DDL I get this time not NUMBER without any precision/scale defined, but number(19,-127)


#4

Hi,

Are you reverse from database (not DDL)? I tried but result is number(22). It may related to JDBC driver because we rely on it to retrieve column metadata. Which JDBC driver are you using?


#5

Hi, yes,

so little more detail here, in real oracle database I have column:
NUMBER with no precision specified

I reverse it back (its oracle 11G), I use ojdbc8.jar as JDBC driver.

On reversed model I get NUMERIC 0. (physical diagram in VP)

When I generate DDL:
Postgres - I get numeric(19, -127)
Oracle - I get as well number(19, -127)

Also in your supported list you mention Oracle 9/10, but there is out there 11g, 12c and 18 version of Oracle, looks to me like you are a bit behind a reality with support. And as I mentioned earlier, data mapping is related to specific version of any database engine, its another dimension in configuration.


#6

Hi,

I can reproduce the problem after change driver to ojdbc8.jar.
We’ll followup and provide a hotfix once it was fixed.


#7

Cool, thx.


#8

Hi ArchenROOT,

I would like to let you know the unable to generate DDL for number without precision and scale problem has been fixed and please update the software to latest patch build (20190230dr or later) to get the problem fixed. Details about update to latest patch can be found at

  • Please make sure you have pressed the “Update to latest patch” button on the left hand side of the dialog right after launching the update program

Feel free to contact me if you require any further information.

Best regards,
Rain Wong