|
Модераторы: Akina |
|
chipik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.9.2016 Репутация: нет Всего: нет |
Здравствуйте, помогите пожалуйста. Имеется база данных на ms sql compact 4.0, раньше работало все нормально , я периодически забирал базу методом ctrl+c ctrl+v с целью резервного хранения на другом компьютере. С недавних пор при попытке открыть базу данных через программу CompactView появляется сообщение "Невозможно открыть базу данных. Разрушительный сбой". У людей на компьютере (Windows XP) приложение и база данных работают стабильно, я же у себя ничего открыть не могу (Windows 7). При попытке запуска приложения .Net Framework(версии везде одинаковые 4.0) выдает следующее:
"Необрабатываемое исключение в приложении .... Разрушительный сбой" Сведения: Подробная информация об использовании оперативной (JIT) отладки вместо данного диалогового окна содержится в конце этого сообщения. ************** Текст исключения ************** System.Data.SqlServerCe.SqlCeException (0x80004005): Разрушительный сбой в System.Data.SqlServerCe.SqlCeConnection.Open(Boolean silent) в System.Data.SqlServerCe.SqlCeConnection.Open() в System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) в System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) в System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) в KMPR.kmprDataSet1TableAdapters.staffTableAdapter.Fill(staffDataTable dataTable) в d:\KMPR программа С#\KMPR\kmprDataSet.Designer.cs:строка 12850 в KMPR.Authorization.Authorization_Load(Object sender, EventArgs e) в d:\KMPR программа С#\KMPR\Authorization.cs:строка 56 в System.Windows.Forms.Form.OnLoad(EventArgs e) в System.Windows.Forms.Form.OnCreateControl() в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) в System.Windows.Forms.Control.CreateControl() в System.Windows.Forms.Control.WmShowWindow(Message& m) в System.Windows.Forms.Control.WndProc(Message& m) в System.Windows.Forms.ScrollableControl.WndProc(Message& m) в System.Windows.Forms.ContainerControl.WndProc(Message& m) в System.Windows.Forms.Form.WmShowWindow(Message& m) в System.Windows.Forms.Form.WndProc(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) Затем окно ошибки закрывается и открывается еще раз. Физически программа расположена не в d:\KMPR программа С#\KMPR\ , там лежит старый проект. Удаление данной папки не помогло.За последнее время на данной машине поднимался сервер IIS, его остановка не помогает. Подскажите у кого какие идеи. PS если заменить базу данных старыми бэкапами, то приложение запускается нормально. Базу копировал уже раз 5 точно. На компьютере без сервисов пока не проверял, устанавливаю виртуалку. Это сообщение отредактировал(а) chipik - 8.9.2016, 10:22 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 453 |
Я не понимаю, зачем постить стек вызовов приложения, если проблема явно в структуре файла данных сервера...
Visual Studio -> Server Explorer -> Shrink & Repair Либо
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
chipik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.9.2016 Репутация: нет Всего: нет |
Akina, сделал как вы советовали. База восстановилась, но в ней удалились почти все данные. Как вы думаете, почему база не переносится с компьютера? Ведь она идет как поврежденная только когда я ее сбрасываю на флешку, у пользователей работает как работала. Заранее спасибо.
Делал так: SqlCeEngine engine = new SqlCeEngine(@"Data Source=kmpr.sdf;Password=***;Persist Security Info=True"); engine.Repair(null, RepairOption.RecoverAllPossibleRows); |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 453 |
Ну тогда остаётся только экспорт из поломанной БД всех данных и заливка дампа в живую (старой версии или леченную, данные предварительно удалить). Она переносится. А вот приаттачиться не может из-за ошибок (скорее всего в метаданных). Либо в них внесены изменения, отражённые в системной БД (скажем, добавлен локальный пользователь), и не переносящиеся при таком копипасте. Попробуй в качестве эксперимента корректно остановить сервис, и только потом копировать файл данных. И присоединять так же, при остановленном сервисе. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
chipik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.9.2016 Репутация: нет Всего: нет |
Akina, спасибо за советы! Оказалось что шалит флешка, скопировал на другую флешку и все заработало.
|
|||
|
||||
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |