Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2014, 18:17   #1
CookieMonsta
Новичок
Джуниор
 
Регистрация: 01.04.2014
Сообщений: 7
По умолчанию Создание приложения для работы с базой данных.

Доброго всем дня. Передо мною преподаватель поставил задачу разработать простенькую АИС для кафе. У меня есть база данных (выполненная в SQL Server). Но теперь необходимо реализовать 3 разных приложения (на С++ или С#) для работы с ней. Основная проблема в том, что я не знаю как соединить эти 3 приложения с базой данных которая находится на отдельном ПК. Пожалуйста ответьте на следующие вопросы.
1. Как соединить эти приложения с базой данных. Какими средствами лучше это сделать.
2. Как работать с базой данных сразу из нескольких клиентских приложений.
3. Если база данных находится на отдельном ПК, то мне в любом случае придется устанавливать SQL Server на этот ПК?

Если можно, объясните мне весь жизненный цикл создание подобных клиент серверных приложений. Прошу отнестись к моим вопросам серьезно. Буду очень благодарен! Меня интересуют все возможные способ и абсолютно все ваши советы!

Последний раз редактировалось CookieMonsta; 01.04.2014 в 18:26.
CookieMonsta вне форума Ответить с цитированием
Старый 01.04.2014, 20:35   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Цитата:
Как соединить эти приложения с базой данных. Какими средствами лучше это сделать.
С помощью компонент, очевидно.
Цитата:
Как работать с базой данных сразу из нескольких клиентских приложений.
Модель клиент-сервер, транзакции, ссылочная целостность.
Цитата:
Если база данных находится на отдельном ПК, то мне в любом случае придется устанавливать SQL Server на этот ПК?
Нет, просто система "должна знать" где брать базу.
Цитата:
Если можно, объясните мне весь жизненный цикл создание подобных клиент серверных приложений.
Можно брать универсальные схемы в инете легко находится.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 01.04.2014, 22:37   #3
CookieMonsta
Новичок
Джуниор
 
Регистрация: 01.04.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
С помощью компонент, очевидно.
Модель клиент-сервер, транзакции, ссылочная целостность.
Нет, просто система "должна знать" где брать базу.
Можно брать универсальные схемы в инете легко находится.
Такое дело. С базой данных будет работать 2 приложения на C# и одно мобильное приложение. Значит ли это что мне придется делать трёхзвенную базу?
CookieMonsta вне форума Ответить с цитированием
Старый 02.04.2014, 08:17   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
трёхзвенную базу?
Что значит "трёхзвенную базу"?
Тебе нужно сделать один компьютер сервером с доступом в интернет (ну или в ту клоаку из-под которой будет мобилка работать) или локалку. Написать приложение которое будет использовать скажем технологию ADO или ODBC для связи с сервером и базой по адресу сервера и имени базы и все.
Как с ADO.NET работать знаешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.04.2014, 09:10   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Что значит "трёхзвенную базу"?
клиент - сервер приложений - СУБД
p51x вне форума Ответить с цитированием
Старый 02.04.2014, 13:03   #6
CookieMonsta
Новичок
Джуниор
 
Регистрация: 01.04.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Что значит "трёхзвенную базу"?
Тебе нужно сделать один компьютер сервером с доступом в интернет (ну или в ту клоаку из-под которой будет мобилка работать) или локалку. Написать приложение которое будет использовать скажем технологию ADO или ODBC для связи с сервером и базой по адресу сервера и имени базы и все.
Как с ADO.NET работать знаешь?
спасибо большое, этого ответа я и ждал. На данный момент имеется виртуальная машина с развернутым на нем sql server. Гостевая соединена с хостом через виртуальный адаптер хоста. Visual Studio сервер видит отлично.

Сейчас я постараюсь разобраться с подключением нескольких приложений к базе данных. Ранее, когда sql serv и visual st стояли на одной машине, у меня была одна проблема: Если подключаешься к базе данных из одного приложения, то для других приложений база блокировалась. Подключал базу стандартными средствами visual studio (через добавление нового источника данных). Так же, после публикации приложения, для него создавалась как бы копия этой базы данных. Простите если выражаюсь не корректно. Как работать с ADO.NET знаю по книжке. Там есть пример, как подключаться к базе данных вручную. Что то вроде
InitializeComponent();
SqlDataAdapter dataAdapter =
new SqlDataAdapter(CommandText, ConnectionString);
Я движусь в правильном направлении? или такой метод тоже будет блокировать доступ к базе другим приложениям?
CookieMonsta вне форума Ответить с цитированием
Старый 02.04.2014, 13:37   #7
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Между клиентами и базой должна быть прослойка - программа-сервер. Именно она и только она имеет доступ к базе. Все клиенты направляют свои запросы к серверу, а он уже к базе. Люди все уже придумали за Вас, я же дал Вам ключевые слова. Читайте про взаимодействие клиент-сервер. В идеале клиентское приложение вообще про базу ничего знать не должно - SQL там не SQL, это проблема БД и сервера. Подумайте над этим.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 02.04.2014, 14:40   #8
CookieMonsta
Новичок
Джуниор
 
Регистрация: 01.04.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Между клиентами и базой должна быть прослойка - программа-сервер. Именно она и только она имеет доступ к базе. Все клиенты направляют свои запросы к серверу, а он уже к базе. Люди все уже придумали за Вас, я же дал Вам ключевые слова. Читайте про взаимодействие клиент-сервер. В идеале клиентское приложение вообще про базу ничего знать не должно - SQL там не SQL, это проблема БД и сервера. Подумайте над этим.
значит все таки получается нечто вроде трехуровневой архитектуры? http://ru.wikipedia.org/wiki/Трёхуровневая_архитектура
CookieMonsta вне форума Ответить с цитированием
Старый 02.04.2014, 14:46   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Трехзвенная база и трехуровневая база это не одно и тоже.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 02.04.2014, 14:52   #10
CookieMonsta
Новичок
Джуниор
 
Регистрация: 01.04.2014
Сообщений: 7
По умолчанию

Сэр, дабы не спамить здесь, позвольте узнать ваш Skype? Обещаю не доставать. Просто нужен пинок в правильном направлении.

Крайне нетактично было спрашивать ваш Skype. Вот мой - DubstepGu.Ru . Прошу помочь.

Последний раз редактировалось CookieMonsta; 02.04.2014 в 15:04.
CookieMonsta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог Drawgrid для работы с базой данных SovereignSun БД в Delphi 3 06.06.2012 17:38
Создание распределенного приложения для работы с базой (WCF,WPF) Thugmaster WPF, UWP, WinRT, XAML 1 18.04.2012 15:20
Разработка приложения для работы с базой Access Mariya2009 БД в Delphi 0 04.03.2012 14:02
Программа для работы с базой данных go2net Помощь студентам 1 11.08.2010 21:14
Как организовать интерфейс для работы с базой данных Manonia Общие вопросы .NET 5 24.06.2010 20:41