span8
span4
我有一个问题,运行一个SQL语句应该在翻译前执行的ESRI GDB阅读器。SQL语句如下:
FME_SQL_DELIMITER;
从UTARC删除。FCL_FP_GEOD_ALTI_PT_EVW WHERE AUTOMODE = 1 AND OFFSET = $(OFFSET);
…where OFFSET is a published parameter - integer with default value of 50.
返回的错误消息是ORA-00911 -无效字符。
我还尝试将'$(OFFSET)'设置为字符串,但没有区别。
如果我执行
FME_SQL_DELIMITER;
从UTARC删除。FCL_FP_GEOD_ALTI_PT_EVW WHERE AUTOMODE = 1 AND OFFSET = 50;
工作台成功完成。
我想我错过了一些点,我应该如何引用发布的参数在SQL脚本。有人知道是什么问题吗?
预先感谢您的任何建议。
Dušan
你好,
我使用一个已发布的参数来获取一个字符串值,然后将其传递给一个SQL执行器来过滤该值,
我发现,文本返回的值不会被SQL Executor计算为字符串,而是作为一个变量,因为它没有包含撇号,
用撇号括住FME $(…)类型变量是行不通的,因为这样整个变量就会被视为一个字符串,根本不需要计算。对varchar施法也不起作用。
我已经使用了上述的变通方法,一个私有参数调用已发布的参数,返回它,但允许添加封闭的撇号,
当在SQL中调用Private参数时,它会发现值是包含撇号的字符串,
如。发表参数:FindID
私人参数:“$ (FindID) '
SQL代码:table1.ID像美元(FindIDFixIssue)
嗨@ostoja,用户参数似乎不能在阅读器参数设置中直接访问,但如果您创建一个链接到“在转换之前执行的SQL语句”参数的私有参数,则可能可以访问。您可以使用以下方法创建私有参数:右键单击“SQL语句…”参数>,选择“创建用户参数”。
©2019安全亚搏在线软件公司法律