Переход от использования SQL Server Express к SQL Server Compact
до сих пор я использовал SQL Server Express в своем настольном приложении, хотя обычно сервер используется только одним приложением, одним пользователем, на одной машине. Это всегда казалось мне немного глупым, так как полный сервер довольно тяжелый.
затем я узнал, что есть что-то под названием SQL Server Compact. Дело в том, что мое заявление уже довольно большое. Поэтому мой вопрос заключается в том, что если бы я хотел перейти на SQL Server Compact, какой изменения в моем коде мы говорим о (используя C#)?
в основном мне интересно, могу ли я получить доступ к компактной версии таким же образом, как я могу получить доступ к Express one, который использует ADO.NET и указывая на localhostsqlexpress. Итак, можно ли создать другой экземпляр с компакт-диском и просто указать мое приложение на это, или оно используется совершенно по-другому?
4 ответов
для автономного настольного продукта это, безусловно, легкий вариант для рассмотрения над SQL Express.
однако есть различия между ними, чтобы быть в курсе других, чем просто строки подключения. Например, SQL CE не поддерживает хранимые процедуры, пользовательские функции и триггеры. Кроме того, он не поддерживает полный спектр типов данных, которые выражают поддержку. На техническом уровне он также работает в процессе с вашим приложением.
другой считается, что, хотя SSMS будет работать с базами данных SQL CE, она не так полнофункциональна, как с SQL Express. Однако есть целый ряд хороших инструментов для заполнения этих пробелов. Взгляните на блог Эрика Дженсена для хорошего обзора.
также проверьте его инструмент для миграции баз данных SQL Express в SQL Compact:
как перенести / уменьшить размер базы данных SQL Server на SQL Server Компактный 4.0 (и 3,5)
наконец, взгляните на этот вопрос SO для получения дополнительной информации между двумя продуктами:
Я недавно работал с ним, кстати, то, что я знаю об их использовании, - это то, что SQL Express имеет сервер для подключения, и Compact-это файл sdf, поэтому первое, что вам нужно будет изменить, это строка подключения к нему.
после этого изменения больше нет тяжелых изменений, которые нужно сделать, я помню, compact имеет почти все инструкции сервера express, поэтому это не может быть большой проблемой.
посмотреть в документации Microsoft для более информация, или Википедия.
посмотреть вы.
Я бы проголосовал против SQL CE:
- Это вид, что может быть проблемой при переносе.
- недавно мы сделали что-то подобное, что вы описали, и оказали огромное влияние на производительность при переключении с SQL Server Express на SQL Server Compact Edition.
мои рекомендации:
- использовать SQLite (что мы сделали для проекта, о котором я упоминал-это было много более производительный, чем SQL CE в нашем случае) - или -
- использовать VistaDB (что я делал в других проектах; не так эффективно, как SQL Server Express, но все же достаточно)
обе базы данных могут быть развернуты XCOPY, как и SQL Server Compact Edition.
SQL CE имеет то же ограничение размера, ЧТО И Express, поэтому вы должны быть хорошими.
Что касается перемещения между ними, я нашел этой для перемещения между базами данных express и compact 3.5. Тогда, я думаю, вам нужно только изменить свой строк подключения (вместо того, чтобы указывать на хост/экземпляр, вы указываете на преобразованный файл). Есть разные особенности между ними, однако, поэтому вам, возможно, придется изменить свою схему в исходная база данных для преобразования проходят гладко.