自從更新 VS 2012 的 SSIS 的套件之後,SSMS 突然就變成無法 Excel 匯出了,只要使用在匯出資料中使用 SQL 語法篩選資料就會出現 200 跟 202 這種奇怪的資料格式,然後就不能匯出了,Google 查看了一下就發現看起來像是更新造成的災難,
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/97ff1f01-c02a-4c9a-b867-8eaecc464cfb/2012-sp1-no-longer-recognizes-common-data-types?forum=sqlintegrationservices
只好自己去修改一下 XML
修改一下這個檔案
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\MappingFiles\MSSQLToSSIS10.XML
加入之後重新開啟 SSMS 就可以使用了
<!-- 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>
沒有留言:
張貼留言