我们有一个Windows应用程序,它询问两个数据库,然后生成一些文件并将它们放在FTP站点上。它还可以从FTP站点恢复文件并更新数据库。
这个应用程序是关于数据和文件,因此我倾向于CLR方法(我是初学者)
我们认为我们可以将业务逻辑放入CLR程序集并通过SQL Server代理程序作业执行逻辑(执行存储过程Doit
每天说)。基本上使流程自动化。
我们可以完全控制FTP站点和数据库服务器,因此“UNSAFE”之类的东西不是问题。
我的问题是:
鉴于需要访问FTP站点和两个数据库,这是否合理使用该技术?
感谢
答案 0 :(得分:0)
我不这么认为。通常,当我必须在SQL Server中执行某项无法轻松完成的任务时,我在SQL Server中使用CLR函数/ proc。一个例子是对数据执行正则表达式搜索。这是很久以前所以我不确定现在是否有更好的方法,但CLR功能是一个现实的选择。
根据您的情况,我会设想一个.NET应用程序,它使用标准方法来访问数据库,FTP的东西,并做其他任何事情。如果您想每天运行该作业,可以在Windows调度程序中设置一个任务来运行它。
答案 1 :(得分:0)
我有几个类似的应用程序。它肯定是CLR技术的有效用例。
但是,如果可能的话,我会倾向于使用SSIS包。对于像这样的事情,这是(更多)通常的做法。在我的情况下,我使用了CLR程序集,因为我的业务逻辑非常复杂,而且对我来说更容易在C#中编码,而不是在SSIS中编码。