西班牙
斯潘4
你好。
我知道fme本身是区分大小写的,但我刚刚让它报告了更新操作中的一些奇怪错误。
显然,在一个不区分大小写的数据库中,有5个具有相似名称的字段的拼写是不同的。例如。一个字段是“imagefile”,另一个是“imagefile1”。重命名属性当然修复了这个问题。
在那之前,它出错了,因为我试图用fme确定为“varchar(200)”的值(在attributemanager中创建)更新“varchar(250)”类型的字段。是的,真的。
最后,fme出错是因为特性中有额外的属性,而这些属性不在数据库表中。而不是无视他们,这真的应该是一个选择。移除它们解决了这个问题。
用较小的值更新较大的字段也应该被接受,而不是抛出错误。
fme在将数据推送到目标数据库之前,已经向它提示各种信息。如果要求同时使用“sys.[database s]”和“sys.[fn_helpcollations]()”检查数据库的大小写设置,如果不区分大小写,则忽略字段名大小写,这是否太过分了?
只是我星期四的悲哀。
干杯
就我个人而言,我认为当写入现有数据库表是为了从未在fme中键入字段名或数据类型。
让fme为您做繁重的工作,并从数据库中导入特征类型定义。这确实是确保一切顺利运行的唯一方法,特别是如果有表或字段名不符合“防愚”数据库命名约定,即仅限7位ascii字母、数字和下划线。
如果可能的话,我的一般建议是只使用小写A-Z区加强调和数字对于默认使用小写名称的数据库,例如postgresql,只使用大写A-Z区加强调和数字对于默认为大写的数据库,例如神谕。请不要使用混合大小写、国际字符或空格,除非你想让敌人或你自己的生活变得比需要更困难;-)
?2019安全亚搏在线软件公司|合法的