SQL Server DTS嚮導,欄位轉換出現202和200錯誤

來源:互聯網
上載者:User

標籤:

當使用SQL Server 2012的DTS嚮導(Import and Export Data/匯入匯出資料)時,會出現如下問題:

當來來源資料直接使用表的時候,沒有任何問題

但如果來來源資料是查詢時,就會出現欄位被映射為200(varchar)和202(nvarchar)

據說微軟已經解決了這個Bug:https://connect.microsoft.com/SQLServer/feedback/details/772761/dtswizard-in-sql-2012-sp1-no-longer-recognizes-nvarchar-varchar-data-types-when-source-is-a-query

但事實上我打了補丁還是會報錯。

 

有一個比價方便的Workaround:

開啟DTS的對應檔(對於64位嚮導是C:\Program Files\Microsoft SQL Server\110\DTS\MappingFiles\MSSQLToSSIS10.XML,對於32位嚮導是C:\Program Files (x86)\Microsoft SQL Server\110\DTS\MappingFiles\MSSQLToSSIS10.XML)

編輯如下節點:

<!-- varchar --><dtm:DataTypeMapping ><dtm:SourceDataType><dtm:DataTypeName>varchar</dtm:DataTypeName></dtm:SourceDataType><dtm:DestinationDataType><dtm:CharacterStringType><dtm:DataTypeName>DT_STR</dtm:DataTypeName><dtm:UseSourceLength/></dtm:CharacterStringType></dtm:DestinationDataType></dtm:DataTypeMapping><dtm:DataTypeMapping ><dtm:SourceDataType><dtm:DataTypeName>200</dtm:DataTypeName></dtm:SourceDataType><dtm:DestinationDataType><dtm:CharacterStringType><dtm:DataTypeName>DT_STR</dtm:DataTypeName><dtm:UseSourceLength/></dtm:CharacterStringType></dtm:DestinationDataType></dtm:DataTypeMapping>

以及

<!-- nvarchar --><dtm:DataTypeMapping ><dtm:SourceDataType><dtm:DataTypeName>nvarchar</dtm:DataTypeName></dtm:SourceDataType><dtm:DestinationDataType><dtm:CharacterStringType><dtm:DataTypeName>DT_WSTR</dtm:DataTypeName><dtm:UseSourceLength/></dtm:CharacterStringType></dtm:DestinationDataType></dtm:DataTypeMapping><dtm:DataTypeMapping ><dtm:SourceDataType><dtm:DataTypeName>202</dtm:DataTypeName></dtm:SourceDataType><dtm:DestinationDataType><dtm:CharacterStringType><dtm:DataTypeName>DT_WSTR</dtm:DataTypeName><dtm:UseSourceLength/></dtm:CharacterStringType></dtm:DestinationDataType></dtm:DataTypeMapping>

然後儲存。這樣就可以讓DTS在判斷到200和202的時候也正常轉換。

感謝這篇中的解答貢獻者:

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/97ff1f01-c02a-4c9a-b867-8eaecc464cfb/2012-sp1-no-longer-recognizes-common-data-types

SQL Server DTS嚮導,欄位轉換出現202和200錯誤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.