我在发现Pentaho DI,我被这个问题困住了:Pentaho水壶:如何执行“插入...选择”与SQL脚本步骤?
我想从一个csv文件插入数据到一个不支持“插入表”步骤的自定义数据库。所以我想用sql脚本一步,一个请求:
INSERT INTO myTable
SELECT * FROM myInput
我的转型将是这样的:
我不知道如何从我的所有数据将csv注入到“myInput”字段中。
有人可以帮助我吗?
感谢很多:)
我在发现Pentaho DI,我被这个问题困住了:Pentaho水壶:如何执行“插入...选择”与SQL脚本步骤?
我想从一个csv文件插入数据到一个不支持“插入表”步骤的自定义数据库。所以我想用sql脚本一步,一个请求:
INSERT INTO myTable
SELECT * FROM myInput
我的转型将是这样的:
我不知道如何从我的所有数据将csv注入到“myInput”字段中。
有人可以帮助我吗?
感谢很多:)
当你第一次编辑SQL脚本步,点击“获取字段”按钮。这将会将参数(来自csv的字段)加载到左下角的框中。删除您不想插入的参数(字段)。
在你的sql脚本中写下你的查询,就像这样,问号是你的参数。
insert into my_table (field1,field2,field3...) values ('?','?','?'...);
选中复选框execute for each row
和execute as a single statement
。这是真的。让我知道如果您有任何问题,并且如果您提供示例数据,我会为您提供一个示例ktr文件来查看。
aka r-dub:+1很明确的答案。 – blunders 2010-11-30 03:39:35
使用以下代码 与CTE为 ( SELECT * FROM myInput ) 从CTE选择* 成myTable的 ;
我想你错了。你应该得到一个cvs文件输入步骤和一个表输出步骤。
正如rwilliams所说,在cvs文件输入步骤获取字段;更重要的是,在表输出有一个数据库字段选项卡。输入字段映射是正确的选择。猜测功能是惊人的。
此外,系统可以在目标连接Db服务器中不存在目标表时,生成目标表创建sql语句。
你能提供一些样本数据吗?也有可能知道输出数据库类型是什么,以便它可以被测试? – rwilliams 2010-11-17 23:34:22