Effacer les filtres
Effacer les filtres

Problem writing decimal number to Oracle DB number field

7 vues (au cours des 30 derniers jours)
Christoph
Christoph le 16 Mar 2016
I am having problems writing numeric values to a database using the DB toolbox. Consider the following example:
conn = database.ODBCConnection('DB','user','pw');
arrColnames = {'IDENT','VAL'};
arrData = {'A' 1;'B' 0.1};
insert(conn,'MYTABLE',arrColnames,arrData);
Where the table is created on an Oracle database as:
CREATE TABLE MYTABLE
( "IDENT" VARCHAR2(4000 BYTE),
"VAL" NUMBER
);
Now the insert command works fine for integer values (entry 'A' in my array), but for numbers with after-comma digits I get the following error ('Ungültige Zahl' means invalid number):
Error using database.ODBCConnection/insert (line 264)
ODBC Driver Error: [Oracle][ODBC][Ora]ORA-01722: Ungültige Zahl

Réponse acceptée

Christoph
Christoph le 18 Mar 2016
I actually managed to solve it myself. For some reason, the database does not accept NUMBER-fields created without a scale (= number of after-comma digits). It works if you provide a scale explicitly:
CREATE TABLE MYTABLE
( "IDENT" VARCHAR2(4000 BYTE),
"VAL" NUMBER(*,5)
);

Plus de réponses (0)

Tags

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by