當我使用「執行腳本行」上述語法語法(MS SQL)一步......它顯示成功但臨時表沒有被創建。 Plz幫助我解決這個問題。如何創建臨時表使用(選擇*從成表## TEMP)使用Pentaho的數據集成
0
A
回答
1
是的,你看到的行爲正是我所期望的。它在TSQL提示符下正常工作,在轉換中不會引發錯誤,但轉換完成後該表不存在。
這裏的問題是PDI轉換的執行模型。運行轉換時,每個步驟都會獲得自己的執行線程。在啓動時,任何需要數據庫連接的步驟都有其獨特的連接。處理完成後,所有步驟都從數據庫斷開。這包括定義臨時表的連接。一旦發生這種情況(定義的連接超出範圍),臨時表將消失。
請注意,這意味着在轉換中(與作業相對),您無法假定任何特定順序的完成(無Blocking Steps
)。
我們還沒有很多細節對你試圖用這個臨時表做什麼,以及如何你使用它的數據,但我懷疑你想要的內容之外您的轉換堅持。在這種情況下,你有一些選擇,但是像這樣的全局臨時表根本不起作用。
選項浮現在腦海:
- 轉換臨時表到永久表中。這是最簡單的 解決方案;你基本上正在製作一個臨時表,用一個步驟(或其他)加載它,然後用
Table Input
步驟在其他變換中讀取它。 - 將表格內容寫入臨時文件,其格式類似於
Text File Output
或Serialze to File
步驟,然後從 其他變換中讀回它。 - 將行存儲在內存中。這涉及將您的變換包裝在 作業中,並使用
Copy Rows to Results
和Get Rows from Results
步驟。
這些方法中的每一個都有自己的優點和缺點。例如,在內存中存儲行將比寫入磁盤或網絡更快,但內存可能有限。
這聽起來像你可能會根據你在做什麼ETL Metadata Injection
一步需要另一個步驟。此步驟允許您在很多情況下將元數據從一個轉換動態移動到另一個轉換。請參閱docs以瞭解其中每種方法的工作原理。
如果您想進一步的幫助在這裏,或我做了一個錯誤的假設,請編輯你的問題,你可以添加儘可能多的細節。
相關問題
- 1. 如何使用Pentaho的數據集成到表
- 2. 如何使用PetaPoco創建臨時表?
- 3. 如何使用ifnull創建臨時表
- 4. 使用RPostgreSQL從R中的數據幀創建臨時表
- 5. 使用臨時表創建函數使用這些臨時表返回選擇查詢
- 6. 使用編程生成的數據集創建SQL Server報表
- 7. 使用pentaho數據集成加載事實表 - 減少ktr的運行時間
- 8. 如何用選擇的給定列名創建臨時表?
- 9. MySQL使用auto_increment id創建臨時表並選擇查詢
- 10. 如何從使用PDO或MySqli的臨時表中選擇行?
- 11. 如何從DBMS_REDEFINITION中的(選擇*)代碼創建臨時表
- 12. 使用sas數據集中的值在數據庫中創建臨時表
- 13. 存儲過程使用臨時表創建數據透視表
- 14. Pentaho的數據集成
- 15. 從多個表中選擇行時使用sql server臨時表
- 16. 如何使用Pentaho和Java生成包含圖表的報表?
- 17. 如何使用codeigniter選擇單選按鈕時生成表單
- 18. 使用臨時表或嵌套選擇從多個表中檢索數據?
- 19. 如何創建臨時表
- 20. Pentaho數據集成映射
- 21. 創建和使用臨時表
- 22. 如何使用Pentaho數據集成(Spoon 4.4)進行星型建模
- 23. 選擇臨時表
- 24. 插入數據到臨時表使用選擇*到
- 25. 安裝pentaho數據集成時出錯
- 26. 使用pentaho數據集成的SQL標識列插入
- 27. 使用每個Pentaho的數據集成作業(釜)
- 28. Amazon Redshift使用Pentaho數據集成的Mysql
- 29. 如何從SQL中的選定數據集創建臨時結果集?
- 30. 創建臨時表
根據[這](http://stackoverflow.com/questions/3887989/global-temporary-tables-in-sql-server)全局臨時表走時,他們都連接走出去的範圍。一旦轉換結束,將不再有臨時表。請告訴我們更多關於你在做什麼以及你想如何使用臨時表。 –
我們使用Select語句而不是table ...例如「select * into ## Temp from(select * from ABC)X」。在此之後,我們使用information_schema.COLUMNS來使用這個全局臨時表來獲取數據類型和列的其他信息。 – user3374000
實際上,如果我們執行select * into ## Temp from(select * from ABC)X;語句直接在MSSQL數據庫中,然後它工作正常,但如果我們嘗試通過Pentaho數據集成(PDI)工具執行它,則全局臨時表不會被創建。此外,PDI也不會給出任何錯誤...它的運行成功,但全局臨時表沒有被創建。請幫我解決這個問題。 – user3374000