用MS SqlServer2012进行数据导出时,使用的查询语句导出,但是出现了错误:

“发现 xx个未知的列类型转换
您只能保存此包“

点击列查看详细错误信息时,可以看到:

[源信息]
源位置: 192.168.1.97
源提供程序: SQLNCLI11
表: [查询]
列: ItemSize
列类型: 203
SSIS 类型: (类型未知...)
映射文件(到 SSIS 类型): C:\Program Files (x86)\Microsoft SQL Server\110\DTS\MappingFiles\MSSQLToSSIS10.XML

[目标信息]
目标位置: C:\Users\Administrator\Desktop\火星公司_测试_发货单_201705181134.xls
目标提供程序: Microsoft.Jet.OLEDB.4.0
表: `查询`
列: ItemSize
列类型: VarChar
SSIS 类型: Unicode 字符串 [DT_WSTR]
映射文件(到 SSIS 类型): C:\Program Files (x86)\Microsoft SQL Server\110\DTS\MappingFiles\JetToSSIS.xml

[转换步骤]
转换未知...
SSIS 转换文件: C:\Program Files (x86)\Microsoft SQL Server\110\DTS\binn\DtwTypeConversion.xml

在CSDN的一个帖子中查到,一些信息:

这是一个bug,这里解释了原因以及解决方案
https://connect.microsoft.com/SQLServer/feedback/details/775897/sql-server-import-and-export-wizard-does-not-recognise-varchar-and-nvarchar

上面链接中介绍:

描述

当输入检索通过一个查询使用SQL Server导入和导出向导在SQL Server 2012中的数据,VARCHAR类型被公认为是“200”而nvarchar类型“202”。这导致向导显示“审查”的数据类型的警告/错误类似于以下内容:14未知列类型转换(S)你只能拯救packagethis意味着数据传输不能执行和向导只能保存转移为ssis包的问题。似乎只出现在数据源查询-即“查询指定数据传输”中指定表复制或查询的SQL Server导入和导出向导部分。选择“复制数据从一个或多个表或视图”选项中指定表复制或查询部分似乎认识到varchar和nvarchar数据类型正确。

在品论中有人指出,可以将你的查询语句,创建成视图,然后用视图导出就正常了,我没有试过。

微软的工作人员说,上面的反馈重复,所以又发了一个链接:
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
以上链接里面,似乎提示微软已经修复了该bug;
但是我没看到怎么修复的,我仍然有该问题。 有人指出可以看看这个链接:
https://social.msdn.microsoft.com/Forums/sqlserver/en-us/97ff1f01-c02a-4c9a-b867-8eaecc464cfb/2012-sp1-no-longer-recognizes-common-data-types?forum=sqlintegrationservices 我看了不行。 还好我装了两个客户端,最后我用我的sqlserver2008解决了问题,但是解决的并不彻底啊。

SQL Server2012使用导入和导出向导时,用sql语句作为数据源,出现数据源类型会变成202或者203的更多相关文章

  1. 连接到 PostgreSQL 数据源(SQL Server 导入和导出向导)

    本主题向你介绍如何从 SQL Server 导入和导出向导的“选择数据源”页或“选择目标”页连接到 PostgreSQL 数据源. 重要 连接到 PostgreSQL 数据库的详细需求和先决条件不在此 ...

  2. Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010

    摘  要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中.Excel软件对 ...

  3. PL/SQL简单使用——导入、导出数据表

    1.使用PL/SQL导出.导入表 在使用PL/SQL操作oracle数据库时,经常使用的一个操作就是将自己写的数据表导出,或者想把他人的数据表导入到自己的数据库中.虽然是很简单的操作,但自己之前一直出 ...

  4. SQL Server 2008导入、导出数据库

    SQL Server 2008数据库的导入.导出和Mysql的导出还有一定的区别,刚开始的时候完全摸不到方向,利用Microsoft SQL Server Management Studio进行导入. ...

  5. SQL Server 将查询结果导出插入(insert)语句的简单方式

    转自 http://blog.csdn.net/danny_style/article/details/45166391 1.首先将查询结果添加到一个原数据库中不存在的表,表名随意命名. 例:SELE ...

  6. sql server 2008导入和导出sql文件

    导出表数据和表结构sql文件 在日常的开发过程中,经常需要导出某个数据库中,某些表数据:或者,需要对某个表的结构,数据进行修改的时候,就需要在数据库中导出表的sql结构,包括该表的建表语句和数据存储语 ...

  7. SQL Server 数据导入与导出

    1. BCP 命令 用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件 [-m 最大错误数] [-f 格式化文件] [-e 错误 ...

  8. 数据库SQL Server2012笔记(七)——java 程序操作sql server

    1.crud(增删改查)介绍:create/retrieve/update/delete 2.JDBC介绍 1)JDBC(java database connectivity,java数据库连接) 2 ...

  9. .Net 导出Excel时设置单元格的格式为文本类型

    <td style= 'vnd.ms-excel.numberformat:@ ' align='right'>" & Format(Val(rowTitle.Item( ...

随机推荐

  1. Windows Profile的一些问题

    电脑症状:桌面复制的文件重启后消失:新安装的软件重启后也自动消失.排查:使用autoruns观察,发现安装了麦咖啡和360两套“安全”软件,除此外并无异常,任务管理器內也无异常发现.过程:1.保险起见 ...

  2. IOS 响应者链条 and UIGestureRecognizer 手势识别器)

    一次完整的触摸事件的传递响应的过程 UIAppliction --> UIWiondw -->递归找到最适合处理事件的控件 控件调用touches方法-->判断是否实现touches ...

  3. 第六十三课、C语言的异常处理

    http://www.cnblogs.com/gui-lin/p/6379101.html 一.异常处理 1.异常的概念 (1).程序在运行过程中可能产生异常 (2).异常(Exception)和Bu ...

  4. 【BZOJ2733】[HNOI2012] 永无乡(启发式合并Splay)

    点此看题面 大致题意: 给你一张图,其中每个点有一个权值,有两种操作:在两点之间连一条边,询问一个点所在联通块第\(k\)小的权值. 平衡树 看到第\(k\)小,应该不难想到平衡树. 为了练习\(Sp ...

  5. 棋盘V(最小费用最大流)

    棋盘V 时间限制: 1 Sec  内存限制: 128 MB提交: 380  解决: 44[提交] [状态] [讨论版] [命题人:admin] 题目描述 有一块棋盘,棋盘的边长为100000,行和列的 ...

  6. python_66_生成器2

    import time def consumer(name): print('%s准备吃包子 '%name) while True: baozi=yield print('包子[%s]来了,被[%s] ...

  7. 启动tomcat的Cannot find ./catalina.sh 的问题

    从终端进入tomcat的bin目录,然后执行startup.sh Cannot find bin/catalina.sh The file is absent or does not have exe ...

  8. java基础编程——用两个栈来实现一个队列

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 题目代码 /** * <分析>: * 入队:将元素进栈A * 出队:判断栈B是否为空, * ...

  9. 梁勇 java教材 编程练习题 第二章 2.6 键盘 读取一个在0 到 9999 之间的整数,并将该整数的各位数字相加。

    import java.util.Scanner; /** * 需求:从键盘输入任意0~9999之间的整数,输出这个整数各位数字之和. * 思路:方法一,使用扫描器Scanner类,扫描控制台输入流 ...

  10. SpringBoot之YAML

    SpringBoot的配置文件有两种,一种是properties结尾的,一种是以yaml或yml文件结尾的 我们讨论一下yml文件结尾的文件: 基本语法: 其实yml文件就是键值对的形式,不过就是键( ...