現在Visual Studio 2015(BIDS 2008で作成)を使用してすべてのETLを更新し、SQL Server 2016上で実行される新しいレポートサーバーに再デプロイします(元は2008R2)。 ETLの1を更新中、私はこのエラーましSSISエラー:無効なオブジェクト名ですが、オブジェクトが存在し、クエリがSSMSで実行されます
:ここ
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からのRanクエリが機能しました。
- はCtrl +Shiftキー + Rはインテリセンスを更新します。
- 同じ名前の別のテーブルが存在するかどうかを確認します。
- Visual StudioとSSMSを再起動しました。
接続文字列が正しいサーバーとデータベースを指していることは確かですか? SSISパッケージは、異なるアクセス許可を持つ可能性のある別のアカウントを使用してスケジュールで実行されていますか? – Siyual
接続文字列の既定のカタログを確認し、正しいデータベース(およびサーバー)に到達していることを確認します。もう1つのオプションは、デフォルトのカタログに関係なく、正しいデータベースを照会するために、テーブル名{database}。{schema}。{table}を完全修飾することです。 –
プロファイラを実行して、実際にSSISからSQL Serverに送信されているものを確認してください。たぶん、それはあなたが思うデータベースに当たらないでしょう。 –