簡體   English   中英

SSIS中DB2壓縮十進制與SQL Server DT_NUMERIC之間的查找轉換

[英]Lookup transformation between DB2 packed decimal and SQL Server DT_NUMERIC in SSIS

我們使用DB2作為主要生產數據庫,但是我們將SQL Server用於許多其他事情,即通過EDI等在其他客戶和供應商之間進行集成。
我在SQL中有一個帶有SO號的表,我嘗試在DB2中進行查詢,以獲取表中SO的所有發票,所以這就是我所做的。

  1. 使用Microsoft®OLEDB Provider for DB2創建了到DB2的連接
  2. 使用SQL Server連接使用源創建了數據流
  3. 添加了一個數據轉換轉換,嘗試將INT so值轉換為精度為12的十進制,但是我無法更改DT_DECIMAL的精度,因此,我可以更改精度的唯一數據類型是DT_NUMERIC。
  4. 添加了一個查找轉換,以使用DB2查找數據。

現在,當我嘗試在源表和DB2之間創建Cannot map the input column, 'so', to the lookup column, 'orno', because the data types do not match.出現錯誤Cannot map the input column, 'so', to the lookup column, 'orno', because the data types do not match.
根據Microsoft的說法,這不是錯誤,建議使用DT_NUMERIC來更改精度。
如果我嘗試在不更改精度的情況下將SO轉換為DT_DECIMAL,則會收到與上述相同的錯誤。

有什么方法可以解決SSIS的限制並更改DT_DECIMAL轉換中的精度,以便我可以進行匹配嗎?

或其他建議?

簡單的答案是更改DB2連接中的連接屬性,以將DECIMAL視為NUMERIC。
見波紋管 在此處輸入圖片說明

暫無
暫無

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

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