【发布时间】:2019-10-15 14:05:59
【问题描述】:
我有以下场景。
我在 Visual Studio 数据库项目中有一个 SQLCLR 存储过程。这不应该在dbo 模式中,而是在foo 中。正如我所见,使用 Visual Studio 发布功能时,不可能为 SQLCLR 存储过程提供不同的架构。
所以我必须把它包起来。现在我有两个脚本。
一个添加程序集:
CREATE ASSEMBLY [MyAssembly]
FROM 'MyAssembly.dll';
GO
另一个将存储过程添加到数据库中:
CREATE PROCEDURE [foo].[MyProc](@param NVARCHAR(10))
AS EXTERNAL NAME MyAssembly.ClassName.MyProc
GO
但现在由于对MyAssembly 的未解决引用而出现错误。我认为这是因为所有(SQLCLR proc、T-SQL wrapper proc、程序集添加脚本)都在同一个项目中,并且是对自身的引用。
在我自己的数据库架构下部署 SQLCLR 存储过程的最佳方式可能是什么?如果可以将其直接添加到 SQLCLR 实现中,那就太好了。
提前致谢。
【问题讨论】:
标签: sql-server tsql deployment sql-server-data-tools sqlclr