从现有dacpac重建新dacpac时出现错误SQL71501



我需要将多个dacpac合并为一个dacpac,因此使用示例(http://dacsamples.codeplex.com),当我尝试使用Microsoft.SqlServer.Dac.Extensions.dll-DacPackageExtensions.BuildPackage()方法进行构建时,我会遇到与未解析的对不同位置中未命名对象的引用有关的错误。然而,如果我使用VS2015IDE构建,那么我就不会出现这样的错误,大概也是一样的吧?有什么想法吗?

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

现在有一个选项可以避免这些误报
如果使用静态方法LoadFromDacpac(doc)而不是TSqlModel的构造函数,则会有一个带有ModelLoadOption参数的签名。如果为该对象的属性LoadAsScriptBackedModel(doc)指定true,则会出现误报

相关内容

  • 没有找到相关文章

最新更新