我目前正在使用Visual Studio 2015(在BIDS 2008中制作)更新我们所有的ETL,并将它们重新部署到运行在SQL Server 2016(最初为2008R2)上的新报告服务器。
在更新其中一个ETL时,我收到此错误:
HRESULT异常:0xC0202009加载临时表时出错[OLE DB源[129]]:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。OLE DB记录可用。源:"Microsoft SQL Server本机客户端10.0"结果:0x80004005描述:"无效的对象名称'dbo.TimeSheets'。"。
- 这是我尝试过的**
- 已检查连接字符串以确保它们正确无误。
- 已检查架构以确保其存在且正确。
- 从SSMS运行查询,结果正常。
- Ctrl + Shift + R可刷新智能感知。
- 已检查是否存在同名的另一个表。
- 已重新启动Visual Studio和SSMS。
6条答案
按热度按时间nafvub8i1#
我从问题“另一个选项是完全限定表名
{database}.{schema}.{table}
,以确保无论默认目录如何,您都可以查询正确的数据库”的注解中获得了成功的修复。我正在使用其他数据库,它正在缓存并使用那个DB名称,而不是我更改为的新名称。
ygya80vv2#
我遇到了同样的问题-我的数据库不知怎么的,没有被拿起。所以我手动添加了数据库并测试了连接,现在它工作正常。
4c8rllxm3#
对于SSIS -特别是,如果任何表名为“无效对象名”,则检查为-首先-通过SSMS检查表是否存在,如果不存在,则SSMS〉编辑〉智能感知〉刷新本地缓存
其次-通过“连接管理器”建立DB连接或DB连接已经存在时,检查“表或视图名称”下拉列表中的表名称
ca1c2owp4#
我尝试了上面的几个建议,但最终对我有效的是SSDT的关闭和重新打开!
2vuwiymt5#
我也有同样的问题。
SSIS和SSMS都拒绝查找表[Stage].[Customer],尽管它确实存在(并且已经存在了相当长的一段时间)。
删除并重新创建表没有任何效果,而且我注意到SSMS的智能感知没有检测到表已经被重新创建(是的,在ctrl+shift+R之后)
最后起作用的是
创建表[阶段].[客户]([ID] INT)
在SSMS中
这导致了一个错误,因为该表已经存在。从那时起,SSMS和SSIS都按预期工作。不知道是什么导致了这个错误,但很难跟踪。
qyzbxkaa6#
同样的问题。
我可以在几个OLE DB目的地的下拉列表中看到相应的表,但它不让我看到Map,并给出以下错误:"HRESULT异常:0xC0202040 ... SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005英寸。
不起作用的方面:
哪些措施有效:
详细信息在清除我的% temp %文件(那些将删除的文件)时,一个文件夹(VsHub)无法删除,但我能够删除它包含的一些文件。当我再次启动Visual Studio并打开包含这些OLE DB目标的序列时,很明显它正在重新计算XML代码,错误消失了。
希望这能帮到什么人。