【问题标题】:Importing Microsoft Access file into SQL Server?将 Microsoft Access 文件导入 SQL Server?
【发布时间】: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 无法更改数据类型;没有足够的磁盘空间或内存”

标签: ms-access sql-server-2012


【解决方案1】:
  • 检查 Access 表中的 [LastTimeDate] 列,查看它是否包含 1753 年 1 月 1 日之前的任何日期。如果是,那么您要么必须修复这些日期(如果它们不正确),我们将必须在导入期间调整列类型映射,以在 SQL Server 表列映射中调整该列 [LastTimeDate] 的映射,其中 Datatype 为 datetime2(而不是 datetime 列)。
  • 在从 Access 迁移到 SQL 的 DB 迁移过程中,我遇到的另一件事是,如果日期列的格式错误示例:而不是日期值,它是 '00:00:00',所以我检查了整个 Access如果值只是“00:00:00”并将其替换为空白,则该列的数据库包含日期值。然后将数据库从访问迁移到 SQL 。 成功迁移。它确实奏效了。试试看。

【讨论】:

    【解决方案2】:

    按日期字段从最旧到最新对您的表格进行排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 2013-06-23
      • 1970-01-01
      相关资源
      最近更新 更多