Improving performance for data row loop

I have a data table, filled with data from an sql view. Then, I have a need to populate specific rows with values, queried from oracle plsql, We do not use DBLINK.

I have come up with this approach:

foreach(DataRow row in tb.Rows) {     foreach(DataColumn column in tb.Columns)     {         var rowIndex = tb.Columns.IndexOf(column.ColumnName);         switch (column.ColumnName)         {             case "someColumn":                 column.ReadOnly = false;                 column.MaxLength = 500;                 oneIndex = tb.Columns.IndexOf("columname");                 twoIndex = tb.Columns.IndexOf("columname");                 threeIndex = tb.Columns.IndexOf("columname");                 row[rowIndex] = policyData                     .AccumulatedIntakeSumForEmployer(row[oneIndex].ToString(),                         row[twoIndex].ToString(),                         row[threeIndex].ToString())                     .ToString(CultureInfo.InvariantCulture);                 break; 

Problem is, when the row count is high (2000 rows or more) it will take a lot of time to populate the rows (15 rows to be modified, 45 columns to loop through)

Is there any way to improve this approach and create a faster sorting algorithm for the DataTable Not using Parallel.?