我们有一个winform应用程序,需要显示在服务器上存在的DB上计算的一些结果。
在当前的解决方案中,我们有一个VPN连接将我们连接到服务器数据库,我们使用正常的SQLConnection从服务器DB查询数据。我们得到数据,然后我们在客户端进行计算 对于带宽利用率,我们希望计算在服务器端完成,最终结果只发送给用户。
所以客户端只执行
double[] getResults(tableName t, ColumnName c, Key k)
{ //execute at the server
return results;
}
实现这一目标的最简单方法是什么?请给我详细信息
谢谢
答案 0 :(得分:1)
嗯,最不“移动的部分”是在数据库服务器上进行TSQL处理,但这可能不是一个好主意(取决于场景)。
假设您要在C#中进行处理,您应该在Web服务器(如IIS)中托管WCF或asmx(WSE)服务,并在客户端应用程序和服务之间添加服务引用。该服务执行对数据库和处理的调用,并返回double[]
。
然而,这是相当多的基础设施...
您还可以在Windows服务(甚至是控制台exe)中托管WCF,这可能会让生活更轻松(没有IIS)。
答案 1 :(得分:0)
这取决于这是什么类型的计算。 您可以使用T-SQL解决它,或者如果您使用的是SQL2005及更高版本,则可以在CLR-FUNCTION中使用C#。