访问导入时出现SSIS错误

时间:2014-07-02 21:05:04

标签: sql ssis

当我尝试将访问2013数据库导入sql server 2014数据库时,我从SSIS收到此错误
我使用Microsoft Office 15.0 Access Database Engine OLE DB Provider作为来源 和SQL Server Native Client 11.0目的地

TITLE:SQL Server导入和导出向导

无法连接源组件。

错误0xc0202009:源 - 数量[1]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E37。

错误0xc02020e8:来源 - 金额[1]:打开" Amounts"的行集。失败。检查数据库中是否存在该对象。


其他信息:

HRESULT的异常:0xC02020E8(Microsoft.SqlServer.DTSPipelineWrap)


错误是针对提供商的吗?

我只是注意到,当我为数据选择另一个Destination(与Source相同)时,它会抛出类似的错误但是另一行索引例如 "错误0xc0202009:来源 - 金额[43]:SSIS错误......"

5 个答案:

答案 0 :(得分:5)

存在导入向导错误,当您选择“从一个或多个表中复制数据...”时,自动生成的sql在表名上有单引号,这会导致错误消息,[打开“Amounts”的行集失败。检查对象是否存在于数据库中。]单击“预览”按钮(“编辑映射”按钮旁边),可以看到sql。

解决方案是通过返回删除表名周围的单引号,选择“编写查询以指定要传输的数据”。现在写下你的查询。接下来,然后双击[dbo]。[查询]更改为您想要的表名,[dbo] [your_table_name]

你必须在一张桌子旁边做一张桌子,我终于搞清楚了,让它有效。

答案 1 :(得分:0)

该错误表示无法在Access文件中找到Amounts表。确保该表存在且您未在表名中指定任何额外的空格。

查看您正在使用的SQL Server和Access版本我觉得它可能与驱动程序有关。你能确定你在使用 -

吗?

enter image description here

答案 2 :(得分:0)

对于现在搜索此内容的任何人,我收到此错误,因为列中的一个项目超出了我的数据库中设置的长度。

答案 3 :(得分:0)

@hoogw是对的。但是更改SQL Server中的参数以删除引号很容易,可以通过在向导中按Next来完成导入;而不是编辑单个查询。

在SqlServer Management Studio中执行此命令。

SET QUOTED_IDENTIFIER OFF

然后右键单击数据库 - >任务 - >导入数据

答案 4 :(得分:0)

首先,打开要导入的Access数据库。在数据库工具选项卡上,选择用户和权限,然后选择用户和组的权限

first steps!!

最后,为每个表启用所有权限:

final step!!

现在,执行过程以在SQL Server Management Studio上导入数据库。这个对我有用;希望对您有帮助!

注意:我的Access安装显然是使用西班牙语的,但是我希望这些屏幕截图仍然可以根据我的翻译和图像来阐明去向。