![]() |
|
Модераторы: gambit |
![]()
|
|
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Не пойму, почему Connection string -- это application setting?
Я использую для работы с базой данных элемент проекта DataSet. Этот элемент позволяет визуально представить объекты базы данных и автоматически создаёт объекты и классы для доступа к ним. Информация хранится в файл XSD. После добавления любого объекта в дизайнер (например, хранимой процедуры), в его свойствах прописывается ссылка на определённый Connection string, который автоматически создаётся в настройках программы. То есть, DataSet вынуждает меня пользоваться именно таким типом для хранения строки соединения с базой. Далее, уже внутри Settings я вижу, что тип Connection string может быть только Application setting, то есть, его должно быть нельзя менять во время выполнения. Я, конечно, нашёл обходной путь и всё-таки меняю эту настройку, но мне непонятна логика. Разве логично, когда в программу жёстко зашито имя сервера, имя базы данных и другие параметры строки доступа? Ведь база данных не распространяется вместе с программой. Или распространяется? Ну даже если распространяется, то имя сервера всё равно не может быть таким же на всех компьютерах, где должна работать программа. Так почему же они сделали, чтобы было так? |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
на сколько я знаю Connection string можно прописать жестко в код, а можно хранить в файле app.config и из него читать, ну по крайней мере так рекомендуют в книжках по ADO.NET и студия так делает.
|
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 8 Всего: 49 |
Кроме обходного пути - в папке проекта лежит app.config, в котором этот connection string задается. Application setting - это просто оберка для чтения этого config-а со значениями по умолчанию. Добавлено через 37 секунд Экскалупатор, обогнал... |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Dims, может, я субъективен... но использование ORM мне видится лучшим (по сравнению с типизированным DataSet) во всех отношениях средством реализации DAL.
|
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
вообще я на данный момент пишу приложение для роботы с БД Access и мне кажется в моем случае нету особой необходимости писать строку подключения в файл(что соответственно будет вызывать задержки на чтение) да и нерадивый "умный пользователь" может подумать что это какой то "ненужный файл" и сломается вообще все, так что я решил прописать все в код. и еще, перетаскивание на форму и доверяние студии создавать датасеты и все остальное это как то жестко. я когда первый раз с этим столкнулся чуть в обморок не упал, залез в листинг датасета(который студия создала), а там почти 6000(!) строк, потом переписал сам, только то что мне нужно, получилось строк ~200 и работать стало все намного быстрее. хотя, конечно, кому что ближе... нужно исходить из ситуации
PashaPash, ну, я не хотел... |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Dims,
Привет. Я не знаю почему они так делают. Когда создаешь типизированный DataSet, то можно в мастере не указывать сохранение connectionString в aap.config. Вместо этого пойти в свойства проекта и на вкладке Settings создать свойство типа String не для аппликации, а для пользователя. Вот это свойство уже можно редактировать в runTime. Или писать отдельный partial class с методом переопределения connectionString, который прописан в app.config. ЗЫ Код добавлю чуть позже с другого компа. (тут есть русский, а там студия и проекты Добавлено через 1 минуту и 59 секунд Кстати если создавать настройки для пользователя, а не для аппликации, то они прописываются в файл user.config для каждого пользователя отдельно. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
||||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Какая разница, встроенные или нет? Вопрос должен звучать так: "А есть достойные средства?" Это сообщение отредактировал(а) Idsa - 8.4.2009, 13:03 |
|||
|
||||
| thomas |
|
||||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Settings.Designer.vb
Overload in Settings.vb
myDataSet.Designer.vb
-------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||||
|
|||||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |