2014-03-26 85 views
0

我在SSIS中遇到了一些麻煩。我有多個表,我想添加Truncate語句,以便表不能創建雙重數據。如何截斷SSIS中的多個表(使用ADO.NET目標和Oracle數據庫)

這是包的圖像,我提出:

http://i63.photobucket.com/albums/h140/cindylolietra/17027495-bb91-4f8c-a660-c5eebab904ba_zps64ac0ad9.png

每個數據流中,我使用平面文件源和ADO NET目的地。

,然後在執行SQL任務我想申請表截斷

http://i63.photobucket.com/albums/h140/cindylolietra/truncate2_zps1b39513d.png

在那之後,我有錯誤消息:

"[Execute SQL Task] Error: Executing the query "truncate table Table1 truncate table Tabl..." failed with the following error: "ERROR [HY000] [Oracle][ODBC][Ora]ORA-00911: invalid character". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly."

什麼,我必須想幹什麼?

P.S 很抱歉,如果我的英語不是很好

+0

有你在改變你的結果集試過嗎?看起來結果集正在導致錯誤。 – Oasis

+0

「TRUNCATE TABLE

」必須是您執行的聲明。如果你想截斷幾個表,你應該在一個循環中執行 - 每個表一個語句。 Oracle正嘗試使用這種語法。 –

+0

@Oasis但問題不在興趣結果集中,但我認爲在SQL語句中。 – cindy

回答

0

請問這句法工作:

truncate table table1; 

truncate table table2; 

注半冒號。

0

由於目的地是你應該使用這個語法Oracle數據庫:

begin 
    execute immediate 'truncate table t1'; 
    execute immediate 'truncate table t2'; 
end; 
+0

謝謝@Marco ..該語法正在工作:)請投我的帖子:D – cindy

相關問題