zoukankan      html  css  js  c++  java
  • SQL Server DTS向导,字段转换出现202和200错误

    当使用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 FilesMicrosoft SQL Server110DTSMappingFilesMSSQLToSSIS10.XML,对于32位向导是C:Program Files (x86)Microsoft SQL Server110DTSMappingFilesMSSQLToSSIS10.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

  • 相关阅读:
    vue——样式穿透/deep/ >>> ::v-deep 三者的区别
    CSS Grid 网格布局教程
    CSS3中的display:grid网格布局介绍
    windows 好用的命令
    django分页
    django.template.exceptions.TemplateSyntaxError: 'staticfiles' is not a registered tag library. Must
    bootstrap模板
    django报错 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.1
    bootstrapV4.4.1版本下载
    Dots demo解释相关
  • 原文地址:https://www.cnblogs.com/galaxyyao/p/4774349.html
Copyright © 2011-2022 走看看