sql - SSIS错误: Invalid object name - but object exists and query runs in SSMS

标签 sql sql-server tsql ssis sql-server-2016

我目前正在使用 Visual Studio 2015(在 BIDS 2008 中制作)更新所有 ETL,并将它们重新部署到在 SQL Server 2016(最初为 2008R2)上运行的新报告服务器。

在更新其中一个 ETL 时,我收到此错误:

<小时/>

Exception from HRESULT: 0xC0202009 Error at Load Staging Table [OLE DB Source [129]]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Invalid object name 'dbo.TimeSheets'.".

<小时/>

这是我尝试过的:

  • 检查我的连接字符串以确保它们正确。
  • 检查架构以确保其存在且正确。
  • 从 SSMS 运行查询并且成功。
  • Ctrl + Shift + R 刷新智能感知。
  • 检查是否存在另一个同名的表。
  • 重新启动 Visual Studio 和 SSMS。

最佳答案

我从问题的评论中得到了成功的修复“另一个选项是完全限定表名{database}.{schema}.{table}以确保,无论默认目录,您查询正确的数据库。”

我正在使用其他一些数据库,它正在缓存并使用该数据库名称,而不是我更改为的新数据库名称。

关于sql - SSIS错误: Invalid object name - but object exists and query runs in SSMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387110/

相关文章:

php - 具有多个标签的 SQL 请求文件

sql - 没有 WHERE 子句的 SELECT NOT NULL 值

sql-server - 在父/子查询中对 SQL Server 中的父项进行分页

sql - 如何将默认系统日期从 ymd 更改为 dmy

sql - 有没有更好的方法来调试 SQL?

c# - 使用 C# 查询 MariaDB 数据库

sql-server - 如何使 ALTER COLUMN 幂等?

sql - 使用 SQL 查询包含重复数据的 XML

MySql:如何在列中使用相同文本的 "list"记录

SQL Server : cannot access temporary tables