当我尝试使用 Microsoft.SqlServer.Dac.Extensions.dll - DacPackageExtensions.BuildPackage() 方法构建时,我需要将多个 dacpac 合并到一个 dacpac 中,因此使用示例 ( http://dacsamples.codeplex.com ) ,我得到与未解决的对不同位置的未命名对象的引用有关的错误。但是,如果我使用 VS2015 IDE 构建,那么我不会收到此类错误,大概是同一件事?有任何想法吗?
Microsoft.SqlServer.Dac.DacServicesException 未处理
HResult=-2146233088 消息=无法将包保存到文件。模型存在构建阻塞错误:错误 SQL71501:验证元素时出错 [lr].[Sample]:视图:[lr].[Sample] 对未命名对象有未解析的引用。错误 SQL71501:验证元素 [lr].[Sample] 时出错:视图:[lr].[Sample] 具有对未命名对象的未解析引用。错误 SQL71501:验证元素 [lr].[Sample] 时出错:视图:[lr].[Sample] 具有对未命名对象的未解析引用。
SQLProj 中的失败视图定义示例:
CREATE VIEW [lr].[Sample]
AS
--
-- $Id: StressExtract.sql 114559 2015-11-11 18:31:50Z sharsl $
-- $URL: https://svc-vcs-prd:18080/svn/apps/RCLMReporting/branches/TransformationCash/Src/SQL/Cil/lr/Views/StressExtract.sql $
--
-- ====================================================================
--
-- Copyright (c) 2000-2009 by Mizuho International plc.
-- All Rights Reserved.
--
-- ====================================================================
--
-- Purpose: View to display StressExtract view .
--
-- Author: Regulatory ISD
--
--
--
WITH TripartyPrestartOverrides AS
(
SELECT *
FROM
( VALUES
('LiquidAssetBuffer','NonUKGovt','AAA')
) AS Overrides ([Col1],[Col2],[Col3])
)
SELECT *
FROM [lr].[DataExtract] D
LEFT OUTER JOIN TripartyPrestartOverrides O
ON D.[LRSecurityClass] = O.[LRSecurityClass]
AND D.[TransactionStatus] LIKE 'PRESTART%'
AND D.[ProductType] = 'TRIPARTYREPO'
WHERE ([ExclusionFlag] = 'N' OR [DataGroup]='Ledger' OR [BookRef]='SCA/OTHER')
GO