Я работаю над приложением Windows Forms, которое взаимодействует с файлом базы данных Sql Compact, созданным в SQL Server 2005. Это приложение изначально разрабатывалось в Visual Studio 2005, но недавно было преобразовано в решение Visual Studio 2008.
Что касается Sql Compact, мы убедились, что все ссылки по-прежнему установлены на сборки, которые работают с версией Sql Compact 2005 года, а не Sql Compact 3.5. Сделав это, приложение все еще работает так, как и должно - оно все равно будет взаимодействовать с базой данных Compact, выполнять операции синхронизации и т. Д.
Однако я только что обнаружил сегодня, что инструменты Visual Studio, такие как DataSet Designer, не очень хорошо работают с файлом базы данных Sql Compact более старой версии, чем 3.5. Если перейти к мастеру Новое подключение ... , то единственный источник данных / поставщик данных Sql Compact предназначен для 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 . На первом появившемся экране написано «Выберите подключение для передачи данных». Если я оставлю для него установленное соединение Sql Compact, которое мы всегда использовали, при нажатии кнопки Далее> я получу следующую ошибку:
Не удалось открыть соединение с базой данных
"Выбранная база данных была создана в более ранней версии SQL Server Compact и должна быть обновлена до SQL Server Compact 3.5, прежде чем можно будет открыть или протестировать соединение. Обновите базу данных, создав новое соединение для передачи данных и завершив добавление соединения диалоговое окно. "
Проверьте соединение и попробуйте снова.
Единственная проблема здесь в том, что мы все еще используем Sql Server 2005, и, если я правильно понимаю, он не создает файлы подписки, совместимые с Sql Compact 3.5. Если я ошибаюсь в этом предположении, пожалуйста, исправьте меня.
Буду очень признателен за любую помощь, которую вы можете оказать. Спасибо.