我已經由相應的值替換公式,與該大柱結束了:SSIS運行字符串作爲表達
8/4
8+4
9*84
48/74
(8+5)/7
(4*150,5)/(8,05/4,08)
我需要處理這些字符串(WSTR)爲正則表達式,與結束了一個數字值。
最初這是在VBA中用eval函數完成的。
---編輯,因爲答案:
不得不承認我總是避免腳本組件,因爲我從來沒有得到它的工作。
我現在試着與你的鏈接一到這個代碼:
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
Row.OutM01 = Evaluate(Row.M01);
}
static double Evaluate(string expression)
{
var loDataTable = new DataTable();
var loDataColumn = new DataColumn("Eval", typeof(double), expression);
loDataTable.Columns.Add(loDataColumn);
loDataTable.Rows.Add(0);
return (double)(loDataTable.Rows[0]["Eval"]);
}
然而,指定的轉換是無效或語法錯誤是我這輩子唯一得到的。
如果OutM01列是字符串數據類型,則需要使用將Evaluate()函數的輸出轉換爲字符串: Row.OutM01 = Evaluate(Row.M01).ToString(); –