This question is locked. New answers and comments are not allowed.
I have a table with a primary key that is derived from sys_guid() via a default value, the column type is varchar(32). In the model schema this column is marked true for IsPrimaryKey, IsBackendCalculated, HasDefaultValue. In the model Identity=true, and the table identity mechanism is DatabaseServerCalculated. When I insert into the table I get an ORA-01722: invalid number. I think the root of the problem is the generated command, that looks something like this:
INSERT INTO ... VALUES ... RETURNING "ID_COLUMN" INTO :AutoIncValue
and the Oracle backend (OracleFactory.PrepareAutoinc) sets the type of the AutoIncValue parameter on the command to Int64 regardless of the type of the ID_COLUMN. The same schema/object model settings work flawlessly with MSSQL.
I tried using raw(16) and varchar(32) column types, the results are the same. Is there any viable workaround here? I need to store 16 bytes of relevant info, that won't fit into an 8 byte int64.
INSERT INTO ... VALUES ... RETURNING "ID_COLUMN" INTO :AutoIncValue
and the Oracle backend (OracleFactory.PrepareAutoinc) sets the type of the AutoIncValue parameter on the command to Int64 regardless of the type of the ID_COLUMN. The same schema/object model settings work flawlessly with MSSQL.
I tried using raw(16) and varchar(32) column types, the results are the same. Is there any viable workaround here? I need to store 16 bytes of relevant info, that won't fit into an 8 byte int64.