首页 文章

导入excel到sql server执行错误(SSIS)

提问于
浏览
-1

我第一次尝试将excel文件导入sql server,我收到了这个错误 . 请你帮助我好吗?不知道发生了什么:|

操作已停止...初始化数据流任务(成功)初始化连接(成功)设置SQL命令(成功)设置源连接(成功)设置目标连接(成功)验证(成功)准备执行(成功)预执行(成功)执行(错误)消息消息错误0xc020901c:数据流任务1:源 - Sheet1 $ .Outputs [Excel源输出] .Columns [威胁]源 - Sheet1 $ .Outputs [Excel源输出]出错 . 返回的列状态为:“文本被截断,或者目标代码页中的一个或多个字符不匹配 . ” . (SQL Server导入和导出向导)错误0xc020902a:数据流任务1:“源 - Sheet1 $ .Outputs [Excel源输出] .Columns [威胁]”失败,因为发生了截断,截断行处置“Source - Sheet1 $ .Outputs [Excel源输出] .Columns [威胁]“指定截断失败 . 指定组件的指定对象上发生截断错误 . (SQL Server导入和导出向导)错误0xc0047038:数据流任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED . Source - Sheet1 $上的PrimeOutput方法返回错误代码0xC020902A . 当管道引擎调用PrimeOutput()时,组件返回失败代码 . 失败代码的含义由组件定义,但错误是致命的,管道停止执行 . 在此之前可能会发布错误消息,其中包含有关失败的更多信息 . (SQL Server导入和导出向导)复制到[dbo] . [Sheet1 $](已停止)执行后(成功)消息信息0x4004300b:数据流任务1:“目标 - Sheet1 $”写入0行 . (SQL Server导入和导出向导)

4 回答

  • 0

    您导入的数据可能包含大于表的列大小的文本 .

    最大化表列的大小,然后尝试 .

  • 0

    检查源和目标上的 Threat 列的长度 . 请根据excel的长度进行调整,然后基本增加 .

    或者,在Excel源编辑器中单击错误输出选项卡 .

    选择列 Threat ,在“截断”列中将值设置为“忽略失败” .

    这应该有所帮助 .

  • 0

    查看此Stackoverflow链接enter link description here中的想法,然后 . 它可能正在尝试导入一些额外的空白行,您可以允许(通过更改ALLOW NULLS选项)或将失败的行传输到SSIS中的其他数据集,以单独处理失败的行

  • 0

    你手动创建DFT吗?如果是这样:

    1)创建新的Excel连接管理器 - 链接您的Excel文件
    2)创建新的OLE DB连接管理器 - 选择您的数据库和表 .
    3)Excel来源
    4)数据转换 - 将EXCEL列转换为DT_STR,使其成为Varchar而不是NVARCHAR .
    5)OLE DB Destination是你的SQL服务器表 .

    或者,您可以将列设置为NVARCHAR,它将与EXCEL匹配但是如果它是VARCHAR列,则数据需要在数据转换中转换为DT_STR . 如果您需要更多帮助,请告诉我 .

相关问题