|
|
|
MDI приложение и кол-во соединений с базой
|
|||
|---|---|---|---|
|
#18+
Привет. Пишу mdi приложение, причем child окна открываются НЕ в модальном режиме. Если 2 child окна одновременно будут обращаться к базе, то можно ли сделать так, чтобы они использовали одно и тоже соединение? Просто плодить несколь соединений не хотелось бы. Посоветуйте что-нибудь. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 11:39 |
|
||
|
MDI приложение и кол-во соединений с базой
|
|||
|---|---|---|---|
|
#18+
почему тебя физический соединения, воопшето sqlconnection создается в RunTime! ---- www.hramin.jino-net.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 13:34 |
|
||
|
MDI приложение и кол-во соединений с базой
|
|||
|---|---|---|---|
|
#18+
Несовсем понял, что Вы имеете в виду. Я же имел в виду, что, поскольку, окна открываются не в модальном режиме, следовательно, приходится для каждого окна создавать свое соединение, я работаю с Oracle-ом, т.е. OracleConnection. Таким образом для каждого "окна" создается свое физическое соединение. Мне просто интересно, есть ли возможность при описанной мной схеме, сделать так, чтобы все "окна" работали с одним физическим соединением параллельно или все таки лучше создавать несколько соединений ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 13:50 |
|
||
|
MDI приложение и кол-во соединений с базой
|
|||
|---|---|---|---|
|
#18+
Конечно можно. Делает свой класс (компонент), там устанавливаем соединение. Делаем его public static OracleConnection. И его можно теперь подключать к каждой форме. Соединение будет одно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2006, 10:11 |
|
||
|
MDI приложение и кол-во соединений с базой
|
|||
|---|---|---|---|
|
#18+
Это понятно, я так и делаю. Но если открывать второе оконо в дополнение к первому, которое уже использует это соединение, то оно зависает. Т.е. несколько запросов выполняться одновременно с одним соединением не могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 05:03 |
|
||
|
MDI приложение и кол-во соединений с базой
|
|||
|---|---|---|---|
|
#18+
авторТ.е. несколько запросов выполняться одновременно с одним соединением не могут. Естественно. Для этого и был придуман пул соединений. То есть каждый модуль бизнес логики создает свое собственное соединение и при завершении закрывает его, тем самым возвращая в пул. Новое _физическое_ соединение создается только если на момент создания в пуле нет свободных соединений. Поэтому, что бы уменьшить количество физических соединений, надо писать код так, что бы соединение открывалось на время, минимально необходимое для отправки запроса серверу и получение обратно результата выполнения этого запроса. авторсделать так, чтобы все "окна" работали с одним физическим соединением параллельно Сервера баз данных не поддерживают параллельное выполнение запросов в одном соединении. То есть пока не получен результат выполнения предыдущего запроса, новый Вы выполнить не сможете. PS: Может опишете задачу, в которой требуется одновременное выполнение запросов - может что другое можно придумать? -- 73 GL RA1OGE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 08:47 |
|
||
|
MDI приложение и кол-во соединений с базой
|
|||
|---|---|---|---|
|
#18+
Спасибо за помощь. Просто у меня опыта в этом вопросе мало, насчет пула была мысль, но сомневался, думал может можно распаралелить одно физическое соединение. Буду реализовывать пул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 09:48 |
|
||
|
MDI приложение и кол-во соединений с базой
|
|||
|---|---|---|---|
|
#18+
авторБуду реализовывать пул. Не надо его реализовывать!!! Он уже реализован в провайдере данных. Если не реализован, значит кривой провайдер, либо СУБД не поддерживает. Для MSSQL и Oracle пулы уже реализованы в провайдерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 11:16 |
|
||
|
|

start [/forum/topic.php?fid=17&tid=1353032]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 326ms |

| 0 / 0 |
