我在發現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