在SQL Server中嵌入.NET程序集的最佳实践

时间:2008-09-16 13:09:32

标签: .net sql-server-2005 assemblies

创建将嵌入到SQL Server 2005的.NET程序集时要遵循哪些重要的做法?

我是新手,我发现有很多重要的方法属性,如:

[SqlFunction(FillRowMethodName = "FillRow", TableDefinition = "letter nchar(1)")]

我也在寻找避免常见的陷阱等等。

3 个答案:

答案 0 :(得分:2)

我记得的一些:

  • 将其使用率降至最低,仅在T-SQL过于复杂时才使用它。
  • 不惜一切代价避免使用指针/游标,因为for循环在CLR环境中很容易被滥用。
  • 除非完全必要,否则仅使用SQL-Server本机数据类型。

不记得我在哪里找到了这些信息,但那些是我记得的。

基本上,只有在声明性T-SQL过于复杂或无法做到时(例如注册表编辑等)才使用它。

答案 1 :(得分:1)

关于装配部署的单一提示:

在小型装配体中保持功能隔离。尽量不要构建依赖关系链,因为更换基础程序集意味着在更新基础程序集之前需要首先删除依赖程序集

答案 2 :(得分:-1)

我强烈建议不要将.net程序集放在数据库服务器中,考虑使用n层应用程序。持久性< - 业务逻辑< -Presentation Logic< - 客户端 将您的逻辑保留在业务逻辑层中。

我能想到将.net放在你的数据库中的唯一原因就是添加一个新的复杂数据类型,我强烈认为这是一个只保存数据并且不对其进行处理的哑类。

仅仅因为你不能意味着你应该这样做。 很抱歉没有直接回答您的问题。