none
[C# / SQL Server] Echec de création de transaction RRS feed

  • Question

  • Bonjour,

    Ce problème ne se produit qu'en mode debug.

    A la création de ma première transaction explicite, j’obtiens le message suivant :

    System.Data.OleDb.OleDbException
      HResult=0x8004D01D
      Message=Impossible de créer une nouvelle transaction en raison d'un dépassement de capacité.
      Source=System.Data
      Arborescence des appels de procédure :
       à System.Data.OleDb.OleDbTransaction.ProcessResults(OleDbHResult hr)
       à System.Data.OleDb.OleDbTransaction.BeginInternal(ITransactionLocal transaction)
       à System.Data.OleDb.OleDbConnectionInternal.BeginTransaction(IsolationLevel isolationLevel)
       à System.Data.OleDb.OleDbConnection.BeginTransaction(IsolationLevel isolationLevel)
       à System.Data.OleDb.OleDbConnection.BeginTransaction()
       à EscrimeManager.XmlFfeTools..ctor(String xml) dans C:\srcGit\escrime-manager\EscrimeManager\Competition\XmlFfeTools.cs :ligne 52
       à EscrimeManager.Editor_Competition.C_ReadXml_Click(Object sender, EventArgs e) dans C:\srcGit\escrime-manager\EscrimeManager\Competition\Editor_Competition.cs :ligne 290
       à System.Windows.Forms.Control.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       à System.Windows.Forms.Control.WndProc(Message& m)
       à System.Windows.Forms.ButtonBase.WndProc(Message& m)
       à System.Windows.Forms.Button.WndProc(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.RunDialog(Form form)
       à System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
       à System.Windows.Forms.Form.ShowDialog()
       à EscrimeManager.FormCompetition.Edit(Object sender, EventArgs e) dans C:\srcGit\escrime-manager\EscrimeManager\Competition\FormCompetition.cs :ligne 252
       à EscrimeManager.FormCompetition.dgv_membres_CellMouseDoubleClick(Object sender, DataGridViewCellMouseEventArgs e) dans C:\srcGit\escrime-manager\EscrimeManager\Competition\FormCompetition.cs :ligne 109
       à System.Windows.Forms.DataGridView.OnCellMouseDoubleClick(DataGridViewCellMouseEventArgs e)
       à System.Windows.Forms.DataGridView.OnMouseDoubleClick(MouseEventArgs e)
       à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       à System.Windows.Forms.Control.WndProc(Message& m)
       à System.Windows.Forms.DataGridView.WndProc(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.RunDialog(Form form)
       à System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
       à System.Windows.Forms.Form.ShowDialog()
       à EscrimeManager.EscrimeManager.CompetTile_Click(Object sender, EventArgs e) dans C:\srcGit\escrime-manager\EscrimeManager\EscrimeManager.cs :ligne 225
       à System.Windows.Forms.Control.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
       à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
       à System.Windows.Forms.Control.WndProc(Message& m)
       à System.Windows.Forms.ButtonBase.WndProc(Message& m)
       à System.Windows.Forms.Button.WndProc(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.Run(Form mainForm)
       à EscrimeManager.Program.Main() dans C:\srcGit\escrime-manager\EscrimeManager\Program.cs :ligne 49


    1/ Un dépassement de capacité de quoi ? de quel objet / mémoire ?

    2/ Il n'y a pas eu précédemment dans l’exécution d'autres ouvertures de transactions explicite qui n'aurait été fermé.

    3/ En Release, aucun bug. Le BeginTrans + Rollback ou Commit fonctionne parfaitement

    4/ Précédemment dans l’exécution du logiciel, les seuls requêtes exécutés sont des SELECT.

    Par avance, merci pour votre aide.

    Quentin

    jeudi 22 novembre 2018 10:40

Toutes les réponses