西班牙
斯潘4
我认为这是从FME 2018的第一次发布开始的。
但是,如果我运行工作区,我总是会得到一个警告,说明查询失败是由于格式错误造成的。
您还会注意到,在日志中,FME在我的原始SQL语句周围注入了额外的SQL(可能这就是失败警告的原因)?屏幕截图中的最后一行报告数据读取成功。
所以我的问题是:即使工作空间运行正常,但在检查日志文件时,我始终不能确定SQL语句是否确实存在真正的语法错误,或者是否是FME报告的伪错误。希望它能在未来的版本中得到修复。
你好@peterz,请
这里发生的事情是,当sql被发送到数据库时,fme用语句包装一些额外的sql。这是在尝试使用现代数据类型(如datetime2)获得最终模式时完成的。有时这些额外的查询将失败,在您的情况下,fme试图创建的临时表由于权限而失败。
我希望这有助于解释你所看到的行为!
是的,这是有道理的。
这并不奇怪,你无法控制谁在什么时候做什么。
您可以从一个sql creator中读取所有数据,因为逻辑要求您可以在单个sql脚本中进行合并(例如,使用语句选择2,然后通过选择2来连接它们,或者可以使用由sql创建者触发的sql执行器(而不是读取器),我通常只取一个示例来触发它(使用采样器)。
谢谢你的建议@gio和@david_r,但即使从sqlcreator中删除了注释,问题仍然存在。
不过,我还是设法把它缩小到一个非常奇怪的工作台特性。如果你有SQLCreator以及DataReader在您的工作区中,这是导致日志文件中出现错误错误/警告的原因。
下面是一个简化的工作区,说明了这一事实:
现在,如果我把DataReader在上面的例子中SQLCreator,问题消失,日志文件中不再出现错误警告!(是的,sql语句中的注释是可以的,它可以与它们一起运行)
所有这些的外卖形式:
使用SQLCreator和DataReader在同一个工作区中目标是相同的数据库,在日志文件中显示错误警告。解决方法是使用sqlcreators或datareaders,而不是两者的组合(目标是同一个数据库)。
?2019安全亚搏在线软件公司|合法的