Подтвердить что ты не робот

Поддержка SQL Server Compact 4.0 на Azure

Мой сайт - это сайт .net 4.5 mvc, построенный с VS 2012. У меня есть SQL Server Compact DB в папке app_data. Все отлично работает на моем локальном хосте. Я использую сайт Azure и получаю эту ошибку?

Не удалось найти запрошенный поставщик данных .Net Framework. Он не может быть установлен.

Я искал его и получаю много возможных ответов, но ни один из них не отличается от Azure и SQL-сервера. Поэтому мой вопрос прост. Поддерживает ли Windows Azure Web-сайт, который размещен на сервере совместного доступа Azure, поддерживает SQL Server Compact? Если да, что мне нужно сделать, чтобы устранить вышеупомянутую ошибку и заставить ее работать?

4b9b3361

Ответ 1

Второй Wenchao Zeng of Microsoft Azure не поддерживает Sql Compact.

Я мог бы использовать один раз, но это не рекомендуется, потому что Windows Azure работает с репликацией данных (это облако, помните?), а Sql CE не поддерживает эту функциональность. Если вы можете поместить Sql CE в Azure, иногда не получите доступ, или пользователи видят устаревшие или поврежденные данные, поскольку асинхронный.

Лучший способ - использовать Azure Sql ou BLOB-хранилище.

Ответ 2

Конечно, можно использовать SQL Server Compact для Windows Azure. Однако вам нужно спросить себя:

Я могу что-то изменить в базе данных?
Это включает в себя добавление, обновление и удаление данных. Если вы это сделаете, вы не должны использовать SQL Server Compact для Windows Azure. Поскольку, если вы используете SQL Server Compact на Windows Azure и что-то изменяете в базе данных, вы столкнетесь с двумя проблемами:

  • Данные не реплицируются.
  • Вы рискуете потерять данные.

Данные не реплицируются
Если вы меняете что-либо в базе данных, изменения остаются локальными. Это означает, что если у вас есть несколько экземпляров, на которых запущено ваше веб-приложение, каждое веб-приложение будет иметь свою собственную базу данных, и если вы что-то измените в одном из них, это изменение не будет реплицировано в другие экземпляры, что приведет к непредсказуемому поведению в вашем приложении.

Вы рискуете потерять данные
Если вы измените что-либо в базе данных после развертывания, вы рискуете потерять данные, потому что Windows Azure может решить перераспределить ваш экземпляр на другую виртуальную или физическую машину. Когда это произойдет, новый экземпляр будет настроен с пакетом развертывания, который вы первоначально загрузили в Windows Azure, и этот пакет не содержит никаких изменений, внесенных в базу данных. И это перераспределение может произойти в любое время по нескольким причинам.

Заключение
Итак, SQL Compact на Azure? Конечно, никаких проблем, если ваши данные только для чтения. Тем не менее, обратите внимание, что вы не получите производительность, которую вы бы сделали с SQL Azure. Но если ваши потребности меняются по дороге, вы всегда можете перенести приложение с SQL Server Compact на SQL Azure.

Если вы хотите использовать SQL Server Compact с Windows Azure, вы можете использовать метод частного развертывания ", как описано в блоге" ErikEJ".

Изменить: Microsoft объявила, что теперь они предоставляют 1 бесплатную базу данных SQL Azure на 20 МБ для каждой подписки Azure. Это означает, что вы можете создать подписку и создать бесплатный веб-сайт со свободной базой данных SQL Azure. (До тех пор, пока оно меньше 20 МБ). Вы также можете иметь несколько веб-сайтов, связанных с одной и той же базой данных SQL Azure, бесплатно. Итак, если вы рассматриваете SQL Server Compact на Windows Azure, потому что ваша база данных будет очень маленькой, и вы не хотите платить за базу данных 100 МБ, вы можете рассмотреть этот вариант. В большинстве случаев это будет лучшее решение. Ваш сайт будет работать лучше, производительность вашей базы данных будет лучше, и вы сможете изменять свои данные и будет реплицироваться.

Ответ 3

Это возможно для SQL Server Compact 4.0 на Azure!

Я пишу статью для нее

И это - английская версия, которую я нашел

На несколько шагов:

Ниже приведено решение после моего исследования:

Шаг за шагом:

  • Установите два nuget: EntityFrame.SqlServerCompact и Microsoft SQL Server Compact Edition

  • поместите файл базы данных SQL (.sdf/.mdf) в папку APP_Data​​strong > (Поместите строку соединения так, чтобы использовать ее:

    <add name ="DefaultConnection" connectionString ="Data Source=|DataDirectory|CompactDB.sdf" providerName ="System.Data.SqlServerCe.4.0" />)
    
  • Публикация полного проекта включает файл базы данных SQL в AzureWebsites.

  • вы можете найти, что он может работать хорошо и полностью свободен.