簡體   English   中英

SSIS數據流任務自動隱式轉換

[英]SSIS Data flow task implicit conversion automatically

我有以下情況:

  1. 我對OLEDB源代碼執行一項數據流任務,使用帶有內部聯接的查詢從源表中獲取數據。 列之一是varchar(8),很少值是浮點數,其余則為int值。
  2. OLEDB目標將以上數據存儲到表中,其中相應列為INT。
  3. 該程序包已部署在SQL Server 2012下,並且SQL Job正在執行此SSIS程序包。
  4. 此SSIS程序包已在我們的一種環境中成功執行,並進行了隱式轉換,但在其他環境中,失敗並顯示轉換錯誤,這是顯而易見的。

因此,我的問題是,為什么它在我們的環境之一中不會失敗。 是否有任何特定於環境,特定於SSMS或特定於SQL作業的設置可以幫助該作業成功完成? 請幫忙。

一個環境中的數據與另一環境中的數據不同。 在失敗的環境中,您有一些varchar數據無法轉換為INT。

根據這篇微軟文章

  • Varchar可以隱式轉換為INT和Float
  • 浮點數可以隱式轉換為INT和Varchar
  • INT可以隱式轉換為Float和Varchar

隱式轉換

我認為您要導入的數據在Varchar列中包含正確的INT和Float值。 另一方面,您嘗試在另一台服務器上導入的數據包含無法轉換的值(可能是特殊字符或其他空格或字母字符,...)。在導入之前,請確保對數據進行了正確的預處理到目的地

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM