C# 如何创建要加载到SQLServer2008中的c程序集

C# 如何创建要加载到SQLServer2008中的c程序集,c#,sql-server-2008,assemblies,C#,Sql Server 2008,Assemblies,我想知道是否有人能为我提供一些关于创建C程序集的指导或书籍建议,该程序集将加载到sqlserver并在新数据进入时在数据库上运行 背景: 我有几年的Java经验,并创建了一个算法来运行从sql查询检索到的数据。我的雇主现在希望我将其创建为一个c程序集,它直接位于数据库上,并在数据进入时或在周期点执行分析,如果数据超过某个阈值,则发出警报 我从来没有用c编写过代码,但我听说它与Java非常相似。在这里学习c不是我的问题,我想我可以从在线资源中学习。我很难找到有关程序集的信息,以及它如何绑定到sql

我想知道是否有人能为我提供一些关于创建C程序集的指导或书籍建议,该程序集将加载到sqlserver并在新数据进入时在数据库上运行

背景: 我有几年的Java经验,并创建了一个算法来运行从sql查询检索到的数据。我的雇主现在希望我将其创建为一个c程序集,它直接位于数据库上,并在数据进入时或在周期点执行分析,如果数据超过某个阈值,则发出警报

我从来没有用c编写过代码,但我听说它与Java非常相似。在这里学习c不是我的问题,我想我可以从在线资源中学习。我很难找到有关程序集的信息,以及它如何绑定到sqlserver/如果需要在代码中执行任何特定操作以使其正常工作,那么

我一直在网上浏览微软的msdn库以获得一个想法,我想我正在寻找的是一个C SQL CLR数据库项目

这对我正在努力实现的目标正确吗?如果是这样的话,在进行此项工作时,是否有人有任何提示/注意事项


附言:有没有办法以某种方式直接处理表格?而不是像我使用Java那样不断地对数据执行查询?我不确定这是否可行,但我认为可能是因为程序集以某种方式直接连接到数据库。

您可以使用c为sql server构建。要使此函数在插入新数据时运行,您可以为调用该函数的相关表编写一个函数,作为上的select查询的一部分。

在Simple Talk上查看这篇介绍文章:


它很好地展示了如何构建SQL CLR程序集并从SQL Server内部使用它。

数据是如何进来的。它是导入的还是某个应用程序将它们放入的?如果必须处理数据集,那么最好像以前那样查询数据库。根据执行分析所需的数据集大小,可能还有其他选项。但是如果没有更多的信息,很难指导你。我将不得不进一步研究,因为我实际上不知道。我们从外部站点获取数据,并在sqlserver中进行一系列处理,我相信在实际插入到表中之前。我将要处理的数据非常大,目前没有那么多,但它计划要大得多,目前它只查询314行,但在未来它将是成千上万的东西,我认为构建CLR UDF用户定义函数并不总是最好的方法。根据我的经验,99%的情况下,您实际上可以从本机SQL Server解决方案中获得更好的性能,即使您必须使用XML查询或其他方式进行一些转换。我曾经构建了一个整洁的UDF聚合,将字符串合并到一列中,它工作得很好,但是一个纯SQL Server XML查询XPath解决方案被证明更快。在SQLServer中,如果可能的话,我会首先寻找本机SQL解决方案。或者在数据到达服务器之前对其进行处理。我需要所有数据,因为我正在对其执行空间分析,所以在数据到达服务器之前,我不可能只处理数据。我对插入的表有一个问题,因为从我的阅读来看,它似乎只存储正在添加的行。我需要将这些数据包括在所有数据的分析中,是我读错了还是插入的表只存储新添加的行?@Mike插入的表只存储新行。如果您需要所有数据,您的触发器仍然可以与其他表通信。