【问题标题】:how to execute PLSQL script from tOracleRow component using Talend?如何使用 Talend 从 tOracleRow 组件执行 PLSQL 脚本?
【发布时间】:2020-12-15 04:33:18
【问题描述】:

我是 Talend 的新手。我正在使用 Talend 6.5.1 版本和 Oracle 11。 我在 Oracle 中创建了一个简单的表。

表 DDL:

CREATE TABLE test(id NUMBER);

现在,我正在使用以下 Talend 工作流程插入记录。

tOracleConnection ---On Component Ok ---> tOracleRow_1

我可以通过提供 PLSQL 查询来插入记录。

PLSQL 查询:

" BEGIN 
 INSERT INTO test(id) values(1);
 INSERT INTO test(id) values(2);
 INSERT INTO test(id) VALUES(3);
 END; "

直到这一切都很好。

现在,我想自动执行此操作,以便将这些 PLSQL 查询放入一个文本文件中。 然后,我会将文件的内容作为字符串读取,并将该字符串传递给 tOracleRow 组件。

为此,我准备了以下 Talend 工作流程。

    tOracleConnection --- On Component Ok ---> tFileInputRaw(reading PLSQL file) --- 
--- row1(Main) --> tJavaRow(logging purpose) ---row2(Main) ---> tOracleRow_1

在执行此作业时,我遇到了 SQLException。

组件 tOracleRow_1 中的异常:java.sql.SQLException:无效 SQL 类型:sqlKind = UNINITIALIZED

如果有人已经遇到过这样的问题,请提供您的建议。

提前致谢。

【问题讨论】:

    标签: java oracle oracle11g talend


    【解决方案1】:

    此问题已解决。

    实际上,在 PLSQL 查询文件中,我们不需要用双引号括起来的查询。

    因此,您的 PLSQL 查询将如下所示。

     BEGIN 
     INSERT INTO test(id) values(1);
     INSERT INTO test(id) values(2);
     INSERT INTO test(id) VALUES(3);
     END;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-07
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多