2015-11-20 3 views
0
  • C# проект/Visual Studio 2015
  • Сборка ПК для Windows 7 Pro 64 бит
  • Клиент PC Windows 7 32 бит (x86)
  • SQL Server Compact 4.0 /. NET Framework 4,5

Код:SQL Server Compact 4.0 не работает на x86

/// <summary> 
/// Connects this instance. 
/// </summary> 
/// <returns></returns> 
public bool Connect() 
{ 
      bool connected = true; 
      string cs = Properties.Settings.Default.ConnectionString; 

      try 
      { 
       cnn = new SqlCeConnection(cs); 
       cnn.Open(); 
       connected = true; 
      } 
      catch(System.ArgumentException ae) 
      { 
       connected = false; 

       if(ae.HResult == -2146233067) 
       { 
        MessageBox.Show("Please check database location setting", "Arkema Database Connection Error", MessageBoxButton.OK, MessageBoxImage.Error); 
       } 
       return connected; 
      } 
      catch(SqlCeException ex) 
      { 
       connected = false; 
       MessageBox.Show(ex.ToString(), "Arkema Database Connection Error", MessageBoxButton.OK, MessageBoxImage.Error); 
       return connected; 
      } 

      return connected; 
} 

файл БД НЕТ T поврежден и НЕ зашифрован. Приложение работает так, как это предусмотрено на ПК сборки.

Получение следующее сообщение об ошибке, когда приложение пытается подключиться к базе данных на клиентском компьютере:

System.Data.SqlServerCe.SqlCeException (x800004005): Файл базы данных может быть поврежден. Запустите утилиту восстановления, чтобы проверить файл базы данных.

Я использовал CompactView, чтобы восстановить базу данных и получил следующее сообщение:

System.Data.SqlServerCe.SqlCeException (x800004005): Режим шифрования базы данных недопустим ..

Я добавил файлы sqlce...40.dll в папку приложения, и это не сработало.

Также попробовал отключить предпочитает 32bit, попробовал x86 вместо Any C PU

Помогите!

+0

Строка подключения, пожалуйста! Что происходит, когда вы открываете файл с помощью SQL Server Compact Tolbox на клиентском компьютере? – ErikEJ

+0

Строка соединения - это обычный «Datasource = C: \ SomeFolder \ SomeDatabase.sdf». SQL Server Compact Toolbox является надстройкой Visual Studio. Для этого потребуется Visual Studio на клиентском ПК. Используя CompactView, я вижу данные. – ConcordCA

ответ

0

Слишком много часов, слишком много стресса. У меня был SQLite '.db'extension вместо расширения SQLCompact' .sdf. '

Основные смущения. Спасибо, ErikEJ за вопрос о строке подключения.

Смежные вопросы