Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подключение к различным БД 
V
    Опции темы
strS
Дата 29.3.2012, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 19.2.2009

Репутация: нет
Всего: нет



Добрый день! Возникла следующая задача:
Есть программа, подключаяющаяся к базе данных. Структура базы, таблица и запрос фиксированн. Единственное - не известен заранее тип базы(Oracle, mySQL и др.)
Предположим, в файле настроек будет указываться тип, название и прочая необходимая информация.
Вопрос, каким образом подключаться к БД? Ведь помимо пути нужны драйвера работы с бд, а все сразу подключать к проекту не хочется... 
Подскажите куда копать
Спасибо!
PM MAIL   Вверх
dextermd
Дата 30.3.2012, 04:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 21.6.2008

Репутация: нет
Всего: нет



Почитайте про Entity Framework. Эта технология позволяет абстрагироваться от конкретных СУБД.
PM MAIL   Вверх
erm0l0v
Дата 30.3.2012, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 11.1.2011

Репутация: нет
Всего: 1



Вынесите работу с БД в отдельные подключаемые модули, например указал пользователь что хочет использовать Oracle, ищем в папке с проектом dll для работы с Oracle и подключаем её например так:

Код

var assembly = Assembly.LoadFrom(fileName);


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

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

Это сообщение отредактировал(а) erm0l0v - 30.3.2012, 08:48
PM MAIL   Вверх
strS
Дата 8.4.2012, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 19.2.2009

Репутация: нет
Всего: нет



Спасибо, попробую через Entity Framework. Спасибо! 
PM MAIL   Вверх
Kanes
Дата 21.4.2012, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 11.3.2005

Репутация: нет
Всего: нет



Если еще актуально, то DbProviderFactory
--------------------
Big gun - big future  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0826 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.