none
請問 SSIS的執行錯誤 RRS feed

  • 問題

  • 我在 control flow 做了兩個 task : Execute SQL Task 與 Data Flow Task

    單獨執行 Execute SQL Task沒有問題 , 但直接執行 package 就會有以下 error 

    Execute SQL 中是執行以下 SQL

    USE [AdventureWorks2012]
    GO

    CREATE TABLE [HumanResources].[Employeetest](
    [BusinessEntityID] [int] ,
    [NationalIDNumber] [nvarchar](15) ,
    [LoginID] [nvarchar](256) ,
    [OrganizationNode] [hierarchyid] ,
    [OrganizationLevel]  [smallint] ,
    [JobTitle] [nvarchar](50) ,
    [BirthDate] [date] ,
    [MaritalStatus] [nchar](1) ,
    [Gender] [nchar](10) ,
    [HireDate] [date] ,
    [SalariedFlag] [dbo].[Flag] ,
    [VacationHours] [smallint] ,
    [SickLeaveHours] [smallint] ,
    [CurrentFlag] [dbo].[Flag] ,
    [rowguid] [uniqueidentifier] ROWGUIDCOL  ,
    [ModifiedDate] [datetime] ,
    )


    每次測試前都先將 TABLE DROP 掉 , 但試了好幾次單獨執行 Execute SQL 都沒問題 , 

    如果單獨執行後再執行  Data Flow Task 也沒問題 , 

    想請問高手 , 問題出在那裡 ?  謝謝

    2013年1月22日 上午 03:56

解答

  • 以上錯誤是整個Package 時會發生 ,

    當我單獨執行Execute SQL Task , 執行成功後(也就是已經產生資料表),再執行data flow task是不會有錯誤的

    但當先將 table drop 掉 , 再將整個 package 執行 , 就會出現錯誤

    我的 package 中的control flow 其實就是先執行該 Execute SQL Task  , 再執行該data flow task

    看起來是當以 package 執行兩個 task時 ,  Execute SQL Task就會出問題

    我的 control flow 與 data flow 如下圖 , 很簡單 , 就是照書做 , 

    先以Execute SQL Task產生一個與 demo 資料庫中某table結構相同的 table , 再將 demo 資料庫的資料轉進去新建的 table

    因為是初學者 , 也不知道怎麼回事 ,

    很簡單~~把data flow task屬性->DelayValidation =True 即可

    上面我說過,出問題的不是execute sql task而是data flow task...

    順便把execute sql task 加入物件判斷,存在就刪除資料表後重新建立


    保證解答-微軟技術支援服務


    • 已編輯 ricoismeModerator 2013年1月22日 上午 08:35 修改錯字
    • 已標示為解答 MIS110 2013年1月23日 上午 08:14
    2013年1月22日 上午 08:34
    版主

所有回覆

  • 錯誤指出 data flow  task有問題:當要快速載入資料表[HumanResources].[Employeetest]卻找不到該資料表,

    Execute SQL Task執行成功後, 你有判斷該資料表存在後才執行data flow task資料流程嗎?


    保證解答-微軟技術支援服務

    2013年1月22日 上午 07:09
    版主
  • 以上錯誤是整個Package 時會發生 ,

    當我單獨執行Execute SQL Task , 執行成功後(也就是已經產生資料表),再執行data flow task是不會有錯誤的

    但當先將 table drop 掉 , 再將整個 package 執行 , 就會出現錯誤

    我的 package 中的control flow 其實就是先執行該 Execute SQL Task  , 再執行該data flow task

    看起來是當以 package 執行兩個 task時 ,  Execute SQL Task就會出問題

    我的 control flow 與 data flow 如下圖 , 很簡單 , 就是照書做 , 

    先以Execute SQL Task產生一個與 demo 資料庫中某table結構相同的 table , 再將 demo 資料庫的資料轉進去新建的 table

    因為是初學者 , 也不知道怎麼回事 ,

    2013年1月22日 上午 08:04
  • 以上錯誤是整個Package 時會發生 ,

    當我單獨執行Execute SQL Task , 執行成功後(也就是已經產生資料表),再執行data flow task是不會有錯誤的

    但當先將 table drop 掉 , 再將整個 package 執行 , 就會出現錯誤

    我的 package 中的control flow 其實就是先執行該 Execute SQL Task  , 再執行該data flow task

    看起來是當以 package 執行兩個 task時 ,  Execute SQL Task就會出問題

    我的 control flow 與 data flow 如下圖 , 很簡單 , 就是照書做 , 

    先以Execute SQL Task產生一個與 demo 資料庫中某table結構相同的 table , 再將 demo 資料庫的資料轉進去新建的 table

    因為是初學者 , 也不知道怎麼回事 ,

    很簡單~~把data flow task屬性->DelayValidation =True 即可

    上面我說過,出問題的不是execute sql task而是data flow task...

    順便把execute sql task 加入物件判斷,存在就刪除資料表後重新建立


    保證解答-微軟技術支援服務


    • 已編輯 ricoismeModerator 2013年1月22日 上午 08:35 修改錯字
    • 已標示為解答 MIS110 2013年1月23日 上午 08:14
    2013年1月22日 上午 08:34
    版主
  • 太謝謝了

    真的 "data flow task屬性->DelayValidation =True " 就好了ㄟ

    2013年1月23日 上午 08:15