ORA-06550:NUMBER精度约束必须在实体框架的范围(1 .. 38)内

时间:2017-02-09 11:05:56

标签: c# oracle entity-framework

我在这里被阻止了一个错误,基本上我之前已经创建了一个表,并且对于这个表我创建了一个自动增量(使用下一个Trigger / Sequence);在继续之前我必须说这个表已经在里面的信息,我不知道是否可能是一个问题:

CREATE SEQUENCE  "schema"."sequenceNAme"  MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT BY 1 START WITH 1 NOCACHE  NOORDER  NOCYCLE ;


create or replace TRIGGER T_unique BEFORE INSERT ON table_id
FOR EACH ROW 
BEGIN
  <<COLUMN_SEQUENCES>>
  BEGIN
    IF :NEW.idcolumn IS NULL THEN
      SELECT sequenceNAme.NEXTVAL INTO :NEW.idcolumn FROM DUAL;
    END IF;
  END COLUMN_SEQUENCES;
END;

此ID的DataTypeFloat;

当我尝试从oracle插入表时,它工作正常。

insert into table_id values(null,'Tigrex','test','TestSystem');

这会正确生成自动增量

然后我使用Entity框架将其包含在代码中。它看起来像下一个: enter image description here

但是当我创建对象时,保存我会收到下一个错误:

ORA-06550: line 2, column 26:
PLS-00216: NUMBER precision constraint must be in range (1 .. 38)
ORA-06550: line 0, column 0:
PLS-00707: unsupported construct or internal error [2604]
ORA-06550: line 4, column 21:
PL/SQL: ORA-06544: PL/SQL: internal error, arguments: [2604], [], [], [], [], [], [], []
ORA-06550: line 4, column 1:
PL/SQL: SQL Statement ignored
ORA-06550: line 0, column 0:
PLS-00707: unsupported construct or internal error [2604]
ORA-06550: line 10, column 45:
PL/SQL: ORA-06544: PL/SQL: internal error, arguments: [2604], [], [], [], [], [], [], []
ORA-06550: line 9, column 14:

我尝试的是,将类型更改为实体框架为Int32,同时将precision更改为20(只是为了检查),但我仍然收到相同的错误。

有什么想法吗?

我的下一个想法是创建一个新表,但不是最好的解决方案。

谢谢,

0 个答案:

没有答案