0

我在数据库中创建了一个视图,DbConfig。视图定义是

use DbConfig
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE VIEW [dbo].[v_ETL_priority]
AS
SELECT
'EF5F126FU1'    code
,'N'                activeind
,'Unknown'      decode
,   0               prioritydays
UNION ALL
SELECT  distinct
cast(LTRIM(RTRIM([priority_code])) as varchar(10))
,case when [inactive] =0 then 'Y' else 'N' end
,cast(LTRIM(RTRIM([description])) as varchar(30))
,[days]
FROM OPEN_DB.[dbo].[rm_priority]

现在该视图用作其中一个数据流的 OLEDB 源。它工作正常。

有名为 OPEN_DB_UK、OPEN_DB_KD、OPEN_DB_Usa 的数据库,都具有与 OPEN_DB 相同的结构并包含相同的表 rm_priority 现在,如果我将 OPEN_DB 重命名为 OPEN_DB_old 并将 OPEN_DB_UK 重命名为 OPEN_DB,那么视图将不得不从新数据库(英国数据库)中提供数据行正确的?是的,它在 SSMS 中从 [V_VAT] 查询视图时会给出。但在 SSIS OLEDB 源中,它仍然会根据第一个数据库 OPEN_DB 给出数据行。为什么它不提供基于 SSIS OLEDB 源中 OPEN_DB_uk 的新数据库的数据行

有没有人遇到过类似的问题?是因为视图定义不同吗?

请任何 SSIS 专家帮忙

4

1 回答 1

0

一段时间前,我遇到了类似的问题,并且通过再次重新创建连接来解决问题。删除现有连接并创建新连接并进行相同配置。请试试这个方法,让我知道你的意见。

于 2012-07-31T15:17:54.450 回答