-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
oracle module converts NUMBER into NUMERIC(10) #496
Comments
To add from Oracle resources (https://www.oracletutorial.com/oracle-basics/oracle-number-data-type/): "The Oracle NUMBER data type has precision and scale. The precision is the number of digits in a number. It ranges from 1 to 38. "Both precision and scale are in decimal digits and optional. If you skip the precision and scale, Oracle uses the maximum range and precision for the number." As such, we understand that the default "number" where precision and scale are skipped is "number(38,127)"? |
What makes that conversion even more weird is that some of the Oracle NUMBER fields are converted into NUMERIC(10,2). So why dbptk decides for some of the NUMBER fields that these should be integer and some of these should be decimal? Our database statistics: So I understand DBPTK is trying to decide what data type to select on analyzing the content itself? |
I'll investigate this kind of behaviour. Can you provide the Oracle version? |
Oracle Oracle Database 10g Release 10.2.0.5.0 - 64bit Production |
Which version of DBPTK developer are you using? |
DBPTK Developer (version 2.9.10) |
I was unable to reproduce the bug, however I cannot use the same database. I don't have access to a Oracle DB 10g version. @Laurira is there a way to provide me access to an Oracle DB 10g? |
I do not have the access either. The error came up when one of our agencies tried to use the tool. Can you just view the code and see that at the moment Oracle NUMBER is converted to integer which is not the correct behavior. It should be converted to some non-integer format with digits. |
And can I have access to the log and report? You can send directly to my email. So I can analyze it and try to understand why those conversions happened. Either way the actual strategy implement in cases which no metadata information about the column size is provided by the JDBC driver we are are assuming (wrongly) the number is an integer. Although for what I have tested there is no precision loss during the extraction process. |
I do not have your e-mail, but I have skype, so please contact me there. |
Hi, We have the same issue with one of our other agencies. Maybe I was not clear enough that this error occurs during the solr indexing. The creation of SIARD finishes with no errors but when you upload it to the DBPTK Enterprise and click "Browse" then it will be stuck in some point. DBPTK Developer (version 2.10.1) I sent the log and important part from siard file to your (Miguel Guimarães) e-mail with heading "Issue 496". |
Hi, Thanks, |
We discovered that Oracle default field type "NUMBER" is not integer...
It is actually a number with maximum number of digits and scale.
So at the moment dbptk converted Oracle NUMBER -> NUMERIC(10)
So siard is created but it can not be loaded into dbptk for browsing as it tries to insert 14.68 into integer field...
Please see the documentation of Oracle and try to repair the application.
The text was updated successfully, but these errors were encountered: