Article Details
Id:10649
Product:finPOWER Connect
Type:NEW
Version:1.06.05
Opened:10/09/2012
Closed:01/11/2012
Released:26/11/2012
Job: J010360
High Importance
Breaking Change

Only disconnected datareaders can now be created from Scripts and external applications

Calling the finBL.Database.ExecuteDataReader method has always returned a 'disconnected' .NET datareader when used from a Script or external application. This is a safeguard since some databases only allow a certain number of 'connected' datareaders and will run into issues if the datareader is not closed correctly using the finBL.Database.DataReaderClose method.

Also, MS SQL Server may, under certain circumstances (e.g., when finPOWER Connect is running from Citrix or Terminal Services/ RDS), run into threading issues that may cause transactions to fail when using connected datareaders. An error message similar to the one shown below may occur:

New transaction is not allowed because there are other threads running in the session.

Previously, calling the ExecuteDataReader method of the ISSelectQueryBuilder object would, by default, use a connected datareader. Even though this method has a parameter to use a disconnected datareader, Scripts had to remember to specify this parameter which was not ideal.

Now, when calling the ExecuteDataReader method of the ISSelectQueryBuilder object from a Script or external application, a disconnected datareader is always used.