Подключение к SQL Server с выпусками Visual Studio Express [закрыто]

Мне кажется странным, что в Visual C# 2008 Express edition, когда вы используете проводник базы данных, ваши параметры:

  1. Microsoft Access
  2. SQL Server Compact 3.5 и
  3. файл базы данных SQL Server.

но если вы используете Visual Web Developer 2008 Express, вы можете подключиться к обычному SQL Server, Oracle, ODBC и т. д.

для людей, разрабатывающих приложения командной строки или другие приложения на C#, которые должны общаться с SQL Server база данных, вам действительно нужно создать код доступа LINQ/Data с одной IDE (Visual Web Developer) и вашей программой в другой (Visual C#)?

Это не трудный обходной путь, но это кажется странным. Если Microsoft хочет заставить вас перейти на Visual Studio для подключения к SQL Server, почему они включают эту функцию в одну из своих бесплатных IDE, но не в другую? Я чувствую, что мне может чего-то не хватать (например, как это сделать в Visual C#).

6 ответов


вы должны иметь возможность выбрать опцию файла базы данных SQL Server, чтобы получить правильный тип базы данных (system.data.SqlClient provider), а затем вручную исправьте строку подключения, чтобы указать на вашу БД.

Я думаю, что обоснование этих вариантов db, вероятно, идет примерно так:

  • если вы используете Express Edition, и вы не используя Visual Web Developer, вы, вероятно, создаете настольную программу.
  • если вы создавая настольную программу и используя экспресс-версию, вы, вероятно, любитель или пользователь, работающий дома, а не занимающийся разработкой для корпорации.
  • если вы не разрабатываете для корпорации, ваше приложение, вероятно, предназначено для конечного пользователя, и ваше хранилище данных, вероятно, происходит на локальном компьютере.
  • вы действительно не должны развертывать сервер-класс базы данных для настольных компьютеров конечных пользователей. Ан в процессе db как Sql Server Compact или MS Access гораздо более уместны.

однако эта логика не совсем верна. Даже если каждый из этих 4 пунктов верен 90% времени, к тому времени, когда вы применяете все четыре из них, это относится только к ~65% вашей аудитории, что означает, что до 35% рынка express может законно хотеть поговорить с БД серверного класса, и это значительная группа. Итак, упрощенная (жадная) версия:

  • реальный сервер БД (и оборудование для выполнения это стоит реальных денег. Если у вас есть доступ к этому, вы должны иметь возможность позволить себе хотя бы стандартное издание visual studio.

решение:

  1. откройте решение в Visual Web Developer Express. Он не будет загружать некоторые из проектов решения, но это нормально.
  2. создайте новое соединение в Обозревателе баз данных с требуемой базой данных из SQL Server.
  3. добавьте новый проект библиотеки классов.
  4. добавьте элемент LINQ to SQL Classes и свяжите его с базой данных.
  5. закрыть решение.
  6. откройте решение в Visual C# Экспресс.

теперь у вас есть библиотека классов LINQ to SQL, которая связана с вашей базой данных SQL Server в Visual C# Express.

обновление

решение предназначено для Visual Studio Express 2010.


Я предполагаю, что с VWD ваши решения с большей вероятностью будут развернуты на сторонних серверах, многие из которых не позволяют динамически подключенный файл базы данных SQL Server. Таким образом позволять другого типа соединения.

эта разница в поведении IDE является одной из главных причин для обновления до полной версии.


Если вы используете это, чтобы получить LINQ to SQL, который я делаю и хотел для моего визуального разработчика, 1) Получите бесплатный визуальный веб-разработчик, используйте его для подключения к экземпляру SQL Server, создайте свой интерфейс LINQ, а затем скопируйте сгенерированные файлы в свой проект Vis-Dev (я не использую VD, потому что это звучит смешно). Включить только *.dbml-файлы. Для распознавания поддерживающих файлов среде Vis-Dev потребуется секунда или две. Это немного дополнительный шаг, но наверняка лучше, чем делать это вручную или отказаться от нее вообще или, что еще хуже, заплатить за нее. МООО ха-ха-ха-ха.


единственный способ заставить C# Express 2008 работать - переместить файл базы данных. Итак, я открыл SQL Server Management Studio и после удаления базы данных скопировал файл в папку проекта. Затем я снова подключил базу данных к management studio. Теперь, когда я пытаюсь прикрепить к локальной копии его работ. По-видимому, вы не можете использовать один и тот же файл базы данных более одного раза.


Я просто случайно начал свое домашнее бизнес-приложение в windows forms для удобства. В настоящее время я использую Visual C# Express 2010 / SQL Server 2008 R2 Express для его разработки. Я получил ту же проблему, что и OP, где мне нужно подключиться к экземпляру SQL server. Я пропускаю детали здесь, но эта база данных будет объединенной базой данных, синхронизированной между 2-3 компьютерами, которые также будут использовать приложение, которое я разрабатываю прямо сейчас.

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

я копирую вставленное SQL-соединение, которое я использовал в другом проекте на работе (VS2010 Premium) в приложении.config и изменил все, что мне было нужно. Когда я вернулся к своим настройкам.настройки, я просто должен был подтвердить, что я хотел, что было внутри приложения.конфигурационный файл. Единственный недостаток, который я вижу, заключается в том, что вы не можете "протестировать" соединение с тех пор, как вы входите в конфигурацию из строки подключения вы не можете никуда пойти, так как" SQL Server " не является опцией. Другой недостаток заключается в том, что вам нужно вводить все вручную, так как вы не можете использовать мастера для его работы.

Я не знаю, должен ли я был сделать это таким образом, но, по крайней мере, я могу подключиться к моему SQL server сейчас :).

EDIT:

Он работает только с экземплярами SQL Server 2008 R2 Express. Если вы попытаетесь с рабочей группой SQL Server 2008 R2 и выше, вы получите неприятное предупреждение от Visual C# 2010 Express говорит вам ,что"вы не можете использовать это соединение с текущей версией Visual Studio". Я получил это, когда пытался изменить некоторые из моих tableadapters. Я вернулся к экземпляру SQL Express для разработки, и он снова работает нормально.