我有一个SQL Server存储过程已经使用多年了。此存储过程调用许多其他过程。我想一次一个地提取每个内部过程,并将其业务逻辑实现到.NET类项目。
为了做到这一点,我必须从父存储过程调用.NET程序集,并且父程序将使用返回的结果。由于SQL Server 2005及更高版本具有CLR集成,所以我认为,在存储过程[或任何数据库对象]中执行.NET程序集应该不是什么大问题,请你指点一些我可以找到示例或文章来实现的参考资料它?
非常感谢你的帮助。
答案 0 :(得分:3)
我真的觉得这不适合使用SQL CLR。 CLR集成的目的是支持在纯SQL中通常很难做到的复杂数据类型和操作(例如序列,正则表达式,层次结构,地理空间等)。不要在数据库中实现域模型。
域模型和业务逻辑与关系/数据模型分开。他们应该处于某种适当的业务层。不要使用CLR将它们破解到数据库中。
(注意:我使用SQLCLR很有用。我不是在讨论CLR集成。我只是不认为这个问题反映了一个明智的设计决定。)
答案 1 :(得分:0)
MSDN
Building my First SQL Server 2005 CLR
An Intro to CLR Integration in SQL Server 2005
For loads more;)
答案 2 :(得分:0)
我认为您应该使用SQL Server Integration Services(SSIS)。据我了解,它解决了这种情况,编排了程序调用,并为您提供了更多...
我不太确定在db层之外移动这个决定是一个好的决定。
希望有所帮助......