Как вы работаете с SQL Server CE и SQL Server 2008 Express? - PullRequest
2 голосов
/ 22 января 2009

Я установил:

  • Visual C # 2008 Express
  • Visual Web Developer 2008 Express
  • Visual Studio 2008
  • SQL Server 2008 Express
  • SQL Server Management Studio

В Visual C # 2008 Express я могу «Добавить элемент» и создать «Локальную базу данных» (файл .sdf) или «База данных на основе служб» (файл .mdf).

Visual Studio 2008 аналогична Visual C # 2008 для приложений, но на веб-сайтах единственный способ создавать файлы .sdf или .mdf - через Database Explorer.

В Visual Web Developer 2008 Express, однако, я могу «Добавить элемент» и ТОЛЬКО создать «базу данных SQL Server» (файл .mdf). Даже Database Explorer не предлагает создавать базу данных SQL CE.

Вопросы:

  • почему разница между приложениями, это нормально или что-то не так с моими установками?
  • Я никогда не "устанавливал SQL CE", откуда он взялся и как я могу создать файл .sdf?
  • Как вы ежедневно работаете с этими проектами, используете ли вы Visual Studio для редактирования баз данных или SQL Server Management Studio?

Ответы [ 5 ]

3 голосов
/ 26 января 2009

Я полагаю, что только Professional и выше могут создавать базы данных MSSQL CE.

SQL CE установлен вместе со студией 2008, я был удивлен, увидев его сам и не увидел возможности его исключить.

Лично я использую VS 2008 для добавления элементов в базы данных моего проекта. Так как он открыт в любом случае, я просто использую его. Он обеспечивает большую часть тех же функций, что и Management Studio. Если я делаю отдельную работу с базой данных, я обычно делаю это в Management studio.

Базы данных CE довольно бесполезны. Они имеют ограниченный набор типов и функций. Они не поддерживают представления или хранимые процедуры. В основном они хранят только таблицы; Я не пытался создать в них внешние ключи.

Нет способа переименовать таблицы или столбцы. Вы должны создать новую таблицу.

После создания базы данных ее необходимо вручную добавить в проект.

Вы не можете напрямую создать класс LINQ to SQL в VS2008 для базы данных CE. Вам нужно использовать инструмент командной строки sqlmetal (вызывается из консоли .NET), чтобы создать класс для вас.

У меня были проблемы, когда класс, созданный для базы данных CE, не работал, как класс, созданный для обычной базы данных SQL. Из-за этого я отказался от использования базы данных CE все вместе.

Было бы неплохо, если бы существовал надежный способ использования Linq to SQL в SQLite базах данных. SQLite - отличная автономная база данных, не требующая какого-либо внешнего механизма.

Извините, у меня нет статистики производительности для базы данных SQL CE.

Надеюсь, это несколько полезно.

Brett

1 голос
/ 03 февраля 2009

Хорошо, зарегистрировался сейчас и не уверен, почему получил 1 голос за предыдущий ответ, но расширится.

Web Developer Express 2008 Не создает и не работает с Sql Server CE просто потому, что SQL Server CE не предназначен для работы на веб-сервере.

Когда вы загружаете c # express или vb express. SQL Server Express 2008 предлагается установить. SQL CE не установлен. если вы пойдете и добавите источник данных, то, как я знаю, будут два: Microsoft SQL Server Compact 3.5 (поставщик данных .NET Framework для Microsoft SQL Server Compact 3.5) и файл базы данных Microsoft SQL Server (SqlClient), клиент доступа может быть там также.

При настройке Express по умолчанию следует отметить, что если вы решите использовать провайдер данных для sql server compact, он потерпит неудачу, даже если это опция. вам придется скачать sql server ce отдельно для создания баз данных sdf.

Кроме того, версии Express предназначены для другой аудитории и не имеют такой же настройки пользовательского интерфейса, как у основных против Sku. Например, Web Express в настройке базы данных даже не предлагает выбор использования sql server ce. в то время как в VS это выбор из меню данных, потому что VS поддерживает больше, чем просто веб-разработчик.

Теперь вы сказали, что загрузили VS 2008 (не сказали, какая версия, но это не имеет значения, поскольку это влияет на стандарт и выше)

При установке по умолчанию для vs 2008 будет установлен сервер Sql ce (и, как указывалось в предыдущем ответе, 3.1 был с rtm, 3.5 был с sp1). Вы можете отключить его заранее.

Одна из проблем, с которыми я сталкиваюсь, заключается в том, что вы упоминаете, что не можете создать базу данных в vs для веб-проектов. какой шаблон вы используете. Вы должны иметь возможность создавать элементы базы данных на сервере в элементе добавления, а также объекты локальной и серверной базы данных на вкладке данных.

итак в Летнем.

в клиентских экспресс-проектах и ​​клиентских проектах вы сможете создавать локальную или серверную базу данных из элемента добавления и из вкладки данных.

Поскольку sql CE официально не поддерживается на веб-сервере. в веб-приложении «Добавить элемент» у вас должен быть доступ только для создания базы данных на сервере. на экспрессе, так как это выделенный sku CE не может быть выбран ни на вкладке данных, ни в элементе добавления. на против вы можете создать базу данных CE на вкладке данных. и у вас должен быть доступ для создания базы данных сервера в элементе добавления.

Студия управления сервером sql не заботится о том, где находится источник. так что будет работать со всеми и создавать базы данных.

Я использую все перечисленные варианты, в зависимости от того, где я нахожусь в данный момент. Как было упомянуто, CE на рабочем столе - это, прежде всего, кеш-база данных, идеально подходящая для поддержки автономных баз данных. но имеет свои ограничения и, кроме того, действительно нуждается в лучшей интеграции. как только я создаю или работаю с базой данных в поддержке, я в основном использую Management Studio.

0 голосов
/ 22 января 2009

Это нормально. Типы баз данных, поддерживаемые дизайнером Visual Studio, отличаются в зависимости от редакции. Обратите внимание, что любая версия Visual Studio может писать и использовать код, который подключается к любой из этих баз данных. Просто визуальные инструменты «мастера», включенные в IDE, которые помогут вам пройти через это, различны для каждого издания.

SQL CE - это компактная версия сервера SQL. Он предназначен для использования на портативных устройствах, таких как смартфоны, или в качестве замены доступа для локального хранилища данных в настольных приложениях. Он очень переносим: всего 2 dll, которые занимают менее 1 МБ дискового пространства, и, вероятно, был включен по крайней мере в один из ваших пакетов Visual Studio, вероятно, во все.

Обычно я делаю всю работу с базами данных из Management Studio, но это личное предпочтение.

0 голосов
/ 22 января 2009

Ключевым моментом, по которому вы не можете получить доступ к CE из Web Express, является то, что CE не поддерживается на веб-сервере.

Douglas

0 голосов
/ 22 января 2009

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

SQL CE был установлен со Studio (не могу вспомнить случайно, но я думаю, что 3.1 поставляется с RTM, а 3.5 поставляется с SP1).

Я всегда использую Management Studio для внесения изменений в базу данных (кроме тех, которые выполняются непосредственно в коде).

...