Недостаточно памяти для выполнения этой операции в SQL Server CE - PullRequest
3 голосов
/ 03 апреля 2012

Я занимаюсь разработкой приложения для устройств без монитора, так как у меня есть два приложения, оба должны работать одновременно, и оба обращаются к одному и тому же файлу SQL Server CE .sdf.

Если я запускаю один за другим, все работает нормально. Но при запуске обоих одновременно SQL Server CE вызывает исключение, которое

Недостаточно памяти для завершения этой операции.

Это мой код:

private void WriteToBD(string _serialNum, string _dataBytes)
{
   try
   {
      using (_con = new SqlCeConnection(@"Data Source=\NandFlash\PLCPackets.sdf;"))
      {
         _con.Open();

         string str = "insert into PLCPacket(SerialNum,Data) values('" + _serialNum + "','" + _dataBytes + "')";

         using (SqlCeCommand _cmd = new SqlCeCommand(str, _con))
         {
            //_cmd.CommandType = System.Data.CommandType.Text;
            int rowsAffected = _cmd.ExecuteNonQuery();
         }
      }
   }
   catch (Exception ex)
   {
      LogData.WriteFile(ex.Message);
   }
   finally
   {
      _con.Close();
      _con.Dispose();
   }
}

1 Ответ

1 голос
/ 09 июня 2012

Вы можете использовать mode=read write явно в строке подключения. Вы можете найти больше информации в этом справочном документе MSDN .

...