0 votes

We are logging to an external MS SQL database and it stopped working 3 days ago. The following information was found in the Server event log:

Log Name: Adaxes
Source: Adaxes Service
Date: 2/24/2017 4:12:59 PM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: ADAXES01.co.wake.nc.us
Description:
Softerra.Adaxes.Logger+LogMessageWrappingException: Failed to save log records to the external database. ---> System.OverflowException: Arithmetic operation resulted in an overflow.
at System.Data.SQLite.SQLite3.GetBytes(SQLiteStatement stmt, Int32 index, Int32 nDataOffset, Byte[] bDest, Int32 nStart, Int32 nLength)
at System.Data.SQLite.SQLiteDataReader.GetBytes(Int32 i, Int64 fieldOffset, Byte[] buffer, Int32 bufferoffset, Int32 length)
at #9k.#al.Convert(IDataRecord dataRecord)
at #9k.#1l.ExecuteSelectQuery[T](String query, IList1 parameters, IDataRecordConverter1 converter, IDbCommand command)
at #9k.#4l.ExecuteSelectQuery[T](String query, IList1 parameters, IDataRecordConverter1 converter)
at Softerra.Adaxes.Logging.SQLiteAccessProvider.ExecuteSelectQuery[T](String query, IList1 queryParameters, IDataRecordConverter1 converter)
at Softerra.Adaxes.Logging.SQLiteAccessProvider.GetExecutionLog(Guid logRecordId)
at Softerra.Adaxes.Logging.DBAccessProvider.LoadExecutionLog(Guid logRecordId)
at Softerra.Adaxes.Logging.AdmLogRecord.GetExecutionLog()
at #Kl.#Pl.InsertRecord(ISqlQueryExecutor queryExecutor, AdmLogRecord record, Guid initiatorId, Guid targetObjectId)
at Softerra.Adaxes.Logging.DBAccessProvider.InsertRecord(ISqlQueryExecutor queryExecutor, AdmLogRecord record)
at #9k.#zl.#i.#Al.#0wb()
at #9k.#zl.#i.#Al.#Zwb()
--- End of inner exception stack trace ---
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Adaxes Service" />
<EventID Qualifiers="0">0</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-02-24T21:12:59.000000000Z" />
<EventRecordID>150460</EventRecordID>
<Channel>Adaxes</Channel>
<Computer>ADAXES01.co.wake.nc.us</Computer>
<Security />
</System>
<EventData>
<Data>Softerra.Adaxes.Logger+LogMessageWrappingException: Failed to save log records to the external database. ---> System.OverflowException: Arithmetic operation resulted in an overflow.
at System.Data.SQLite.SQLite3.GetBytes(SQLiteStatement stmt, Int32 index, Int32 nDataOffset, Byte[] bDest, Int32 nStart, Int32 nLength)
at System.Data.SQLite.SQLiteDataReader.GetBytes(Int32 i, Int64 fieldOffset, Byte[] buffer, Int32 bufferoffset, Int32 length)
at #9k.#al.Convert(IDataRecord dataRecord)
at #9k.#1l.ExecuteSelectQuery[T](String query, IList1 parameters, IDataRecordConverter1 converter, IDbCommand command)
at #9k.#4l.ExecuteSelectQuery[T](String query, IList1 parameters, IDataRecordConverter1 converter)
at Softerra.Adaxes.Logging.SQLiteAccessProvider.ExecuteSelectQuery[T](String query, IList1 queryParameters, IDataRecordConverter1 converter)
at Softerra.Adaxes.Logging.SQLiteAccessProvider.GetExecutionLog(Guid logRecordId)
at Softerra.Adaxes.Logging.DBAccessProvider.LoadExecutionLog(Guid logRecordId)
at Softerra.Adaxes.Logging.AdmLogRecord.GetExecutionLog()
at #Kl.#Pl.InsertRecord(ISqlQueryExecutor queryExecutor, AdmLogRecord record, Guid initiatorId, Guid targetObjectId)
at Softerra.Adaxes.Logging.DBAccessProvider.InsertRecord(ISqlQueryExecutor queryExecutor, AdmLogRecord record)
at #9k.#zl.#i.#Al.#0wb()
at #9k.#zl.#i.#Al.#Zwb()
--- End of inner exception stack trace ---</Data>
</EventData>
</Event>

Also, the size of the AdaxesLog.db3 is 633MB. Please let me know if you want me to send it to you.

Thanks

by (870 points)
0

Hello Sandra,

Could you upload the logging database to our FTP site? We sent you the FTP address, email and password by e-mail. Thanks!

1 Answer

0 votes
by (216k points)
selected by
Best answer

Hello,

We've managed to identify the cause for the issue. The thing is that the Execution Log of one of operation stored in the built-in logging database is over 500 Mb (which is nearly 80% of your logging database). Such a big Execution Log cannot be synchronized to an eternal MS SQL database. In Adaxes 2017.1 that will be available approximately in a month, we'll fix the issue. Adaxes will not save Execution Logs of such a size to the built-in database.

We also sent you the steps how to remedy the issue and restore synchronization of log records. Check your inbox.

0

The issue was fixed in Adaxes 2017.1. Now, if the size of an Execution Log of an operation exceeds 10 Megabytes, it will not be saved to Adaxes Service Log. You can download the latest build here.

Upgrade Instructions

What's New

Related questions

0 votes
1 answer

Our Microsoft 365 licensing changed recently. All of our end users has a particular license that is no longer valid (ENTERPRISEPREMIUM = Office 365 E5). I need to give everyone that ... the same time, remove the old license. How can this be set up in Adaxes?

asked Jul 21 by RayBilyk (260 points)
0 votes
1 answer

Our audits require us to provide a report of who has access in applications. Most applications provide a way to produce this access report. Can Adaxes add this feature?

asked Nov 7, 2024 by lavonnabalo (40 points)
0 votes
1 answer

Is there a report that would show the Adaxes websites and who has access to them?

asked Feb 16, 2024 by lavonnabalo (40 points)
0 votes
1 answer

We are currently connecting to SQL 2019 and our DBAs would like to verify SQL 2022 is supported prior to migrating.

asked Jul 15 by tjackson111 (110 points)
0 votes
1 answer

How to grant someone access to see logging in Adaxes Admin Console?

asked Nov 30, 2022 by sra98a (120 points)
3,742 questions
3,420 answers
8,641 comments
550,395 users