【发布时间】:2015-09-10 15:45:06
【问题描述】:
我尝试将 Microsoft Access 文件导入 SQL Server 2012。
错误:
正在复制到 [dbo].[Placements](错误)
消息
错误 0xc0202009:数据流任务 1:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。
OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80004005 描述:“无效的日期格式”。 (SQL Server 导入导出向导)错误 0xc020901c:数据流任务 1:Destination - Placements.Inputs[Destination Input].Columns[LastTimeDate] 在 Destination - Placements.Inputs[Destination Input] 上出现错误。返回的列状态为:“转换失败,因为数据值溢出了指定类型。”。 (SQL Server 导入导出向导)
错误 0xc0209029:数据流任务 1:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “Destination - Placements.Inputs[Destination Input]”失败,因为发生了错误代码 0xC020907A,并且“Destination - Placements.Inputs[Destination Input]”上的错误行处置指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。 (SQL Server 导入导出向导)
错误 0xc0047022:数据流任务 1:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“目标输入”(110) 时,组件“目标 - 放置”(97) 上的 ProcessInput 方法失败,错误代码为 0xC0209029。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。 (SQL Server 导入导出向导)
错误 0xc02020c4:数据流任务 1:尝试向数据流任务缓冲区添加行失败,错误代码为 0xC0047020。 (SQL Server 导入导出向导)
错误 0xc0047038:数据流任务 1:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。 Source - Placements 上的 PrimeOutput 方法返回错误代码 0xC02020C4。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但是错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。 (SQL Server 导入导出向导)
【问题讨论】:
-
您采取了哪些步骤来尝试将此访问文件“导入”到 sql server 中?
-
检查 Access 表中的 [LastTimeDate] 列,看看它是否包含 1753 年 1 月 1 日之前的任何日期。如果是,那么您要么必须修复这些日期(如果它们不正确) 我们必须在导入期间调整列类型映射以在 SQL Server 表中创建
datetime2列(而不是datetime列)。 -
我尝试更改数据类型。但它提示:“MS Access 无法更改数据类型;没有足够的磁盘空间或内存”