0

Я работаю над приложением Windows Forms, которое взаимодействует с файлом базы данных Sql Compact, созданным SQL Server 2005. Это приложение было первоначально разработано в Visual Studio 2005, но недавно было преобразовано в Visual Studio 2008.Sql Server Compact 2005 на Visual Studio 2008

Что касается Sql Compact, мы убедились, что ссылки все еще установлены на сборки, которые обрабатывают версию Sql Compact 2005, а не Sql Compact 3.5. Сделав это, приложение все еще работает так же, как и должно - оно все равно будет взаимодействовать с базой данных Compact, выполнять операции синхронизации и т. Д.

Однако сегодня я обнаружил, что инструменты Visual Studio, такие как DataSet Designer, не воспроизводятся хорошо с файлом базы данных Sql Compact более старой версии, чем 3.5. Если я перехожу к мастеру New Connection ..., единственным Sql Compact Data Source/Data Provider для Sql Compact 3.5. Я предполагаю, что Visual Studio 2008 просто не включает поставщика данных для старой версии Sql Compact по умолчанию.

Есть ли способ добавить старую версию Sql Compact в список «Источники данных» для мастера подключения? Для того, чтобы увидеть именно то, что я имею в виду, нажмите на Инструменты меню Visual Studio 2008 и нажмите Подключение к базе данных ... В окне, которое появляется, нажмите Изменить ... рядом с данных источник установка. Из этого диалога я не могу выбрать более раннюю версию Sql Compact - доступно только 3.5.

Возможно, мне нужно добавить ссылку на сборку где-нибудь? Или скопируйте некоторые файлы из моего каталога Visual Studio 2005 до 2008 года? Я бы подумал, что Visual Studio 2008 должен будет иметь возможность взаимодействовать с базой данных Sql Compact с Sql Server 2005.

Чтобы предоставить еще одну деталь, я обнаружил эту проблему, когда я пошел к моему DataSet, щелкнул правой кнопкой мыши и попытался добавить TableAdapter. На первом экране появляется сообщение «Выберите соединение с данными». Если я оставлю это установить на Compact связи Sql, что мы всегда использовали, теперь я получаю следующее сообщение об ошибке при нажатии Следующая> кнопку:


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

«Выбранная база данных была создана с более ранней версией SQL Server Compact и должна быть обновлена ​​до SQL Server Compact 3.5 до того, как соединение будет открыто или протестировано. Обновите базу данных, создав новое подключение к данным и завершите диалоговое окно« Добавить соединение » «.

Проверьте подключение и повторите попытку.


Единственная проблема здесь в том, что мы все еще используем SQL Server 2005, и если я правильно понимаю, он не производит файлы подписок, которые совместимы с Sql Compact 3.5. Если я ошибаюсь в этом предположении, пожалуйста, исправьте меня.

Любая помощь, которую вы можете предоставить, очень ценится. Спасибо.

+0

UPDATE: Я только что нашел это по следующей ссылке (http: // msdn.microsoft.com/en-us/library/bb896150.aspx): «Visual Studio 2008 поддерживает разработку и развертывание 3.5 приложений на компьютерах и мобильных устройствах. Visual Studio 2008 не поддерживает разработку и развертывание SQL Server 2005 Compact Edition (версия 3.1). Таким образом, кажется, что если я собираюсь заставить это работать, это будет так или иначе «взломать», если можно так выразиться. Есть идеи? Благодарю. – 2010-02-02 21:11:03

+0

ОБНОВЛЕНИЕ: Кто-нибудь знает, можно ли использовать механизм репликации Sql Compact 3.5 с Sql Server 2005? Если бы это могло быть возможным решением для меня. Я искал в Интернете и не нашел окончательного ответа/инструкций о том, как это сделать. – 2010-02-02 21:34:21

ответ

0

попробуйте использовать метод обновления SqlCompact Engine.

SqlCeEngine en = new SqlCeEngine("--conn string"); 
en.Upgrade(); 
+0

также убедитесь, что вы установили новейшие компактные инструменты 3.5 sp1. http://www.microsoft.com/downloads/details.aspx?FamilyId=DC614AEE-7E1C-4881-9C32-3A6CE53384D9&displaylang=en –