Предел доступа к транзакции БД

Существует ли ограничение на количество операций вставки, которые вы можете выполнить в транзакции Access, прежде чем выполнять фиксацию или до того, как Access / Jet выдаст ошибку?

В настоящее время я запускаю следующий код в надежде определить, что это за максимум.

OleDbConnection cn =
                new OleDbConnection(
                    @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\temp\myAccessFile.accdb;Persist Security Info=False;");
            try
            {
                cn.Open();
                oleCommand = new OleDbCommand("BEGIN TRANSACTION", cn);               
                oleCommand.ExecuteNonQuery();    
                oleCommand.CommandText =
                            "insert into [table1] (name) values ('1000000000001000000000000010000000000000')";

                for (i = 0; i < 25000000; i++)
                {
                    oleCommand.ExecuteNonQuery();
                }                

                oleCommand.CommandText = "COMMIT";
                oleCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

            }
            finally
            {
                try
                {

                    oleCommand.CommandText = "COMMIT";
                    oleCommand.ExecuteNonQuery();                    
                }

                catch{}

                if (cn.State != ConnectionState.Closed)
                {
                    cn.Close();
                }
            }

Ошибка, которую я получил в производственном приложении при достижении 2,333,920 вставок в одной незафиксированной транзакции, была следующей: «Превышено число блокировок общего доступа к файлам. Увеличьте запись реестра MaxLocksPerFile». Отключение транзакций решило эту проблему.

Ответы на вопрос(2)

Ваш ответ на вопрос