Функции SQLQ Express / MS Access LINQ, какой использовать? - PullRequest
3 голосов
/ 15 ноября 2008

У меня есть несколько интерфейсных сайтов базы данных ASP.Net, где MS Access - это серверная часть. Я пытаюсь использовать веб-сайт динамических данных ASP.Net. Должен ли я изменить эту базу данных на SQL Server Express или что-то еще, чтобы сделать это проще, или это должно работать с MS Access.

Ответы [ 3 ]

7 голосов
/ 15 ноября 2008

Выберите SQL Express по следующим причинам:

  1. Масштабирование : MS Access никогда не масштабируется. Как только вы получите около 10 одновременных подключений, вы начнете видеть проблемы. SQL Express будет масштабироваться. Вы всегда можете переместить SQL Express до полной установки SQL Server. Хотя это в некоторой степени относится и к Access, некоторые из ваших операторов SQL и типов данных могут передаваться некорректно.
  2. Безопасность : SQL Server имеет гораздо лучшую модель безопасности, чем Access. Вы можете заблокировать схему в вашей базе данных для каждого пользователя. Вы также можете лучше управлять доступом пользователей (представьте, что пользователь-разработчик или тест-пользователь против производственного пользователя).
  3. Производительность : Это похоже на масштабирование. Если вы видите всплеск трафика на ваш веб-сайт, Access может не справиться с этим, в то время как SQL Server Express, вероятно, будет.
  4. Инструменты : Инструменты и библиотеки, такие как LINQ, всегда будут ориентированы на SQL Server. Таким образом вы получите лучшую поддержку и лучшую документацию.
1 голос
/ 16 ноября 2008

Серверная часть Jet отлично подойдет для сайтов, предназначенных только для чтения, даже с приличным трафиком. Старый веб-сайт Майкла Каплана, http://trigeminal.com,, использует базу данных Jet в качестве бэк-энда, и когда он был его основным сайтом (с тех пор его нанял Microsoft), он сказал, что он получает более 100 тыс. Посещений в день, и был держится просто отлично.

Для операций чтения / записи Jet начнет переходить на веб-сайт примерно в том же месте, где он будет работать в многопользовательском приложении локальной сети, где-то между 20 и 50 одновременными подключениями, в зависимости от дизайна вашего приложения.

Для чего бы это ни стоило, хотя я профессиональный разработчик Access и очень хорошо знаю Jet, я не использую Jet в качестве бэк-энда ни для одного из своих сайтов. Это не так много, потому что мне не нравится Jet для веб-сайтов, а потому, что я не люблю Windows для веб-сервера - я сторонник Apache (и PHP-разработчик) и принимаю все свои веб-сайты (и моих клиентов) на хостингах, отличных от Windows (в настоящее время все они являются Linux, но это не всегда так). Все базы данных веб-сайтов, которые я когда-либо делал, используют MySQL для серверной части.

Короче, узнайте, что ваш хост предлагает с точки зрения серверной базы данных, и выберите лучший. Я не могу представить хост, который предоставляет ASP.NET, который бы не предлагал SQL Server, и это определенно то, что я бы использовал в этой ситуации. Было бы достаточно просто перевести серверную часть Jet на SQL Server на локальном ПК, а затем создать резервную копию, которую можно импортировать на веб-сайт.

0 голосов
/ 28 февраля 2010

Вы можете использовать LINQ to DataSets, чтобы использовать Linq для базы данных Access .mdb или .accdb.

Вы можете прочитать больше на http://msdn.microsoft.com/en-us/library/bb386977.aspx и http://blogs.msdn.com/adonet/archive/2007/01/26/querying-datasets-introduction-to-linq-to-dataset.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...