【问题标题】:How to Truncate Multiple Table in SSIS ( using ADO.NET Destination and Oracle Database)如何在 SSIS 中截断多个表(使用 ADO.NET 目标和 Oracle 数据库)
【发布时间】:2014-03-26 06:21:24
【问题描述】:

我在 SSIS 遇到了一些麻烦。我有多个表,我想添加 Truncate 语句,以便表不能创建双数据。

这是我制作的包裹图片:

每个数据流,我使用平面文件源和 ADO NET 目标。

然后,在执行 SQL 任务中我想应用截断表

之后,我收到错误消息:

“[执行SQL任务]错误:执行查询”截断表Table1 truncate table Tabl...”失败,出现以下错误:“ERROR [HY000] [Oracle][ODBC][Ora]ORA-00911:无效字符”。可能 失败原因:查询有问题,“ResultSet”属性未设置 正确,参数设置不正确,或连接未建立 正确。”

我必须要做什么?

附言 对不起,如果我的英语不好

【问题讨论】:

  • 您是否尝试过更改结果集?似乎结果集导致了错误。
  • "TRUNCATE TABLE " 必须是您执行的语句。如果你想截断几个表,你应该在一个循环中进行 - 每个表一个语句。您尝试使用的 Oracle 中没有这样的语法。
  • @Oasis 但问题不在于兴趣结果集,但我认为在 SQL 语句中。
  • @DmitryNikiforov 是的,我尝试为一张表创建一个执行 SQL 任务。但是还有其他方法吗?
  • 感谢@realspirituals 编辑了我的帖子。很有帮助

标签: sql oracle ssis ado.net truncate


【解决方案1】:

由于目标是 Oracle 数据库,您应该使用以下语法:

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

【讨论】:

  • 谢谢@Marco.. 语法有效:) 请投票给我的帖子:D
【解决方案2】:

此语法是否有效:

truncate table table1;

truncate table table2;

注意分号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    相关资源
    最近更新 更多