将excel表数据导入sqlserver2008R2 报错
Posted betobe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将excel表数据导入sqlserver2008R2 报错相关的知识,希望对你有一定的参考价值。
错误信息:
正在复制到 [dbo].[Sheet1sss$] (错误)
消息
错误 0xc020901c: 数据流任务 1: 输出“Excel 源输出”(9) 上的 输出列“FDESC”(93) 出错。返回的列状态是:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
(SQL Server 导入和导出向导)
错误 0xc020902a: 数据流任务 1: “输出列“FDESC”(93)”由于发生截断而失败,而且针对“输出列“FDESC”(93)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
(SQL Server 导入和导出向导)
错误 0xc0047038: 数据流任务 1: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“源 - Sheet1$”(1) 的 PrimeOutput 方法返回了错误代码 0xC020902A。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
(SQL Server 导入和导出向导)
导入excle表到sqlserver2008R2数据库,报错,可以将excle表转为.csv格式,在将.csv的文件后缀名改为.txt文件,如以下例子:
将 “输出列“FDESC”(93) 出错” FDESC这列的长度设置为 nvarchar(2000);
USE [Demo] GO /****** Object: Table [dbo].[BBBBB] Script Date: 06/19/2019 21:19:04 ******/ SET ANSI_NULLS ON GO
---- 一、创建表结构
SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[BBBBB]( [ID] [float] NULL, [SETITEM_ID] [nvarchar](255) NULL, [SETORG_ID] [nvarchar](255) NULL, [ORGITEM_ID] [nvarchar](255) NULL, [ORGITEM_CODE] [nvarchar](255) NULL, [ORGITEM_GBCODE] [nvarchar](255) NULL, [ORGITEM_CNAME] [nvarchar](255) NULL, [ORGITEM_CNALIAS] [nvarchar](255) NULL, [ORGITEM_ENNAME] [nvarchar](255) NULL, [ORGITEM_ASSISTCODE] [nvarchar](255) NULL, [ORGITEM_PKG] [nvarchar](255) NULL, [ORGITEM_TYPE] [nvarchar](255) NULL, [DOSAGE_FORM_ID] [nvarchar](255) NULL, [DOSAGE_FORM_NAME] [nvarchar](255) NULL, [SETCLASS_ID] [nvarchar](255) NULL, [SETCLASS_NAME] [nvarchar](255) NULL, [SETGRADE] [nvarchar](255) NULL, [PAYMENT_RATIO] [nvarchar](255) NULL, [IS_LIMITPRICE] [nvarchar](255) NULL, [LIMIT_PRICE] [nvarchar](255) NULL, [ORGITEM_INFO] [nvarchar](255) NULL, [IS_NEED_APPROVAL] [nvarchar](255) NULL, [NOTAPPROVALITEM_ID] [nvarchar](255) NULL, [OWN_RATIO_NOTAPPROVAL] [nvarchar](255) NULL, [ORGITEM_FLAG] [nvarchar](255) NULL, [FISAVAILABLE] [nvarchar](255) NULL, [FDESC] [nvarchar](2000) NULL,--导入数据库时,系统默认为(255),可在编辑映射将大小设置为2000,或者max [FLOGCBY] [nvarchar](255) NULL, [FLOGCDATE] [nvarchar](255) NULL, [FLOGLUBY] [nvarchar](255) NULL, [FLOGLUDATE] [nvarchar](255) NULL, [FLOGLABY] [nvarchar](255) NULL, [FLOGLADATE] [nvarchar](255) NULL, [YDJS_AKC224] [nvarchar](255) NULL, [YDJS_AKC229] [nvarchar](255) NULL, [YDJS_AKC230] [nvarchar](255) NULL, [YDJS_AKC231] [nvarchar](255) NULL, [YDJS_YKC615] [nvarchar](255) NULL, [SYZFBL] [nvarchar](255) NULL, [ETZFBL] [nvarchar](255) NULL, [PAYMENT_RATIO_CS] [nvarchar](255) NULL ) ON [PRIMARY] GO -- 二、使用以下代码导入csx.txt数据到BBBBB表
运行代码,完成对数据的导入。
BULK INSERT Demo.dbo.BBBBB FROM ‘D:\\csx.txt‘ WITH( FIELDTERMINATOR = ‘,‘, ROWTERMINATOR = ‘\\n‘ ) SELECT * FROM Demo.dbo.BBBBB
以上是关于将excel表数据导入sqlserver2008R2 报错的主要内容,如果未能解决你的问题,请参考以下文章