当我尝试将访问2013数据库导入sql server 2014数据库时,我从SSIS收到此错误
我使用Microsoft Office 15.0 Access Database Engine OLE DB Provider
作为来源
和SQL Server Native Client 11.0
目的地
无法连接源组件。
错误0xc0202009:源 - 数量[1]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E37。
错误0xc02020e8:来源 - 金额[1]:打开" Amounts
"的行集。失败。检查数据库中是否存在该对象。
其他信息:
HRESULT的异常:0xC02020E8(Microsoft.SqlServer.DTSPipelineWrap)
错误是针对提供商的吗?
我只是注意到,当我为数据选择另一个Destination(与Source相同)时,它会抛出类似的错误但是另一行索引例如 "错误0xc0202009:来源 - 金额[43]:SSIS错误......"
答案 0 :(得分:5)
存在导入向导错误,当您选择“从一个或多个表中复制数据...”时,自动生成的sql在表名上有单引号,这会导致错误消息,[打开“Amounts”的行集失败。检查对象是否存在于数据库中。]单击“预览”按钮(“编辑映射”按钮旁边),可以看到sql。
解决方案是通过返回删除表名周围的单引号,选择“编写查询以指定要传输的数据”。现在写下你的查询。接下来,然后双击[dbo]。[查询]更改为您想要的表名,[dbo] [your_table_name]
你必须在一张桌子旁边做一张桌子,我终于搞清楚了,让它有效。
答案 1 :(得分:0)
该错误表示无法在Access文件中找到Amounts表。确保该表存在且您未在表名中指定任何额外的空格。
查看您正在使用的SQL Server和Access版本我觉得它可能与驱动程序有关。你能确定你在使用 -
吗?
答案 2 :(得分:0)
对于现在搜索此内容的任何人,我收到此错误,因为列中的一个项目超出了我的数据库中设置的长度。
答案 3 :(得分:0)
@hoogw是对的。但是更改SQL Server中的参数以删除引号很容易,可以通过在向导中按Next来完成导入;而不是编辑单个查询。
在SqlServer Management Studio中执行此命令。
SET QUOTED_IDENTIFIER OFF
然后右键单击数据库 - >任务 - >导入数据
答案 4 :(得分:0)
首先,打开要导入的Access数据库。在数据库工具选项卡上,选择用户和权限,然后选择用户和组的权限:
最后,为每个表启用所有权限:
现在,执行过程以在SQL Server Management Studio上导入数据库。这个对我有用;希望对您有帮助!
注意:我的Access安装显然是使用西班牙语的,但是我希望这些屏幕截图仍然可以根据我的翻译和图像来阐明去向。