1、在创建脚本时,使用了如下的脚本创建数据库表
CREATE TABLE APPLY_SHEET (
autonumber varchar2(12) NOT NULL,
applyperson varchar2(10) DEFAULT NULL,
jdtype varchar2(2) DEFAULT NULL,
deptType varchar2(8) DEFAULT NULL,
hotel varchar2(100) DEFAULT NULL,
laibin varchar2(100) DEFAULT NULL,
personcount int DEFAULT NULL,
PRIMARY KEY (autonumber)
);
2、从eos7.5中导入该数据实体。在EOS7开发过程中,可以正常导入,使用该数据实体。
3、开发完成并部署之后,当访问该实体的数据时,始终会报找不到该数据实体。
4、分析原因。
在该过程中,对该问题的整个过程进行了分析,同其他的实体没有什么区别,删除重新建表、重新导入,仍然会出现该问题。多次的处理之后,分析我们的数据实体文件内容。在分析具体的实现内容时,发现了一个特殊的地方,即在导入的该实体配置中,增加了默认的值设置,而其他的数据实体的配置没有默认设置为NULL的情况。
5、解决方案。
根据上面分析的结果,删除表结构信息,删除数据实体。对创表语句进行了修改,修改如下:
CREATE TABLE APPLY_SHEET (
autonumber varchar2(12) NOT NULL,
applyperson varchar2(10),
jdtype varchar2(2),
deptType varchar2(8),
hotel varchar2(100),
laibin varchar2(100),
personcount int,
PRIMARY KEY (autonumber)
);
即在建表语句中,删除了DEFAULT NULL的信息。重新导入数据实体,部署并再访问。一切正常。
6、总结:在我们建库中,一定需要删除DEFAULT NULL信息,否则,会造成数据实体找不到的错误。该错误应该是EOS7的一个bug,但在实际工作中,注意了这点,可以避免遇到类似情况时,找不到原因而无法解决该问题的情况。