Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Создание и подключение к БД из VS2012


Автор: libertas 4.6.2014, 10:31
Всем привет.

Подскажите, пожалуйста,
в VS2012 я увидел несколько способов создать БД, но не понимаю когда какой способ использовать:

1. Я создал БД как Server Explorer->Data connections->Add Connection:

Data source: Microsoft SQL Server (SqlClient)

Server name: (localdb)\v11.0

Select or enter a database name: DB

VS предложила мне создать БД и у меня в Server Explorer появилось новое соединение и бд. Но при этом в проекте бд не появилась.

2. У меня есть проект - ASP.NET MVC 4 Web Application. И в нем есть возможность через Add добавить new Item
c разными вариантами Data: SQL Server Compact 4.0 Local Database и т.д.


И эту базу можно добавить в папку App_Data проекта.

Мне нужно создать простое веб приложение MVC, которое будет читать / писать данные в БД c несколькими таблицами. А потом это приложение нужно будет перенести на другой компьютер и оно должно работать.

Спасибо.

Автор: jonie 4.6.2014, 12:38
В первом случае вы создаете базу в MSSQL Server. Немудрено что она не появится у вас в проекте.
Во втором вы создаете базу в встраевомой версии MSSQL Server CE. Это файл, для "общения" с которым вам не нужен сервер.

Первый и второй вариант не инварианты - это разные типы СУБД хранилищ. Вам какое надо-то?

Автор: libertas 4.6.2014, 12:57


Цитата(jonie @  4.6.2014,  12:38 Найти цитируемый пост)
Первый и второй вариант не инварианты - это разные типы СУБД хранилищ. Вам какое надо-то? 



Это учебное задание. по заданию нужно, что web приложение умело читать данные с бд и писать в неё. 

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

Потом пользователь что-то введет в браузере и это должно сохраниться в бд.

Пока я сделал так:

1. Вручную создал базу в mssql сервере получается(хотя странно, потому что у меня он не установлен)Почему так???

2. Вручную заполнил таблички

3. С помощью Linq to Sql создал контекст для моих табличек

4. В контроллере через контест получаю таблички и вывожу во вью.

Мне нужно будет это задание принести на другой компьютер(там тоже vs2012), добавить мой проект и показать что все запускается.
Как то так..

Автор: jonie 4.6.2014, 13:32
Цитата(libertas @  4.6.2014,  13:57 Найти цитируемый пост)

1. Вручную создал базу в mssql сервере получается(хотя странно, потому что у меня он не установлен)Почему так???

ну видимо стоит. с студией ставится обычно MSSQL Server Express Edition

Автор: libertas 4.6.2014, 13:40
спасибо.

посмотрел в панеле управление, действительно есть 
mssql server 2012 express local db.

То есть по идее, если я создам таким образом базу, то на новом компютере мне её нужно будет создавать заново?

Нельзя будет просто папку с базой скопировать на другой комп и присоеденить?

Для чего нужна встраиваемая база?

Автор: jonie 5.6.2014, 11:07
Цитата(libertas @  4.6.2014,  14:40 Найти цитируемый пост)

То есть по идее, если я создам таким образом базу, то на новом компютере мне её нужно будет создавать заново?

Нельзя будет просто папку с базой скопировать на другой комп и присоеденить?

ну можно сделать attach-deattach базы наверно и перенести. Но вам нужен будет там сервер MSSQL ессно.


Цитата(libertas @  4.6.2014,  14:40 Найти цитируемый пост)

Для чего нужна встраиваемая база? 

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

Автор: libertas 6.6.2014, 18:11
Спасибо! Решил для начала сделать через встраиваемую базу.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)