When I run the following code in C# to access to database schema with a table named CheckListBilling_Transact_Tbl that has 925601 rows.
public void displayProducts()
DateTime t1 = new DateTime();
DateTime t2 = new DateTime();
//Instantiate OracleDataAdapter to create DataSet
productsAdapter = new OracleDataAdapter();
//Fetch Product Details
productsAdapter.SelectCommand = new OracleCommand("SELECT * FROM
//Instantiate DataSet object
productsDataSet = new DataSet("productsDataSet");
//take time before execute the data adapter
t1 = DateTime.Now;
//Fill the DataSet with data from ‘Products’ database table
t2 = DateTime.Now;
//TimeSpan td1 = new TimeSpan(t1.Hour, t1.Minute, t1.Second);
//TimeSpan td2 = new TimeSpan(t2.Hour, t2.Minute, t2.Second);
TimeSpan td = t2.Subtract(t1);
//setting ‘productsDataSet’ as the datasouce and ‘Products’ table
//as the table to which the ‘productsDataGrid’ is Bound.
productsDataGrid.DataSource = productsDataSet;
productsDataGrid.DataMember = "Products";
catch (Exception ex)
//Display error message
I got the following error:
ContextSwitchDeadlock was detected
Message: The CLR has been unable to transition from COM context 0x2090a8 to COM context 0x209218 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.
I found a link “http://harriyott.com/2006/05/contextswitchdeadlock-was-detected.aspx” for this error. Basically going to Visual Studio 2008 menu:
Debug -> Exceptions -> Managed Debug Assistants
and unchecking the ContextSwitchDeadlock item
It tooks 4 minutes and 25 seconds to populate the DataGridView but so far so good.