SDE_column_registry 表管理所有注册列。
警告:
如果使用 SQL 界面更改列定义,SDE_column_registry 表中的记录将不会更新。这可能导致之后的任何数据导出失败。
SQL Server数据类型与sde_type对照表:
SQLServer类型 | sde_type | column_size | decimal_diits |
nvarcahr(50) | 14 | 50 | 0 |
int | 2 | 10 | NULL |
decimal(15,2) | 4 | 15 | 2 |
datetime | 7 | 0 | NULL |
如果在数据库中修改了字段的类型或长度,必须同时修改表SDE_column_registry,否则arcmap数据显示会不正确。
例如:
在sqlsever设计器中将表M_DWZY_MLCG_DCGX的FW_DM字段长度由原来20改为50。
--修改字段长度
alter table M_DWZY_MLCG_DCGX
alter column FW_DM varchar(50);
update SDE_column_registry set column_size=50
where table_name='M_DWZY_MLCG_DCGX' and column_name='FW_DM';
精度型: [Numeric](10,1)
将面积改为4位小数,蓄积改为1位小数
update SDE_column_registry
set sde_type=4,column_size=10,decimal_digits=4
where table_name='XBM' and column_name='D_MJ'
update SDE_column_registry
set sde_type=4,column_size=10,decimal_digits=1
where table_name='XBM' and column_name='I_XBXJ'
access数据库修改字段长度:
ALTER TABLE LBM ALTER COLUMN C_LB Text(15)
双精度:float (Arccatalog对应double)
单精度: real (Arccatalog对应float)