2010-06-01 45 views
0

幾年前,我遇到了這個問題,並希望有一個解決方案,我只是不知道它。我在SSIS包的控制流中使用'執行SQL任務'來檢索'bigint'ID值。該任務應該把它放在一個Int64 SSIS變量中,但是我得到錯誤:「被分配給變量」User :: AuditID「的值的類型與當前變量類型不同。變量在執行期間可能不會改變類型。類型是嚴格的,除了Object類型的變量。「如何從數據庫中檢索bigint並將其放入SSIS中的Int64中

幾年前,當我將這件事帶給MS的時候,他們表示我必須通過將bigint放入SSIS對象變量中,然後根據需要將值轉換爲Int64來解決此問題。有誰知道這是否已經修復,還是我還需要'解決'這個混亂?


編輯:

服務器統計

  • 產品: Microsoft SQL Server企業版
  • 操作系統:的Microsoft Windows NT 5.2(3790)
  • 平臺: NT INTEL X86
  • 版本: 9.00.1399.06

回答

0

我只是能夠在BIGINT拉進一個Int64不使用的ExecuteSQL任務的問題。如果你的結果集是單行的,確保你在ExecuteSQL任務中設置它。如果你的結果集是多行,那麼你需要爲結果集使用一個對象類型變量,然後你可以在你的循環結構中設置變量。我不認爲這是一種「解決方法」,因爲一組BIGINT值不同於BIGINT。

我在SQL 2008上,但是無論源數據如何,SSIS都應該處理(大部分)相同的事情。

相關問題