This is a migrated thread and some comments may be shown as answers.

SQLException

1 Answer 172 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Jonas
Top achievements
Rank 1
Jonas asked on 28 Jun 2010, 04:29 PM
Can anyone help me finding the reason for this error. It appears in the event log just under certain circumstances which I am trying to evaluate...

Might be an incorrect disposing of the IObjectScope the cause?
Is the Configuratino of a LinkedServer on DB Level wrong?

The Application working with Telerik is based on a SQL2005 Database. That's why I'm extremly surprised about the "enericADO2 driver is not used with SQL Server 2000" error message...

 

xlang/s engine event log entry: Uncaught exception (see the 'inner exception' below) has suspended an instance of service 'Vontobel.SORE.BizTalk.Processes.OptionPriceProvider(54b808a4-8e42-9da9-9203-bab588bcf1f3)'.

The service instance will remain suspended until administratively resumed or terminated.

If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.

InstanceId: 4232b629-ea68-4253-a1c0-1dea75b116ea

Shape name: Complete QuoteResponse

ShapeId: d69a8f20-251f-4923-94a5-c1b100b6fc13

Exception thrown from: segment 2, progress 67

Inner exception: Error executing query: Telerik.OpenAccess.RT.sql.SQLException: Please check, that the genericADO2 driver is not used with SQL Server 2000 as it does not support MARS; please use instead in the backendconfiguration element: backend="mssql" driver="ntds"

---> System.InvalidOperationException: SqlConnection does not support parallel transactions.

at System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(IsolationLevel iso, String transactionName)

at System.Data.SqlClient.SqlInternalConnection.BeginTransaction(IsolationLevel iso)

at System.Data.SqlClient.SqlConnection.BeginDbTransaction(IsolationLevel isolationLevel)

at System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel)

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.DefBeginTransaction()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.Sql2005Factory.Telerik.OpenAccess.RT.Adonet2Generic.Impl.IADOFactory.BeginTransaction(ConnectionImp c)

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.BeginTxn()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.get_CurrentTransaction()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.Prepare()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeQuery()

--- End of inner exception stack trace ---

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeQuery()

at OpenAccessRuntime.Relational.conn.PooledPreparedStatement.executeQuery()

at OpenAccessRuntime.Relational.fetch.FetchResultImp.execute()

SQL:

SELECT TOP(??T) [id] AS COL1, [bond] AS COL2, [book_trade] AS COL3, [competition] AS COL4, [currency] AS COL5, [data_store] AS COL6, [deritrade_id] AS COL7, [domicile_id] AS COL8, [isin] AS COL9, [issuer_id] AS COL10, [portfolio_id] AS COL11, [position] AS COL12, [price] AS COL13, [price_request_id] AS COL14, [price_type] AS COL15, [pricing_date] AS COL16, [product_id] AS COL17, [requestor_reference_id] AS COL18, [telekurs_symbol] AS COL19, [valor] AS COL20, [valor_intern] AS COL21, [wkn] AS COL22, [voa_version] AS COL23 FROM [price_request] WHERE [price_request_id] = ? Telerik.OpenAccess.RT.sql.SQLException: Please check, that the genericADO2 driver is not used with SQL Server 2000 as it does not support MARS; please use instead in the backendconfiguration element: backend="mssql" driver="ntds"

---> System.InvalidOperationException: SqlConnection does not support parallel transactions.

at System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(IsolationLevel iso, String transactionName)

at System.Data.SqlClient.SqlInternalConnection.BeginTransaction(IsolationLevel iso)

at System.Data.SqlClient.SqlConnection.BeginDbTransaction(IsolationLevel isolationLevel)

at System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel)

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.DefBeginTransaction()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.Sql2005Factory.Telerik.OpenAccess.RT.Adonet2Generic.Impl.IADOFactory.BeginTransaction(ConnectionImp c)

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.BeginTxn()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.get_CurrentTransaction()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.Prepare()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeQuery()

--- End of inner exception stack trace ---

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeQuery()

at OpenAccessRuntime.Relational.conn.PooledPreparedStatement.executeQuery()

at OpenAccessRuntime.Relational.fetch.FetchResultImp.execute()

 

Exception type: DataStoreException

Source: Telerik.OpenAccess

Target Site: Void ThrowException(System.Exception)

The following is a stack trace that identifies the location where the exception occured

at Telerik.OpenAccess.SPI.Backends.ThrowException(Exception e)

at Telerik.OpenAccess.RT.ExceptionWrapper.Throw()

at OpenAccessRuntime.storagemanager.logging.LoggingStorageManager.executeQueryAll(ApplicationContext context, ImmutableQueryDetails query, CompiledQuery compiledQuery, Object[] para, Int32 skip, Int32 take)

at OpenAccessRuntime.DataObjects.UnsynchronizedPMProxy.getAllQueryResults(CompiledQuery cq, Object[] para, Int32 skip, Int32 take)

at OpenAccessRuntime.DataObjects.ForwardQueryResult.resolve()

at OpenAccessRuntime.DataObjects.ForwardQueryResult.get_Count()

at Telerik.OpenAccess.RT.ListEnumerator.get_Count()

at Telerik.OpenAccess.Query.QueryContext.PerformDatabaseQuerySingle[T](Expression expression, Boolean& wasNull, String aggregateMethod, Int32 elemAt)

at Telerik.OpenAccess.Query.QueryContext.ExecuteDynamic[TResult,T](Expression expressionParam, IQueryable`1 query)

at Telerik.OpenAccess.ExtentQuery`1.System.Linq.IQueryProvider.Execute[TResult](Expression expression)

at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source, Expression`1 predicate)

…….

at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

Additional error information:

Please check, that the genericADO2 driver is not used with SQL Server 2000 as it does not support MARS; please use instead in the backendconfiguration element: backend="mssql" driver="ntds"

 

Exception type: SQLException

Source: Telerik.OpenAccess.Adonet2

Target Site: Telerik.OpenAccess.RT.sql.ResultSet executeQuery()

The following is a stack trace that identifies the location where the exception occured

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeQuery()

at OpenAccessRuntime.Relational.conn.PooledPreparedStatement.executeQuery()

at OpenAccessRuntime.Relational.fetch.FetchResultImp.execute()

Additional error information:

SqlConnection does not support parallel transactions.

 

Exception type: InvalidOperationException

Source: System.Data

Target Site: System.Data.SqlClient.SqlTransaction BeginSqlTransaction(System.Data.IsolationLevel, System.String)

The following is a stack trace that identifies the location where the exception occured

at System.Data.SqlClient.SqlInternalConnection.BeginSqlTransaction(IsolationLevel iso, String transactionName)

at System.Data.SqlClient.SqlInternalConnection.BeginTransaction(IsolationLevel iso)

at System.Data.SqlClient.SqlConnection.BeginDbTransaction(IsolationLevel isolationLevel)

at System.Data.Common.DbConnection.System.Data.IDbConnection.BeginTransaction(IsolationLevel isolationLevel)

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.DefBeginTransaction()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.Sql2005Factory.Telerik.OpenAccess.RT.Adonet2Generic.Impl.IADOFactory.BeginTransaction(ConnectionImp c)

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.BeginTxn()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.ConnectionImp.get_CurrentTransaction()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.Prepare()

at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.executeQuery()


Thanx in Advance for any support,
Jonas

1 Answer, 1 is accepted

Sort by
0
Petko_I
Telerik team
answered on 01 Jul 2010, 08:10 PM
Hi Jonas,

You can have a look at the inner exception in the stack trace. The message “SqlConnection does not support parallel transactions” implies that you are trying to mix read operations on a connection with a running transaction. This behavior is usually observed when you use one global IObjectScope with multiple threads. The scenario “one scope per thread” is the recommended one to use in your application. Here is a knowledge base article which shows how to manage contexts in threads. It also applies to the IObjectScope management.  You can also find this blog post useful.

Hope this will resolve your problem. However, if you have further questions regarding this exception or something else, do not hesitate to contact us.

Greetings,
Petko_I
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Tags
General Discussions
Asked by
Jonas
Top achievements
Rank 1
Answers by
Petko_I
Telerik team
Share this question
or