我想从数据库中获取所有表名,然后从表中获取所有行。所以我创建了一个这样的转换:
- 获取表名:添加数据库连接并将表名存储在名为“tablename”的输出字段中。
- 表输入:标记为“替换脚本中的变量”和“为每一行执行”。在“从步骤插入数据”中添加了第一步。SQL 是“SELECT * from ?”。
我在网上阅读了很多教程,包括文档。
我的问题是它到处都说我是我的“?” 应替换为参数。但这不会发生。以下是日志:2013/06/22 03:33:25 - 获取表名。0 - 开始运行...
2013/06/22 03:33:25 - Postgres 9.1.9 RO - 从 db 元数据中读取:9 个表名.
2013/06/22 03:33:25 - 表 input.0 - 找到查询参数 = [stackexchange2]
2013/06/22 03:33:25 - 表 input.0 - SQL 查询:SELECT * from ?
2013/06/22 03:33:25 - 表 input.0 - 错误(版本 4.4.0-stable,buildguy 从 2012-11-21 16.02.21 构建 17588):意外错误
2013/06/22 03:33 :25 - 表 input.0 - 错误(版本 4.4.0-stable,buildguy 从 2012-11-21 16.02.21 构建 17588):org.pentaho.di.core.exception.KettleDatabaseException:
2013/06/22 03 :33:25 - 表 input.0 - 错误(版本 4.4.0-stable,buildguy 从 2012-11-21 16.02.21 构建 17588):执行 SQL 时发生错误:
2013/06/22 03:33:25 - 表 input.0 - 错误(版本 4.4.0-stable,buildguy 从 2012-11-21 16.02.21 构建 17588):SELECT * from ?
2013/06/22 03:33:25 - 表 input.0 - 错误(版本 4.4.0-stable,buildguy 从 2012-11-21 16.02.21 构建 17588):错误:“$1”处或附近的语法错误
位置:16
2013/06/22 03:33:25 - 表 input.0 - 错误(版本 4.4.0-stable,buildguy 从 2012-11-21 16.02.21 构建 17588):
更新
我只想完成这项工作。我现在正在学习该工具,如果知道如何“?”会很好。作品。