从 Access 导入 SQL Server

Posted

技术标签:

【中文标题】从 Access 导入 SQL Server【英文标题】:SQL Server import from Access 【发布时间】:2017-01-19 20:08:15 【问题描述】:

我正在尝试将 Access (2013) 数据库表复制到 SQL Server 2014。Access 数据库引擎报告 64 位 SQL 和 32 位 Access 之间的冲突。表 > 任务 > 导入提供附加报告。没有关系,也没有索引。 有人可以帮忙吗??

操作停止...

初始化数据流任务(成功)

初始化连接(成功)

设置 SQL 命令(成功)

设置源连接(成功)

设置目标连接(成功)

验证(成功) 消息

警告 0x80049304:数据流任务 1:警告:无法打开全局共享内存以与性能 DLL 进行通信;数据流性能计数器不可用。要解决此问题,请以管理员身份或在系统控制台上运行此软件包。 (SQL Server 导入和导出向导)

准备执行(成功)

预执行(成功)

执行(成功)

复制到Actions(错误) 消息

错误 0xc0202009:数据流任务 1:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80040E2F。 OLE DB 记录可用。来源:“Microsoft Office Access 数据库引擎”Hresult:0x80040E2F 描述:“您请求对表的更改不成功,因为它们会在索引、主键或关系中创建重复值。更改字段中的数据包含重复数据,删除索引,或重新定义索引以允许重复条目,然后重试。”。 (SQL Server 导入和导出向导)

错误 0xc0209029:数据流任务 1:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “Destination - Actions.Inputs[Destination Input]”失败,因为发生了错误代码 0xC020907B,并且“Destination - Actions.Inputs[Destination Input]”上的错误行处置指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。 (SQL Server 导入和导出向导)

错误 0xc0047022:数据流任务 1:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“目标输入”(134) 时,组件“目标 - 操作”(121) 上的 ProcessInput 方法失败,错误代码为 0xC0209029。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。 (SQL Server 导入和导出向导)

执行后(成功) 消息

信息 0x4004300b:数据流任务 1:“目标 - 操作”写入 0 行。 (SQL Server 导入和导出向导)

【问题讨论】:

【参考方案1】:

MS 访问中存在重复行或空值太明显了。 对于第二个错误,您可能需要访问此链接或信息 https://connect.microsoft.com/SQLServer/feedback/details/573638/ssis-package-failes-with-ole-db-error-when-using-transaction-support-on-sequence-container

你的第三个结果在遇到错误时可能会导致整个包转换失败

【讨论】:

是的,值得先尝试将表从 Access 2013 复制到 Access 2013(奇怪,我知道),然后看看会发生什么。它可能会发现您没有意识到的问题。

以上是关于从 Access 导入 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

如何通过编码将数据从 MS Access 导入 Sql Server [关闭]

如何将 accdb 数据库从 Access 导入 SQL Server 2019?

从 MS Access 批量导入并插入 Sql Server [关闭]

自动将新数据从 MS Access 数据库导入 SQL Server

使用 ColdFusion 将 Access 数据导入 SQL Server

如何解决将 Access 数据导入 SQL Server 的身份问题