Zur Zeit habe ich das Problem, dass SAP Sybase SQL Anywhere
nach dem Zufallsprinzip NullReference Exceptions
in einem Dienst generiert, der viele SQL-Abfragen ausführt. Die Verbindungen werden immer in einem using
-Block erstellt und korrekt geöffnet und geschlossen. Es gibt nicht viele parallele Verbindungen, aber nach einer Weile (zufällig) wird die folgende Ausnahme ausgelöst:
Ausnahme: System.NullReferenceException: Das Objekt wurde nicht auf eine Instanz festgelegt. bei iAnywhere.Data.SQLAnywhere.SAConnection.Dispose (Boolean disposing) bei iAnywhere.Data.SQLAnywhere.SAConnection.Close () bei iAnywhere.Data.SQLAnywhere.SAConnection.get_State () bei product.Framework.DAL.ConnectionManager.GetOpenPoolConnection [T] (String Modulname, String-Verbindung, Boolean resizePoolOnRimteOut, Int64 Time Out, Boolean isSecondTry) bei product.Framework.DAL.ORM.Sybase.SybaseStack.LoadDataFromDB [T] (Zeichenfolge where_part, String connectionStringName, Object [] sa_params) bei product.Framework.DAL.ORM.Sybase.SybaseStack.LoadData [T] (Zeichenfolge optWherePart, Object [] -Parameter) bei product.PlugIn.DocCenterClient.AS_Modules.DefaultInstanceDataExportModule.DoSingalProcessing () bei System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, ContextCallback-Callback, Objektstatus, Boolean preserveSyncCt x) bei System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback-Callback, Objektstatus, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback-Callback, Objektzustand) bei System.Threading.ThreadHelper.ThreadStart ()
Weiß jemand, woran dieses Verhalten liegt? Wir konnten keine Regelmäßigkeit feststellen.
BEARBEITEN
Die Ausnahme wird ausgelöst, wenn öffnende und schließende Verbindungen hergestellt werden.
BEARBEITEN
Wir verwenden SAP SQL Anywhere 12
als Datenbankmodul / Server und SAP SQL Anywhere 16
als Clientkomponente.
BEARBEITEN
%Vor% GetOpenPoolConnection
erstellt nur ein neues SAConnection
und öffnet es.
BEARBEITEN
Alle Fehler, die dies verursachen, sollten gelöst werden, da wir eine neuere Version von ADO .Net Driver
verwenden. Zum Beispiel: Ссылка
Fälle:
BEARBEITEN
%Vor%Vielen Dank!
Tags und Links sql c# nullreferenceexception sqlanywhere