PDA

View Full Version : خطای new transaction is not allowed because there are other threads running in the session



amir.khanlari
یک شنبه 20 فروردین 1391, 16:44 عصر
سلام دوستان.
من توی برنامم وقتی دارم اطلاعات رو توی دیتابیسم ذخیره می کنم به این خطا برخورد می کنم


System.Data.SqlClient.SqlException was caught
Message=New transaction is not allowed because there are other threads running in the session.
Source=.Net SqlClient Data Provider
ErrorCode=-2146232060
Class=16
LineNumber=1
Number=3988
Procedure=""
Server=92.....\mssqlserver2008
State=1
StackTrace:
at System.Data.SqlClient.SqlConnection.OnError(SqlExc eption exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnErro r(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndW arning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.TdsExecuteTransact ionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj, Boolean isDelegateControlRequest)
at System.Data.SqlClient.SqlInternalConnectionTds.Exe cuteTransactionYukon(TransactionRequest transactionRequest, String transactionName, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest)
at System.Data.SqlClient.SqlInternalConnectionTds.Exe cuteTransaction(TransactionRequest transactionRequest, String name, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest)
at System.Data.SqlClient.SqlInternalConnection.BeginS qlTransaction(IsolationLevel iso, String transactionName)
at System.Data.SqlClient.SqlInternalConnection.BeginT ransaction(IsolationLevel iso)
at System.Data.SqlClient.SqlConnection.BeginDbTransac tion(IsolationLevel isolationLevel)
at System.Data.Common.DbConnection.System.Data.IDbCon nection.BeginTransaction()
at DevExpress.Xpo.DB.ConnectionProviderSql.Connection BeginTransaction(Object il)
at DevExpress.Xpo.DB.ConnectionProviderSql.BeginTrans actionCore(Object il)
at DevExpress.Xpo.DB.ConnectionProviderSql.BeginTrans action()
at DevExpress.Xpo.DB.MSSqlConnectionProvider.ProcessM odifyData(ModificationStatement[] dmlStatements)
at DevExpress.Xpo.DB.DataStoreSerializedBase.ModifyDa ta(ModificationStatement[] dmlStatements)
at DevExpress.Xpo.DB.ConnectionProviderSql.ModifyData (ModificationStatement[] dmlStatements)
at DevExpress.Xpo.SimpleDataLayer.ModifyData(Modifica tionStatement[] dmlStatements)
at DevExpress.Xpo.Helpers.DataLayerWrapperS18452.Modi fyData(ModificationStatement[] dmlStatements)
at DevExpress.Xpo.SimpleObjectLayer.CommitChanges(Ses sion session, ICollection fullListForDelete, ICollection completeListForSave)
at DevExpress.Xpo.Session.FlushChangesInsideTransacti on()
at DevExpress.Xpo.Session.FlushChanges()
at DevExpress.Xpo.Session.ProcessingProcess(ObjectSet markedObjectsHolder, Object theObject)
at DevExpress.Xpo.Session.Save(Object theObject)
at DevExpress.Xpo.XPBaseObject.Save()



از 4 .Net و sqlserver2008 r2 استفاده میکنم.
ممنون میشم اگه کسی کمکم کنه. خیلی حیاتی هستش.
با تشکر

ma_barnamenevis
دوشنبه 21 فروردین 1391, 11:35 صبح
احتمالاً table مربوطه تحت عملیات دیگری lock شده ، اگر مطمئنی هیچ عملیاتی روی دیتابیس ات run نیست یکبار سرویس sql ات رو stop ، start کن .