当使用visual studio 发布SQL项目的代码到数据库(Publish or Script), SqlPackage 如下三句 ALTER ASSEMBLY statements(假设CLR包的名称为DataWarehouse_db):
ALTER ASSEMBLY [DataWarehouse_db]
DROP FILE ALL;
GO
ALTER ASSEMBLY [DataWarehouse_db]
FROM 0x4D5A90000300000…;
GO
ALTER ASSEMBLY [DataWarehouse_db]
DROP FILE ALL
ADD FILE FROM 0x4D6963726F736F6674…
AS N’DataWarehouse_db.pdb’
如果目标数据库已经存在该CLR安装包,有时候上面第二句代码一直报如下错误:
ALTER ASSEMBLY failed because the source assembly is, according to MVID, identical to an assembly that is already registered under the name “DataWarehouse_db”.
解决方法:
右键CLR项目,选择properites,切换到DEBUG页签,最底下可以看到2. " Do not use ALTER ASSEMBLY statements to update CLR types " 选项
把该选项勾上,再发布,就能避开上面那个坑了.
本文介绍在使用VisualStudio发布SQL项目时,遇到的ALTERASSEMBLY更新CLR包失败问题及其解决方案。当目标数据库已存在相同的CLR包时,发布过程可能因MVID冲突而失败。文章提供了通过修改CLR项目属性来规避此问题的方法。
485

被折叠的 条评论
为什么被折叠?



