Gds 1011 an error occurred while commit process in progress

как решается ошибка an error occurred while attempting при загрузке Windows. Данная инструкция подойдет

Обновлено 12.06.2017

Ошибка an error occurred while attempting при загрузке Windows

Добрый день уважаемые читатели сегодня хочу рассказать, как решается ошибка an error occurred while attempting при загрузке Windows. Данная инструкция подойдет как для клиентских операционных систем по типу Windows 7, 8.1 и 10, так и для Windows Server. На исправление данной проблемы у вас уйдет не более 10 минут, даже в случае с сервера это не такой уж и большой простой по времени.

Что ознаает error occurred while attempting to read

И так расскажу, что было у меня. У нас есть блейд корзина с блейдами hs22, у них своих дисков нету и загружаются они по fc с СХД netApp, после аварии на одном из блейдов когда шла загрузка windows server 2008 r2, выскочила вот такая ошибка

An error occurred while attempting to read the boot configuration data

File: EFIMicrosoftBootBCD

status: 0xc000000f

Ошибка an error occurred while attempting при загрузке Windows-2

Из ошибки видно, что операционная система не может загрузиться из за загрузчика в файле EFIMicrosoftBootBCD.

Причины ошибки 0xc000000f

  • Повредился загрузчик Windows
  • Случайно удалили загрузочную область

Таблица разделов загрузочного жесткого диска с UEFI GPT

У вас должны быть по крайней мере три раздела.

  • Системный раздел EFI (ESP – EFI System Partition) – 100 Мб (тип раздела — EFI)
  • Резервный раздел Майкрософт – 128 Мб (тип раздела — MSR)
  • Основной раздел Windows – раздел с Windows

UEFI GPT-2

Или еще есть дополнительный раздел.

  • Windows RE

uefi gpt

Давайте поговорим теперь о каждом из них более подробно.

Windows RE

Windows RE это раздел 300 Мб на разделе GPT, и смысл его в том, чтобы содержать данные для восстановления загрузчика. Такой же есть и в системах с разметкой MBR, размером 350 Мб, он еще носит название System Reserved и наряду с RE содержит файлы, необходимые для загрузки Windows.

Среда восстановления находится в файле winre.wim

Windows RE создается в процессе установки Windows.

  1. В процессе создания структуры разделов для Windows RE назначается специальный атрибут 0x8000000000000001. Он является комбинацией двух атрибутов – один блокирует автоматическое назначение буквы диска, а другой – помечает раздел как обязательный для работы системы, что препятствует его удалению из оснастки управления дисками.
  2. К разделу Windows применяется образ системы — стандартный install.wim или настроенный custom.wim. Как следствие, winre.wim оказывается в папке WindowsSystem32Recovery.
  3. На разделе Windows RE создается папка RecoveryWindowsRE, после чего это расположение среды восстановления регистрируется утилитой reagentc.

W:WindowsSystem32reagentc.exe /setreimage /path T:RecoveryWindowsRE /target W:Windows

reagentc.exe входит в состав Windows и запускается она именно с раздела операционной системы. Наряду с регистрацией RE команда перемещает winre.wim с раздела Windows на служебный раздел Windows RE. Если вы хотите увидеть файл, сначала назначьте диску букву с помощью утилиты diskpart. Поскольку файл имеет атрибуты системный и скрытый, быстрее всего его покажет команда dir /ah.

В результате этих действий загрузка в среду восстановления происходит с раздела Windows RE. Подробности процесса я покажу в грядущем рассказе о восстановлении резервной копии.

Раздел Windows RE не является обязательным для работы Windows. Среда восстановления может отсутствовать или находиться прямо на разделе с операционной системой. Однако размещение Windows RE на отдельном разделе преследует две цели:

  1. Загрузка в среду восстановления на ПК с зашифрованным разделом Windows. В среду восстановления невозможно загрузиться, если она находится на разделе с Windows, который зашифрован. Раздел Windows RE исключен из шифрования, поэтому всегда можно попасть в среду и воспользоваться ее инструментами.
  2. Защита среды восстановления от шаловливых рук. Поскольку раздел невозможно удалить в оснастке управления дисками, вероятность его смерти по неосторожности несколько ниже, хотя при желании его несложно удалить с помощью diskpart.

Раздел System (EFI)

Раздел EFI, отформатированный в FAT32, является обязательным для разметки GPT на системах с UEFI. Стандартный размер раздела EFI составляет 100MB, но на дисках расширенного формата 4K Native (секторы 4KB) он увеличен до 260MB ввиду ограничений FAT32. Изготовители ПК могут хранить на этом разделе какие-то свои инструменты, поэтому его размер варьируется в зависимости от производителя.

В разметке GPT раздел EFI выполняет одну из ролей, которая возложена на раздел System Reserved в разметке MBR. Он содержит хранилище конфигурации загрузки (BCD) и файлы, необходимые для загрузки операционной системы.

Раздел MSR (Microsoft System Reserved)

Этот раздел также является обязательным для разметки GPT. Он отформатирован в NTFS и занимает в Windows 8 и 8.1 — 128MB, а в Windows 10 — 16MB. GPT не позволяет использовать скрытые секторы диска (в отличие от MBR), поэтому раздел MSR необходим для служебных операций встроенного и стороннего ПО (например, конвертирование простого диска в динамический).

Несмотря на наличие “System Reserved” в названии, раздел MSR не имеет ничего общего с разделом System Reserved в разметке MBR. Кроме того, он не виден в файловых менеджерах и оснастке управления дисками, хотя diskpart его показывает.

Раздел Windows

Это раздел с операционной системой, к которому применяется стандартный образ install.wim или настроенный образ.

Устраняем error occurred while attempting to read

Как вы помните мы с вами словили вот такую вещь

An error occurred while attempting to read the boot configuration data

File: EFIMicrosoftBootBCD

status: 0xc000000f

Теперь давайте разберемся как с графическими методам так и с методами командной строки.

Утилитой восстановление только для клиентский Windows

Тут мы будем пользоваться точками восстановления Windows, они по умолчанию включены в клиентские Windows 7, 8.1, 10, и это логично, чтобы быстро восстановиться при каких то глюках системы. Тут нам понадобится загрузочная флешка с такой же версией Windows, если у вас например WIndows 8.1 64x то и на флешке должна быть 64 битная версия.

Для Windows 7, это выглядит так

Начав загружать дистрибутив Windows 7 с загрузочной флешки, у вас появится окно установки, в нижнем углу нажмите Восстановление системы.

Ошибка an error occurred while attempting при загрузке Windows-1

У вас появятся параметры, самый первый вариант это выбрать Восстановление запуска

Ошибка an error occurred while attempting при загрузке Windows-5

Буде выполнена попытка восстановить загрузочные области Windows 7

Ошибка an error occurred while attempting при загрузке Windows-2

Жмем Исправить и перезагрузить.

Ошибка an error occurred while attempting при загрузке Windows-3

Если после перезагрузки, у вас осталась ошибка, то снова заходим в данное меню и выбираем уже тогда второй пункт, Восстановление системы Windows 7. Утилита найдет установленную операционную и попытается откатить ее на момент когда она работала корректно, ваши персональные данные не пострадают, максимум вы можете не досчитаться программ.

Ошибка an error occurred while attempting при загрузке Windows-4

Для Windows 8.1 и 10, это выглядит так

Ошибка an error occurred while attempting при загрузке решается так же, вы создаете загрузочную флешку с Windows 8.1, как это сделать ссылка выше. Загружаетесь с нее и вы попадаете в среду восстановления. Так же на окне установки, нажимаете восстановление системы.

Ошибка an error occurred while attempting-00

Поиск и устранение неисправностей > 1 вариант Вернуть компьютер в исходное состояние, с сохранением файлов и второй вариант Дополнительные параметры > Восстановление системы или восстановление образа системы.

Ошибка an error occurred while attempting-01

После перезагрузки, у вас должно быть все отлично, в это преимущество десктопных платформ, от серверных Windows Server, так как в серверных версиях, по умолчанию все отключено и администратору нужно все включать самому, а отключено из за экономии ресурсов, но с моей точки зрения могли бы для точек восстановления сделать исключение.

Восстановление для всех через командную строку

Данный метод, более сложный, особенно для тех кто в первый раз видит командную строку операционной системы. Данный метод подойдет как и для 7,8.1,10 так и для Windows Server 2008 R2 и 2012 R2.  В данном методе вам так же потребуется загрузочная флешка с нужным дистрибутивом вашей ос. Я буду показывать на примере Windows Server 2008 r2, но все действия как я и писал подойдут для любой ос, начиная с W7.

Еще единственное отступление, что если у вас как и у меня операционная система накрылась на блейд сервере, то сделайте первый пункт, если у вас обычный ПК, то просто его пропустите.

1 Часть только для blade servers

  • Так как у меня блейд система, то для того чтобы туда подгрузить дистрибутив для ремонта, потребуется подмантировать ISO образ, делает это просто. Заходите в Blade Center, выбираете Remote control и через java KVM выбираете нужный блейд. Сверху нажимаете Remote Drive > Select Image

an error occurred while attempting-1

Указываем путь до нашего ISO

an error occurred while attempting-2

Выбираем сверху нужный блейд для монтирования и ставим галку защиты от записи Write Protect, после чего Mount All.

an error occurred while attempting-3

Все видим ISO смонтирован, закрываем данное окно.

an error occurred while attempting-4

Теперь в Boot меню выбираем загрузка с DVD Rom. В итоге начнется загрузка с вашего ISO, вставленного в Virtual CD-rom.

an error occurred while attempting-5

2 часть для всех

Вы увидите, стандартную полосу загрузки.

an error occurred while attempting-6

У вас появится окно выбора языка

Если у вас дистрибутив английский, то для открытия командной строки нажмите Shift+F10, если русская, то выберите раскладку клавиатуры США международная, так как дальнейшие команды будут вводиться именно на этой раскладке, жмем далее

an error occurred while attempting-7

Раскладку выбрали на следующем окне жмем привычное меню восстановление.

an error occurred while attempting-8

В серверной ос, как я вам и говорил вы не увидите, контрольных точек. Выбираем второй пункт и далее.

an error occurred while attempting-9

И вот она долгожданная командная строка

an error occurred while attempting-10

В Windows 8.1, 10 и Server 2012 R2, попасть в командную строку можно так же, но меню слегка видоизменили. Вы так же идете в восстановление, потом диагностика.

an error occurred while attempting-11

Далее Дополнительные параметры > Командная строка.

an error occurred while attempting-12

И вот тут мы сейчас рассмотрим несколько методов.

1 метод устранить an error occurred while attempting

В первом методе мы с вами выполним две команды, восстанавливающие загрузочную область. Мы используем команду Bootrec. Введите ее в командной строке, вам отобразиться перечень атрибутов.

  • /FixMbr > восстановит MBR запись, с UEFI это не прокатит
  • /FixBoot > делает новую запись в системный раздел
  • /ScanOs > поиск всех Windows на дисках
  • >rebuildBcd > сканирование всех ос и добавление из в загрузочное меню

an error occurred while attempting-13

Выполним Bootrec.exe /FixMbr, потом Bootrec.exe /FixBoot

Обе команды штатно отработали, в первый сектор загрузочного раздела записана новая загрузочная запись, а вторая команда записывает новый загрузочный сектор. Пишем Exit и перезагружаемся.

an error occurred while attempting-14

2 метод устранить an error occurred while attempting

Если первый метод вам не помог, не спешите расстраиваться, так же загружаемся в командную строку и вводим вот такие команды.

Bootrec /ScanOs, она просканирует все ваши жёсткие диски и разделы на наличие операционных систем и если такие будут найдены, то выйдет соответствующее предупреждение. Затем нужно ввести команду Bootrec.exe /RebuildBcd, данная утилита предложит внести найденные Windows в меню загрузки, соглашаемся и вводим Y и жмём Enter, всё найденная Windows добавлена в меню загрузки

an error occurred while attempting-15

еще в дополнение можно тут же прописать bootsect /NT60 SYS , но если у вас UEFI, то получите ошибку.

an error occurred while attempting-16

Если все ок, то получите обновленную область bootcode,

an error occurred while attempting-17

Перезагражаемся и радуемся жизни. Ниже способы для UEFI.

3 метод устранить an error occurred while attempting для  UEFI

Идем дальше в нашей эпопеи и разберем слегка может быть сложный метод для новичков, но зато он поможет восстановить загрузку UEFI.

Так же загружаемся в режим командной строки и вводим

Так же загружаемся в режим командной строки и вводим

diskpart

list disk > ей смотрим список разделов в системе

Выберем диск, на котором установлена Windows 8 (если жесткий диск в системе один, его индекс будет нулевым):

sel disk 0

Выведем список разделов в системе:

list vol

an error occurred while attempting-29

В нашем примере видно, что раздел EFI (его можно определить по размеру 100 Мб  и файловой системе FAT32) имеет индекс volume 1, а загрузочный раздел с установленной Windows  8.1 — volume 3.

Назначим скрытому EFI разделу произвольную букву диска:

select volume 1
assign letter M:
Завершаем работу с diskpart:
exit
Перейдем в каталог с загрузчиком на скрытом раздел
cd /d m:efimicrosoftboot
Пересоздадим загрузочный сектор: на загрузочном разделе
bootrec /fixboot
Удалим текущий файл с конфигурацией BCD, переименовав его (сохранив старую конфигурацию в качестве резервной копии):
ren BCD BCD.bak
С помощью утилиты bcdboot.exe пересоздадим хранилище BCD, скопировав файлы среды загрузки из системного каталога:
bcdboot C:Windows /l en-us /s M: /f ALL

где, C:Windows – путь к каталогу с установленной Windows 8.1.
/f ALL – означает что необходимо скопировать файлы среды загрузки,  включая файлы для компьютеров с UEFI или BIOS (теоретическая возможность загружаться на EFI и BIOS системах)
/l en-us — тип системной локали . По умолчанию используется en-us — английский язык (США) .

В случае использования русской версии Windows 8.1 команда будет другая:
bcdboot C:Windows /L ru-ru /S M: /F ALL

Вот как выглядит структура на самом деле

an error occurred while attempting-30

4 метод устранить an error occurred while attempting для  UEFI

Идем дальше в нашей эпопеи и разберем слегка может быть сложный метод для новичков, но зато он поможет восстановить загрузку UEFI.

Так же загружаемся в режим командной строки и вводим

diskpart

list disk > ей смотрим список разделов в системе

у меня операционная система стоит на 100 гиговом диске с буквой С.

an error occurred while attempting-18

Командой list disk мы посмотрим список дисков

Меня интересует Диск 0, так как на нем система. Выберем его.

an error occurred while attempting-20

List partition > Выводим список разделов

Select partition 1 > Выбираем нужный с загрузчиком (Если есть системный то его, если его нет то Зарегистрированный) Все равно их удалять оба

an error occurred while attempting-21

Убиваем первый и второй раздел (Системный и зарегистрирован)

Delete partition override

an error occurred while attempting-22

Снова введем List partition и убедимся что оба удалились. Теперь мы можем вручную пересоздать разделы EFI и MSR. Для этого в контексте утилиты diskpart последовательно выполните команды

Выбираем диск

select disk 0

create partition efi size=100

Убеждаемся, что выбран раздел 100 Мб (звездочка)

list partition
select partition 1
format quick fs=fat32 label=»System»
assign letter=G
create partition msr size=128
list partition
list vol

Все успешно создалось.

an error occurred while attempting-23

В нашем случае разделу с Windows уже назначена буква диска C:, если это не так, назначим ему букву следующим образом

select vol 8
assign letter=G
exit

an error occurred while attempting-24

Скопируем файлы среды EFI из каталога установленной Windows 2008 R2 у вас другая может быть:

mkdir G:EFIMicrosoftBoot

xcopy /s C:WindowsBootEFI*.* G:EFIMicrosoftBoot

Идем на следующий пункт решения ошибки an error occurred while attempting

an error occurred while attempting-25

Пересоздадим конфигурацию загрузчика Windows Server 2008 R2:

g:
cd EFIMicrosoftBoot
bcdedit /createstore BCD
bcdedit /store BCD  /create {bootmgr} /d “Windows Boot Manager”
bcdedit /store BCD /create /d “Windows Server 2008 r2” /application osloader

Команда возвращает GUID созданной записи, в следующей команде этот GUID нужно подставить вместо {your_guid}

an error occurred while attempting-26

bcdedit /store BCD /set {bootmgr} default {your_guid}
bcdedit /store BCD /set {bootmgr} path EFIMicrosoftBootbootmgfw.efi
bcdedit /store BCD /set {bootmgr} displayorder {default}

an error occurred while attempting-27

Дальнейшие команды выполняются в контексте {default}

bcdedit /store BCD /set {default} device partition=c:
bcdedit /store BCD /set {default} osdevice partition=c:
bcdedit /store BCD /set {default} path WindowsSystem32winload.efi
bcdedit /store BCD /set {default} systemroot Windows
exit

an error occurred while attempting-28

Все перезагружаемся и пробуем запустить ваш компьютер или сервер. Еще варианты.

  1. Отключаем питание ПК
  2. Отключаем (физически) жесткий диск
  3. Включаем ПК, дожидаемся появления окна с ошибкой загрузки и снова его выключаем.
  4. Подключаем диск обратно

5 метод устранить an error occurred while attempting

Есть еще метод для решения ошибки an error occurred while attempting и 0xc000000f, и это софт Acronis Disk Director. Есть такой загрузочный диск Acronis Disk Director для ремонта, есть ноутбук с двумя ос, первая Windows7, а вторая Windows 8.1, и обе не грузятся, загружаемся с нашего Acronis Disk Director

Все надеюсь у вас теперь ушла ошибка an error occurred while attempting при загрузке Windows и вы загрузились. ошибка в том, что у нас на обоих жёстких дисках должны быть отмечены красным флажком первые скрытые разделы System Reserved (Зарезервировано системой). На Windows 7 объём такого раздела составляет 100 МБ, а на Windows 8 350 МБ, именно эти разделы носят атрибуты: Система. Активнен и именно на этих разделах находятся файлы конфигурации хранилища загрузки (BCD) и файл менеджера загрузки системы (файл bootmgr). А у нас получается эти атрибуты носят другие разделы. Из-за этого Windows 7 и Windows 8.1 не загружаются.

an error occurred while attempting-31

Выбираем первый жёсткий Диск 1, щёлкаем на первом разделе System Reserved (Зарезервировано системой) правой мышью и выбираем «Отметить как активный»

an error occurred while attempting-32

Том Зарезервировано системой будет отмечен как активный. Нажимаем ОК.

an error occurred while attempting-33

То же самое делаем с Диском 2. Программа Acronis Disk Director работает в режиме отложенной операции, чтобы изменения вступили в силу нажимаем кнопку «Применить ожидающие операции»

an error occurred while attempting-34

Продолжить. Как видим, после наших изменений активными стали те разделы которые нужно.

an error occurred while attempting-35

Надеюсь вам удалось устранить ошибки an error occurred while attempting и 0xc000000f

Skip to content



Open


Issue created Jun 07, 2022 by Armin Hergenhan@ahergenhanDeveloper

Unable to load commit data on branch where the branch name contains a hash

Summary

When browsing to a branch in GitLab where the branch name contains a # character and error is displayed at the top of the page stating

An error occurred while fetching commit data.

The commit data usually displayed on the repository view also never loads:

image

Steps to reproduce

  1. in any project edit a file in the WebIDE
  2. click on Create Commit, select Create a new branch and enter a new branch name containing a hash (for example test-#-1)
  3. if Start a new merge request is selected the following error will be shown after clicking Commit:
    image
  4. if Start a new merge request is not selected the view stays on the Web IDE editor
  5. browse to Repository > Branches and click on the branch created by the above commit which contains the # character
  6. the above error about the commit data will be displayed

Example Project

I have reproduced this on https://gitlab.com/gitlab-gold/ahergenhan/ci-test-project

What is the current bug behavior?

Any branches that contain # in their names cannot load the commit data.

What is the expected correct behavior?

The commit data should load regardless of the characters used in the branch name

Relevant logs and/or screenshots

Output of checks

Results of GitLab environment info

Expand for output related to GitLab environment info

(For installations with omnibus-gitlab package run and paste the output of:
`sudo gitlab-rake gitlab:env:info`)

(For installations from source run and paste the output of:
`sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)

Results of GitLab application Check

Expand for output related to the GitLab application check

(For installations with omnibus-gitlab package run and paste the output of: sudo gitlab-rake gitlab:check SANITIZE=true)

(For installations from source run and paste the output of: sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true)

(we will only investigate if the tests are passing)

Possible fixes

I am running my tests through Visual Studio 2013 and using NUnit 3.4.1 and the NUnit3 test adapter. The targeted .NET Framework for both the assembly being tested and the assembly with all the unit tests is 4.5.

Whenever I run my tests in through Visual Studio using the NUnit 3 test adapter, I get this output during test discovery.

------ Discover test started ------
NUnit Adapter 3.4.1.0: Test discovery starting
Assembly contains no NUnit 3.0 tests: C:FilepathToAssemblyBeingTestedMyNameSpace.dll
NUnit Adapter 3.4.1.0: Test discovery complete
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
An error occurred while executing the command definition. See the inner exception for details.
Cannot insert duplicate key row in object 'dbo.DBTestData' with unique index 'IX_DBTestCase'. The duplicate key value is (4705d7be-56cd-11c1-7224-00031a5d4f3c).
The statement has been terminated.
========== Discover test finished: 10001 found (0:03:07.747) ==========
------ Run test started ------
NUnit Adapter 3.4.1.0: Test execution started
Running all tests in C:FilepathToUnitTestAssemblyMyTestNameSpace.dll
NUnit3TestExecutor converted 13544 of 13544 NUnit test cases
NUnit Adapter 3.4.1.0: Test execution complete
========== Run test finished: 13535 run (0:00:27.273) ==========

It usually complete the first part of the output pretty quickly:

------ Discover test started ------
NUnit Adapter 3.4.1.0: Test discovery starting
Assembly contains no NUnit 3.0 tests: C:FilepathToAssemblyBeingTestedMyNameSpace.dll
NUnit Adapter 3.4.1.0: Test discovery complete

Then it will just stay in this state for about 3 or 4 minutes. Once it’s done doing whatever it is doing, it prints out all the An error occurred while executing the command definition. See the inner exception for details. messages and starts running the tests.

This issue doesn’t happen the first time I open Visual Studio and the tests are automatically discovered. It will happen every time after the first, however. I tried to disable the option for «Keep Test Execution Engine Running», but it did not change anything.

I’ve been trying to get to the bottom of this but can’t seem to figure out what is causing the issue. Is there anyway I can see what the inner exception that is referenced by the errors?

  • Remove From My Forums
  • Question

  • I followed
    this tutorial and wrote the following code:

    Module Module1
    
        Sub Main()
            Dim db As New PersonModelContainer
            Using db
    
                db.People.Add(New Person With {.FullName = "George1"})
                db.People.Add(New Person With {.FullName = "George2"})
                db.People.Add(New Person With {.FullName = "George3"})
                db.People.Add(New Person With {.FullName = "George4"})
                db.SaveChanges()
    
                Dim per As Person
                Dim pipl As IQueryable(Of Person)
                pipl = From p In db.People
                     Order By p.FullName
                     Select p
    
                Console.WriteLine("All People")
                For Each per In pipl
                    Console.WriteLine("- {0}", per.FullName)
                Next
    
                db.People.First.FullName = "Jan"
                db.SaveChanges()
    
                Console.WriteLine("Press any key to exit...")
                Console.ReadKey()
    
            End Using
        End Sub
    
    End Module

    I then get the following error:

    An error occurred while updating the entries. See the inner exception for details.

    The inner exception says the following:

    Default values not supported

    What am I doing wrong?

    Thanks for your help!

Answers

  • I’m not sure why you don’t have execute SQL , maybe it’s because you aren’t connected to the database file.  Go to your database explorer and see if you can create a connection to your database file.

    But long term I would recommend you install sql server management studio (SSMS), it’s very useful for connecting to a sql server or sql server CE database and being able to run queries on it and view the database objects.  The VS interface for working
    with databases isn’t very good.

    http://www.microsoft.com/download/en/details.aspx?id=7593

    One thing I noticed is the auto generated code by entity framework doesn’t create an identity column on your People table.  You probably want to do that.  So change the create statement code that’s in your window to this:

    CREATE TABLE [People] (
        [Id] int identity NOT NULL,
        [FullName] nvarchar(4000)  NOT NULL
    );
    GO
    

    Larcolais Gong’s database script also shows this.  However Larcolais’s code is for full sql server, I don’t know if it will work with your sql ce database.  I think you just need to modify your script and include the identity keyword like above. 

    Let me know if this works.  Seems like your code is working when Larcolais and myself try it, as long as there is a valid database and identity column in the table.


    Tom Overton

    • Marked as answer by

      Monday, October 3, 2011 9:24 PM

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Gdiplus dll как исправить ошибку
  • Gdi32full dll windows 10 ошибка
  • Gdi error 40110
  • Gdebi error file not found
  • Gdbus error raspberry

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии