当前位置: 首页 > 知识库问答 >
问题:

Talend中的动态就业创造问题

寇坚成
2023-03-14

我得到了这样的要求,创建一个Talend作业,动态读取多个表并写入多个文件(当我们通过上下文变量给出一个tablename时,作业应将该表作为select*from tablename并写入文件tablename.txt)

我在toracle输入阶段给出的oracle查询-

"SELECT *  FROM '"+context.Table_Name+"'"

在上下文变量部分

Table_Name-    String-   checked Prompt for value for dynamic table name

在Oracle表的元数据定义中,我给出了

Type="dynamic" db type="varchar2"

面临的问题:

>

  • 作业未标识上下文变量

    ORA-00903: invalid table name
    Exception in component tOracleInput_1
    java.sql.SQLSyntaxErrorException: ORA-00903: invalid table name
    
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
    

    但当我硬编码表名时,作业运行良好

    我给出的目标文件路径为

    "C:/Talend/OutputFIles/context.Table_Name.txt"
    

    我得到的不是上下文变量的值,而是context。表格名称。txt作为文件名!!!

    请帮我做这个

  • 共有1个答案

    韩华美
    2023-03-14

    您是否尝试删除表名周围的
    尝试以下操作:
    “选择*自”上下文。表\u名称

    同样对于文件名构造,你应该写:
    "C:/Talend/OutputFIles/"上下文。Table_Name". txt"更好的是,您应该有一个上下文变量定义的路径名,给出:
    上下文。输出路径上下文。Table_Name. txtTRF

     类似资料:
    • 我想让我的子组件有一个ref,但是我不希望用户在创建组件时必须指定ref。所以说我有这样的东西: 我希望父组件能够访问子组件的状态。最简单的方法是为每个组件添加一个ref,但我希望这是在函数中完成的,以便从最终用户那里抽象出它,因为我希望这些组件被通用化。 有没有一种干净的方法可以让父组件访问子组件的状态,例如当创建子组件时,您有以下内容: 因此,在父类内部,我可以执行以下操作: 因此,我希望能够

    • 石英2.2 我在运行时动态创建和调度Quartz作业,并将Quartz配置为JDBC-Job-Store。这些作业需要在应用程序执行之间保持不变。在作业执行期间,我需要访问完整的Spring上下文(Spring管理的bean和JPA事务)。 然而,如果我试图将任何东西自动加入到我的工作中,那么我会得到一个错误,比如…“通过字段MyAutowiredField表示的不满足的依赖项” 我想不通。我已经

    • 如果一段时间后出现故障,是否有办法自动重新运行作业(例如:当连接失败时,在10分钟后重试一次)?我搜索了互联网,但我确实找到了任何结构化的解决方案,我真的被这个问题困住了。 这在塔伦德是可以实现的吗?如果是,要使用的组件是什么,以什么顺序?提前谢谢你。

    • 当然,当我执行这项工作时,它失败了,我被困住了...我真的很感激,如果谁已经与rundeck执行塔伦德乔布斯可以帮助我!

    • 上面是一段代码,它以某种形式出现在我即将进行的一次考试的过去试卷中。这个问题的想法是衡量你是否完全理解多态性,动态和静态铸造。面向对象的基本思想。 我想把我认为正确的东西拿出来,如果人们能纠正我或补充一点,我将不胜感激。 我看不出任何与上面代码相关的其他观点。

    • 我有一个在塔伦德创建序列的要求。基本上,记录来自源文件。对于每个源行,我希望创建一个唯一的数字。这就是事情变得复杂的地方。当第二天出现新文件时,talend应该选择最后生成的数字,然后用1递增它。对于EX:今天,最后生成的序列号是100。明天talend应该从100生成序列号。即101,102,103,104....这意味着talend应该保留以前生成的最后一个序列号的历史记录。 谢谢

    • 问题内容: 我们需要创建SQLAlchemy类来访问多个外部数据源,这些数据源会随着时间的推移而增加。我们为核心ORM模型使用了声明式基础,并且我知道我们可以使用autoload = True手动指定新的ORM类,以自动生成映射。 问题是我们需要能够采用以下方式动态生成它们: 并动态地将其转换为如下所示: 我们不希望类的持久时间长于打开连接,执行查询然后关闭连接所需的时间。因此,理想情况下,我们可

    • 为了将数据从Ms sql Server2008传输到Snowflake,我使用了talend,但每次我都错误为 如果我在没有双引号的情况下手动执行相同的查询,它的工作很好,你能让我们知道这个问题的解决方案吗 talend在snowflake中执行的查询供参考