我有一个关于字符串表达式评估的问题。目前,我正在处理需要从存储在数据库中的字符串中计算数学表达式的项目,我想让C#方法评估此字符串,并且此函数将从存储过程或添加到数据库的函数运行。所以问题是我想在我的C#函数中使用已经创建的解决方案,如NCalc或Jace.Net,但是如果我想从db运行它,我需要将dll(例如NCalc.dll或Jace.dll)添加到db部件。并且添加这些解决方案是相当有问题的,NCalc使用不安全的代码,并且Sql服务器不能从该dll运行方法,而Jace需要许多额外的dll,需要将其添加到数据库中,这是不可接受的解决方案。因此,如果任何人知道可以添加到数据库并运行的工作表达式评估器? Thx提前寻求帮助。数学表达式评估
我使用Microsoft SQL Server 2012(SP1) - 11.0.3128.0(X64)2)和.NET Framework 4.5
您的计算有多复杂?简单的+ -/*()可以使用XPathDocument来完成,或者你可以编写你自己的。这些可以在托管代码中没有任何第三方dll的情况下运行。请参阅http://answers.unity3d.com/questions/34349/how-to-evaluate-a-mathematical-expression-in-unity.html – Maarten
类似这样的: int [] table = {1,2,3, 4,5}; int [] table2 = {1,3,4,5,7,100};公式.Evaluate(“(Avg([x]))/ [y] + Max([z])”,表格,10,table2),10); 这是相当复杂的,在将来我需要能够使用像FFT或STDEV计算 – blindepl
假设你有clr函数“评估”。你能证明你将如何从T-SQL中调用它吗?许多事情应该变得清楚。例如你如何将数组传递给CLR函数? –