Yes, you are right. As you said, this is because the **“integer”** data type in Oracle is derived from the **number** data type i.e., number(38) but in Denodo the integer data type is based on the** java int data type** where it holds **2^32** bits of data which is less than that of Oracle integer. Since, an Oracle integer does not fit into a Denodo integer, it will fit into **“Decimal”** in Denodo.
If I want to get the data type as “integer” in Denodo, I would change the oracle data type to **number(9)**, so that in Denodo this field will be of type “integer”.
You can have a look at the [VDP Conformance with Standard SQL](https://community.denodo.com/kb/view/document/VDP%20Conformance%20with%20Standard%20SQL?category=VQL) knowledge base article that contains the information about the equivalent Virtual DataPort data type for SQL data type
Hope this helps!