在数据整合过程中,可能会由于Arcgis本身的机制问题,导致使用数据字典创建数据库模型后,部分字段类型及长度发生了变化,从而引起数据字典定义的字段属性与数据模型不一致,这不仅影响了后期的入库工作,还会因此产生重复性的修改工作,增加了工作量,为了避免出现此类问题,现将数据类型发生变换的情况总结如下:
1、Float、double、single: 数据字典类型为single、double
长度设置为1-6,在sde创建模型后类型变成float,长度与字典中设置一样; 长度设置为≥7,在sde创建模型变为double,长度与字典中设置一样;
问题处理:如果实际数据为float即可,那么可设置数据字典为single类型,长度根据数据需要,但要≤6;如果实际数据需要为double类型,则数据字典要设置为double,长度根据数据需要,但要≥7。
2、Integer、small integer、short integer: 1)数据字典类型设置为integer
长度为设置≤5时,在sde创建模型后类型变成long integer,sde中长度默认为5; 长度为6-10时,在sde创建模型后类型变成long integer,sde中长度与设置的长度一致; 长度≥11时,在sde创建模型后类型变成double,sde中长度与设置一致;
问题处理:如果实际数据需要为long integer,那么需设置字典为integer,长度根据需要可设置为5-10;如果实际数据长度超出10,则需将数据类型设置为double。
2)数据字典类型设置为small integer,在sde创建模型后类型变成short integer 长度设置为≤5时,sde中长度与设置长度一样; 长度设置为≥6时,sde长度默认为5;
问题处理:如果实际数据为short integer,那么数据字典设置为small integer,长度根据需要,但要≤5;如果实际数据长度超出了5,那么需要根据实际情况调整数据字典的数据类型。
3、Blob
部分字段根据需要可能要设置为blob类型,数据字典中应设置为“esriFieldTypeBlob”,而不应是“Blob”。
4、Clob
关于clob数据类型,暂时了解较少,会在之后添加。
注意:以上的方法可在分中心检查咨询的时候,作为建议;但在主中心综合库做数据字典
修改的时候,以高精度、长位数的原则,也就是说,如果数据字典原来是double型的,但是长度小于6,那么修改长度;如果字典原来是float的,但是长度大于6,那么修改类型为double;
数据字典为int,长度小于5的改成5,长度大于10的,改成double。