SQLException

Thread is closed for posting
2 posts, 0 answers
  1. Jonas
    Jonas avatar
    1 posts
    Member since:
    Jun 2010

    Posted 28 Jun 2010 Link to this post

    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

  2. Petko_I
    Admin
    Petko_I avatar
    184 posts

    Posted 01 Jul 2010 Link to this post

    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
Back to Top