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

用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解决了问题,但是解决的并不彻底啊。
时间: 2024-10-18 04:10:19

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

sql server 2008导入和导出sql文件

导出表数据和表结构sql文件 在日常的开发过程中,经常需要导出某个数据库中,某些表数据:或者,需要对某个表的结构,数据进行修改的时候,就需要在数据库中导出表的sql结构,包括该表的建表语句和数据存储语句!在这个时候,就可以利用本方法来操作! 步骤阅读 百度经验:jingyan.baidu.com 工具/原料 sqlserver2008 百度经验:jingyan.baidu.com 方法/步骤 1 打开sqlserver2008,连接成功后,选择需要导出表的数据库--任务---生成脚本 步骤阅读

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

1.crud(增删改查)介绍:create/retrieve/update/delete 2.JDBC介绍 1)JDBC(java database connectivity,java数据库连接) 2)是一种用于运行SQL语句的java  API,可为多种关系数据库提供统一訪问.由一组用Java语言编写的类和接口组成. 3)JDBC为工具/数据库开发者提供了一个标准的API,据此可构建更高级的工具和接口,是数据库开发者可以用纯Java API编写数据库应用程序. 4)JDBC也是闪避表明. 3.

[转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?

原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Server导入导出向导”中的数据源没有原来的丰富,缺少对DBF文件的支持. 1.右击数据库,选择“任务”>“导入数据”,打开“SQL Server导入和导出向导”对话框.2.在“数据源”中选择Microsoft OLE DB Provider for Visual FoxPro,单击“属性”按钮,打开“

Postgres数据库中excel的导入和导出

使用Windows系统,excel的总是不可避免. Postgres版本为9.3.6:Windows 8.1 64位. 这里没有找到excel直接导入Postgres的方法,有一个工具是xlstopg,类似SQL Server的导入和导出数据向导,但不是开源的:可以到网上搜下玩玩(好像试用版只能导1000条记录),我在不知名网站上下了个企图是破解版,结果电脑中毒,花了两个晚上时间,电脑才幸而没有重装系统.我只能说有些网站太不是东西了,你说你里面很多插件(游戏的客户端.日历等乱七八糟的东西),我忍

Navicat 导出向导之设置附加选项

Navicat 设置导出向导的附加选项设置根据用户设置的文件格式而定.本教程将详解 Navicat 在设置导出向导时如何设置附加选项. 包含列的标题:勾选此项,栏位名将会包含在导出的文件. 添加:如果用户在设置导出目标文件名时为多个表选择“导出选择的到相同文件”选项,勾选此项可在导出的文件添加记录. 遇到错误继续:在导出进程中忽略遇到的错误. 在 XML 中使用属性格式:为文件定义“记录分隔符”.“栏位分隔符”和“文本限定符”. Navicat 设置附加选项 日期排序.日期分隔符.零填充日期.时

SQL Server2012如何导出sql脚本并且还原数据库

上次介绍过如何通过bak文件来还原数据库文件,今天来介绍一下如何通过导出sql脚本的方式来备份并且还原新的数据库,不过这种方式比较适合数据库数据不太多的中小型数据表,下面通过SQL Server2012为例来进行说明. 一  备份数据库 1  选择某一个数据库,右键依次选择:任务==>生成脚本: 2  选择要编写脚本的数据库对象,注意此处可以选择特定的数据库对象,我们可以选择我们需要备份的数据表. 3   在当前页面下面第一步选择高级选项,然后再选择输出的sql脚本的保存位置. 4 高级选项中最

用pl/sql实现oracle数据的导出和导入

一.PL/SQL工具实现oracle数据导出 1. 数据对象导出 工具->导出用户对象,弹出如下界面: 选择用户,选择导出文件的路径,命名导出文件名称(.sql),然后点击导出即可. 注意:此方法只能导出数据对象,不能导出表中存储的数据: 2. 表数据导出 工具->导出表,弹出如下界面: 方法一(oracle导出方式):可执行文件 exp.exe 选择导出文件的路径,命名导出文件名称(.dmp),然后点击导出即可. 方法二(SQL插入方式)如下图: 选择导出文件的路径,命名导出文件名称(.sq

Linux 环境下 MySQ导入和导出MySQL的sql文件

将服务器上的文件导入或导出还需要使用工具传输到本机中,推荐使用winscp,与xshell搭配使用 1 导入数据库 两种方法 1.首先建空数据库 mysql>create database abc; 方法一: (1)选择数据库 mysql>use abc; (2)设置数据库编码 mysql>set names utf8; (3)导入数据(注意sql文件的路径) mysql>source /home/abc/abc.sql; 方法二: mysql -u用户名 -p密码 数据库名 &l

从SQL Server中导入/导出 Excel 的基本方法

/*=================== 导入/导出 Excel 的基本方法 ===================*/ 从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*===================================================================*/ --如果接受数据导入的表已经存在 insert into 表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.