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

Подключение к SQL Server с версиями Visual Studio Express

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

  • Microsoft Access
  • SQL Server Compact 3.5 и
  • Файл базы данных SQL Server.

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

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

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

4b9b3361

Ответ 1

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

Я думаю, что аргументация, лежащая в основе этих вариантов db, выглядит примерно так:

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

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

  • Реальный сервер db (и аппаратное обеспечение для его запуска) стоит реальных денег. Если у вас есть доступ к этому, вы должны быть в состоянии предоставить хотя бы стандартную версию визуальной студии.

Ответ 2

Обход проблемы:

  • Откройте свое решение в Visual Web Developer Express. Он не будет загружать некоторые из проектов в решении, но это нормально.
  • Сделайте новое подключение в Проводнике базы данных к необходимой базе данных с SQL Server.
  • Добавить новый проект библиотеки классов.
  • Добавить элемент LINQ to SQL Classes и связать его с вашей базой данных.
  • Закройте решение.
  • Откройте решение в Visual С# Express.

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

Обновление

Решение для Visual Studio Express 2010.

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

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

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

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

EDIT:

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