斯潘8
斯潘4
是否可以生成空的FFS文件?
我有一个数据转换过程,其中工作台中使用的一些可选数据集可能不存在。我不想使用忽略失败的读卡器选项,因为如果所需的数据集不存在,我希望翻译出错。如果输入存在,前置工作台通常会生成这些可选的ffs文件,但是如果没有输入,不创建自由流速度。即使工作台没有输入,我也找不到写FFS文件的选项。我还可以将空的ffs文件复制到预期的读卡器位置,但我不知道如何生成一个空的ffs文件。
或者可以用更好的方法来处理?
使用FME桌面2016.1.1.0
仅供参考,我被告知当工作区中的所有读卡器都失败时,会出现失败的读卡器问题。在这种情况下,根本没有数据输入,所以…会发生什么?基本上,如果没有功能进入工作区,那么失败的读卡器参数将被忽略。
这似乎就是你提到的:
如果您将一个不存在的文件路径传递给一个FFS读卡器,它将中止转换,即使忽略失败的读卡器设置为是。
所以…我想知道你是不是用一个阅读器来读取所有这些文件。如果是这样,也许把它分成两个读者。一个读卡器,用于读取所需数据,一个是可选的。这可能会有所帮助。
尽管我认为高桥的解决方案和你可能得到的一样好,另一种方法是,如果不存在任何特性,则第一个工作区将虚拟记录写入FFS(再次,nofeaturestester会有所帮助)。
然后,第二个工作区测试虚拟记录。如果出现,你知道没有真正的投入。
虚拟记录的结构可能与正确的数据相同,但它(例如)的ID是-999,这是很容易测试的,而不是真正的记录。
我仍然认为高桥的解决方案更优雅,但这可能会容易一点。
您好!@特伦特,由FeatureReader读取所需的ffs文件如何?如果你这样做,您可以使用来自FME Hub的FileExistenceChecker Transformer预先检查指定的文件是否存在,或者一个剧本。
我会按照大卫·R的建议使用NoFeaturestester,但是,我只将它附加到所需的特性类型。
假设您有4种特征类型,其中2个是必需的,其中2个是可选的。每种功能类型都可以有一个读卡器,或者单个读卡器可以生成多个功能类型,这无关紧要。
在示例中,所需的特性共享一个公共终结符,但您可以根据缺少的所需功能创建自定义消息
如果您愿意,甚至可以设计一个工作流,如果选项功能不存在,您可以使用F亚搏在线eatureReader在默认或虚拟文件中读取。
我将使用“目录和文件路径名”读卡器检查是否存在ffs(将路径过滤器设置为ffs文件名)。一个nofeaturestester(FME集线器)和一个连接到noinput端口的终结器:
?2019安全亚搏在线软件公司|合法的