Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
#1

Как реализовать независимость от базы данных (СУБД), MSQL и Access

11.08.2009, 10:30. Просмотров 2648. Ответов 20
Метки нет (Все метки)

Привет, я начинаю писать приложение (толстый клиент) основанное на работе с базой данных. Рассчитано на 5-7 человек. Думаю базу делать на Access, т.к. для ее работы кроме компа с виндой ничего не надо (база будет обрабатываться встроенным Jet'ом в винде, сам файл базы будет лежать на сервере), ресурсов этой базы вполне хватит.
У нас на сервере установлена сокращенная MSQL (бесплатная), и я думаю ее использовать, может это даст какие-нибудь преимущества.
Поэтому хотелось бы сделать независимость от базы данных на MSQL или на Access.
Я новичок, поэтому очень слабо представляю себе как это можно сделать, подскажите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2009, 10:30
Ответы с готовыми решениями:

Средствами СУБД Access создать модель базы данных, состоящей из одной таблицы, и ввести данные
Дана предметная область на тему < книги по С# >: автор | название книги | город...

Создание файла базы данных Access. Нужно создать программно. Покажите как, ничего не нашёл.
Долго гуглил, ничего вразумительного не нашёл. Находил как можно создать файл...

C#, ADO.NET. Как защитить файл базы данных Access от удаления пользователем через проводник?
VS 2010, framework 4. Добавляю в проект ссылку "Microsoft ADO Ext. 2.8 for...

Пишу базу данных на основе данных из базы access
Здравствуйте уважаемые форумчане)) у меня к вам несколько вопросов 1) как...

Редактирование базы данных Access
Ребята помогите написать код для приложения. Нужен код для добавления и...

20
БурундукЪ
9555 / 2556 / 83
Регистрация: 17.02.2009
Сообщений: 10,364
11.08.2009, 10:33 #2
Цитата Сообщение от Vildar Посмотреть сообщение
MSQL
это что?
MS SQL или MySQL
0
MAcK
Комбайнёр
1572 / 670 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
11.08.2009, 10:33 #3
Используйте MSSQL если уже стоит на сервере. Аскес требует устанвоки офиса!
0
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
11.08.2009, 11:13  [ТС] #4
БурундукЪ, да MSSQL.
Цитата Сообщение от IT-Skyline Посмотреть сообщение
Используйте MSSQL если уже стоит на сервере. Аскес требует устанвоки офиса!
Да я бы отказался от Accessa, но с MSSQL еще не работал и нужно время для изучения.
А Jet ведь входит в Windows. Редактор Access мне не нужен. Офиса у нас нет, и фиг будет.
0
Некромант
5 / 5 / 0
Регистрация: 10.08.2009
Сообщений: 17
11.08.2009, 11:29 #5
Цитата Сообщение от БурундукЪ Посмотреть сообщение
это что?
MS SQL или MySQL
Это MySQL, бесплатных MSSQL для фирм не существует.
0
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
11.08.2009, 11:34  [ТС] #6
Цитата Сообщение от Некромант Посмотреть сообщение
Это MySQL, бесплатных MSSQL для фирм не существует.
К серверу прилагалось.
1
Некромант
5 / 5 / 0
Регистрация: 10.08.2009
Сообщений: 17
11.08.2009, 11:36 #7
Цитата Сообщение от Vildar Посмотреть сообщение
К серверу прилагалось.
Значит она уже включена в цену сервера.
0
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
11.08.2009, 11:52  [ТС] #8
Цитата Сообщение от Некромант Посмотреть сообщение
Значит она уже включена в цену сервера.
Не в курсах. Я простой инженер. Пишу прогу для себя и своих коллег.
0
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
11.08.2009, 11:53 #9
Поэтому хотелось бы сделать независимость от базы данных на MSQL или на Access.
Access не рекомендую.
MS свернула разработки Jet Engine, и для 64-битных систем его не будет.
Это значит, что твоя программа, использующая Accees откажется работать под (XP/Vista/7) x64, что в связи с неминуемым переходом на 64-bit выглядит не очень хорошо.
Для небольшой БД подойдет MSSQL Compact (об ограничениях можно прочитать тут)

в среде ADO.NET имеются обобщенные классы для абстрагирования от БД - это IDbConnection, IDbCommand и прочие из пространства System.Data
1
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
11.08.2009, 12:05  [ТС] #10
Rififi, спасибо за пояснения.
Результат нужен как можно быстрее. Чего я смогу добится на Accesse (Jet'е). А MSSQL на будущее.

Какие минусы использования абстрагированных от БД классов ADO.NET? Плюс очевидный. Посоветуете ли их использовать.
0
БурундукЪ
9555 / 2556 / 83
Регистрация: 17.02.2009
Сообщений: 10,364
11.08.2009, 12:23 #11
Цитата Сообщение от Vildar Посмотреть сообщение
Результат нужен как можно быстрее. Чего я смогу добится на Accesse (Jet'е). А MSSQL на будущее.
в чем проблема использования MS SQL?
если только в обработке, то мона использовать adp - Access Data Project, т.е. обработчик (клиент) в аксе, а таблы в MS SQL.
0
Rififi
2363 / 1056 / 104
Регистрация: 03.05.2009
Сообщений: 2,656
11.08.2009, 12:27 #12
Access позиционируется как персональная файловая БД, со всеми вытекающими, т.е. многопользовательская работа, хранимые процедуры, триггеры, транзакции - всё это не для него.

Какие минусы использования абстрагированных от БД классов ADO.NET? Плюс очевидный. Посоветуете ли их использовать.
Минусы в том, что придется писать больше кода, чем при тупом кодировании жестко заданных классов (таких, как OleDbConnection, SqlConnection, ...), потому что классы универсальные, и настройка их обычно занимает не одну строчку, а 2-3.
но при этом получаешь вполне очевидный плюсы - унифицированность доступа к данным и простоту в сопровождении.
Если планируется поддержка более одной БД, или переход на sql в будущем, то несомненно их стоит использовать, чтобы потом не было мучительно больно бегать по всему коду, и переправлять имена классов (а потом еще и ошибки отлавливать)
1
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,822
Завершенные тесты: 1
11.08.2009, 12:30 #13
Цитата Сообщение от Rififi Посмотреть сообщение
Access позиционируется как персональная файловая БД, со всеми вытекающими, т.е. многопользовательская работа, хранимые процедуры, триггеры, транзакции - всё это не для него.
позвольте с этим утверждением не согласиться, потому что многопользовательская работа в ней реализована все же... а если прикрутить тот же самый MS SQL - будут вам и триггеры, и хранимые процедуры и прочие прелести с этим связанные)))

Но все равно лучше аксесс не юзать для серьезных разработок...
0
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
11.08.2009, 12:32  [ТС] #14
Цитата Сообщение от БурундукЪ Посмотреть сообщение
в чем проблема использования MS SQL? если только в обработке, то мона использовать adp - Access Data Project, т.е. обработчик (клиент) в аксе, а таблы в MS SQL.
Проблема не в обработке. Я MSSQL не знаю. Дома поставил. Буду разбираться. Правда локальная и сетевая версии две большие разницы.
0
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,822
Завершенные тесты: 1
11.08.2009, 12:35 #15
Vildar, если вы знаете sql, тогда отличия между разными БД уходят разве что особенности проектирования БД, ну и в надстройки над этим самым sql
0
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
11.08.2009, 12:39  [ТС] #16
По основному вопросу в голове немного прояснилось.

Отвлеченный вопрос. Посоветуете ли вы ), использовать автоматически типизированный DataSet?
0
БурундукЪ
9555 / 2556 / 83
Регистрация: 17.02.2009
Сообщений: 10,364
11.08.2009, 12:42 #17
Цитата Сообщение от VoodooMan Посмотреть сообщение
Но все равно лучше аксесс не юзать для серьезных разработок...
точно
0
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
11.08.2009, 12:51  [ТС] #18
Цитата Сообщение от VoodooMan Посмотреть сообщение
Vildar, если вы знаете sql, тогда отличия между разными БД уходят разве что особенности проектирования БД, ну и в надстройки над этим самым sql
Перейдя на С#+ADO.NET с VBA+ADO+Access, мне показалось что тут sql знать не обязательно (опять же типизированный DataSet)
На sql я знаю простейшие запросы.
Мне вижу существенные отличия MSSQL от Access. Опять же, дома на локальной версии (выбирается при установке) MSSQL, все боле-менее понятно. А на работе, я пока не знаю как подключить базу.
Извиняюсь за безграмотные (по существу, а не по руск.языку) формулировки. Пытаюсь, как могу.
0
Lord_Voodoo
Супер-модератор
8609 / 2235 / 133
Регистрация: 07.03.2007
Сообщений: 10,822
Завершенные тесты: 1
11.08.2009, 13:05 #19
вы знаете, я даже и не знаю, что сказать, после заявления, что sql мы знаем на уровне - где-то слышал... как можно разрабатывать приложения по работе с БД без знания языка запросов у меня моска не хватает... а чтобы по сети подрубиться к серверу ms sql - надо установить клиентскую часть и прописать пользователя на сервере... по крайней мере я именно так подключался, хотя может есть более продвинутые, кто знает методы проще...
0
Vildar
1 / 1 / 0
Регистрация: 16.04.2009
Сообщений: 23
11.08.2009, 15:31  [ТС] #20
Цитата Сообщение от VoodooMan Посмотреть сообщение
вы знаете, я даже и не знаю...
Несколько приложений работает нормально.
Разбираюсь дальше.
0
11.08.2009, 15:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2009, 15:31

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

Базы данных Access (.mdb) + C#
Здравствуйте уважаемые пользователи этого славного форума! У меня есть много...

Привязка Базы Данных Access
Ребят такое дело. Вобщем сделал прогу, в ней есть datagridview в котором...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru