|
|
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Ах вооот оно что Что же это за пул такой? Где он расположен? Ну как можно такой абсурд писать - я просто в шоке. Ну не знаете вы тему разговора - ну не пишите вы ничего. Пул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:11:01 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, RTFMSDN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:36:17 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Ах вооот оно что Что же это за пул такой? Где он расположен? В СУБД. Ничто не мешает встроить pgBouncer в СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:42:48 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomПул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом. Пул не надо создавать, он создаётся автоматически при первом и последующих запросах к базе без всяких телодвижений со стороны программиста. svenom, Специально для Вас, тынц . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:48:27 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, vimba (c) 11946394 Горизонтальное масштабирование PostgreSQL с помощью PL/Proxy. http://habrahabr.ru/blogs/postgresql/45475/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:49:25 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSerge, да, в MS немного другой подход нежели Java.... Как у Сиквела-БД нежели Оракле-БД :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 14:52:25 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123ShSerge, да, в MS немного другой подход нежели Java.... Как у Сиквела-БД нежели Оракле-БД :) Ну дык топикстартер и спрашивал про MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:03:03 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergesvenomПул соединений не берется из ниоткуда. Его нужно сначала создать. Либо руками, либо попросить сервер приложений об этом. Пул не надо создавать, он создаётся автоматически при первом и последующих запросах к базе без всяких телодвижений со стороны программиста. svenom, Специально для Вас, тынц .Опять непонимание, опять глупость. Вы хоть прочитали, что написано там? Если нет, то я вам покажу кое-что из того, что написано на этой страничке. Сначала там сказано: авторВ драйвере JDBC реализованы необходимые интерфейсы JDBC 3.0, что позволяет драйверу участвовать в любой реализации пулов соединений, предоставляемой поставщиками ПО промежуточного слоя и совместимой с JDBC 3.0.Я уверен на 95%, что вы дальше даже читать не стали. Но что это? Что же там написано дальше? авторДрайвер JDBC поддерживает пулы соединений Java EE, однако не предоставляет собственную реализацию работы с пулом . Драйверу необходимо, чтобы управление соединениями осуществлялось серверами приложений Java сторонних разработчиков. Ой, ну как обычно - сели в лужу. Это из той же оперы, что и ваш перл с Хибером - "то еще гавно, вытягивает всю таблицу полностю, вот только я никогда его в глаза не видел и не знаю, как это смоделировать". На всякий случаи небольшой ликбез. 1) Когда вы вызываете что-то типа Connection connect = DriverManager.getConnection(...) , как это написано у автора, ни о каком коннекш пула речи идти не можеи, в этом случае всегда открывается новое соединие. 2) Для работы с пулом соединений нужно работать через интерфейс DataSource . Причем, есть реализации DataSource, которые используют пул, а есть те, которые его не используют. И в той статье, что вы мне показали, как раз написано, что в JDBC от Микрософта есть две реализации DataSource. Более того, там черным по белому написано, что пулом коннекшном должен управлять аппликейшн сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:12:11 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, я с тобой согласен, только будь ты "подипломатичнее" :) - пул в моей строке коннекта реализовывает MDAC MS в COM OleDB в операционке. - поэтому для программиста напр Delphi - всё прозрачно. Он этим не занимается. Так же как и асинхронным доступом к БД. Опять всё берёт на себя DAL в виде MDAC MS. imho ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:19:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, автор...позволяет драйверу участвовать в любой реализации пулов соединений Ну позволяет ну и что? Ещё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо. К тому же, внимательно почитайте, что речь идёт о вэбе. Так что коннект Вы никак сохранить не сможете в любом случае. Да, возьмёте из пула, но это всё равно будет другой коннект. Посмотрите значение переменной @@spid для двух разных страниц одного и того же вэб-приложения. Не, даже не так, спид может совпасть, если первый коннект закрыт. Создайте временную табличку с одной решёткой, например #test, а потом попробуйте её открыть на другой странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:29:22 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
Petro123svenom, я с тобой согласен, только будь ты "подипломатичнее" :) - пул в моей строке коннекта реализовывает MDAC MS в COM OleDB в операционке. - поэтому для программиста напр Delphi - всё прозрачно. Он этим не занимается. Так же как и асинхронным доступом к БД. Опять всё берёт на себя DAL в виде MDAC MS. imhoНу это все к Java никакого отношения не имеет, а потмоу является оффтопом. Просто нашим представителям .Net надо понять, что если у них EF какого-то хреня вытягивает всю таблицу из БД в память, то это не значит, что Java то же так делает. Если .Net пулит коннекшны одним способом, то это не значит, что Java делает это так же. Да, огромное количество подходов в мире .Net скопированы с Java, а потому издалека обе платформы выглядят почти идентичными, но конечные реализации, разумеется различаются, порой диаметрально. ShSerge никак не может это понять и бездумно проецирует все, что есть в .Net на мир Java. Как следствие, у нас каждый второй топик превращается в спор, где либо вы , либо ShSerge приводите просто какие-то фантастические аргументы и домыслы, а джависты вынуждены опровергать эти еретические утверждения, дабы не сбить с толку топик стартера. Давайте наконец придем к модели общения "подумал - написал", а не просто "написал". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:32:30 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeНу позволяет ну и что? Ещё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо. Ну опять чушь, чушь просто полнейшая. Еще раз поясню - через голый JDBC нельзя сделать пул путем вызова DriverManager.getConnection(), как это сделано у автора. В этом случае всегда будет открываться новое соединение. Для того, что бы работа с пулом была возможно надо работать через интерфейс DataSource, причем с той его реализацией, которая поддерживает пулинг. То есть дополнительные телодвижения обязательны. Другое дело, что эти телодвижения обычно перекладываются на апп. сервер, а не делаются руками. авторК тому же, внимательно почитайте, что речь идёт о вэбе. Так что коннект Вы никак сохранить не сможете в любом случае. Да, возьмёте из пула, но это всё равно будет другой коннект.Очередной перл - хоть стой, Хоть падай. Какая разница веб - не веб? С точки зрения JVM коннекшн к БД это обычный объект, который инкапсулирует в себе открытый сокет. Открытые коннекшны в пуле хранятся в JVM, как и сам пул. Они могут храниться где-то в апп. сервере, если это веб на Томкате - они хранятся где-то в томкате, если это обычная JavaSE - то они хранятся там, где вы сказали. авторПосмотрите значение переменной @@spid для двух разных страниц одного и того же вэб-приложения. Не, даже не так, спид может совпасть, если первый коннект закрыт. Создайте временную табличку с одной решёткой, например #test, а потом попробуйте её открыть на другой странице.К теме разговора отношения не имеет. Никто не будет хранить временные таблицы между транзакциями. Был уже тут недавно топик про это. Если надо хранить - тогда получайте коннекшн и держите открытым его между транзакциями сами. У пула соединений только одна задача - выдать соединения по запросу программы, разумеется нет никакого отслеживания и корреляции между отдельными запросами соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:40:44 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomджависты вынуждены опровергать эти еретические утверждения, дабы не сбить с толку топик стартера. Давайте наконец придем к модели общения "подумал - написал", а не просто "написал". +1 Только я бы заменил на "разобрался-подумал-написал" ну или "подумал-разобрался-написал". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:47:21 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom, ну здесь же не о таблице в память, а о РАЗНЫХ реализациях пула. Это архитектура. Сам оп себе пул - тьфу - простейший лист с галкой занято. От технологий MS тебе не спрятаться и голову в песок не засунуть. Я вот люблю обе сразу. ДвоежОнец я :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:47:50 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenomК теме разговора отношения не имеет. Никто не будет хранить временные таблицы между транзакциями. Был уже тут недавно топик про это. Если надо хранить - тогда получайте коннекшн и держите открытым его между транзакциями сами. У пула соединений только одна задача - выдать соединения по запросу программы, разумеется нет никакого отслеживания и корреляции между отдельными запросами соединения. Во-первых ещё как имеет. А временные таблицы прекрасно себе хранятся между транзакциями. Кстати, есть некоторые моменты - это соединение, пакет и транзакция. Временные таблицы хорошо работают между транзакциями и пакетами (т.е. разными запросами), но не работают между разными коннектами. Между пакетами только таблицы-переменные не работают. ПС. Ещё раз повторяю, ТС спрашивает о продукции майкрософта, а не о яве вообще. Почитайте внимательно мой пост. Я только предложил, что коннект через MS JDBC работает точно также, как АДО. Вообще-то это только ремарка была. На самом деле, я предложил запрос правильно переписать. ППС. Свеном, что Вы так возбуждаетесь? Комплексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 15:58:14 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeВо-первых ещё как имеет. А временные таблицы прекрасно себе хранятся между транзакциями. Кстати, есть некоторые моменты - это соединение, пакет и транзакция. Временные таблицы хорошо работают между транзакциями и пакетами (т.е. разными запросами), но не работают между разными коннектами. Между пакетами только таблицы-переменные не работают.Все верно - к теме атора это отношения не имеет. ShSergeППС. Свеном, что Вы так возбуждаетесь? Комплексы?Разумеется. У меня особый комплекс - возбуждаюсь, когда люди пишут то, в чем не разбираются. Ну а если серьезно, я уже объяснил выше почему. Потому что каждый второй топик скатывается в бессмыленные споры из-за того, что вы и еще некоторые участники форума пишут настолько неверные, а порой и глупые вещи, что у меня, как у высококвалифицированного специалиста, волосы дыбом встают, и я вынужден опровергать эти утверждения, дабы люди, которые действительно пытаются в чем-то разобраться, ни в кое случае к вам не прислушивались. А то побежит сейчас гипотетический IDVsbruck выискивать пулы там, где их нет, только из-за того, что у вас что-то как-то работает в ADO. Это не форум ADO, это форум Java. ShSergeПС. Ещё раз повторяю, ТС спрашивает о продукции майкрософта, а не о яве вообще. Почитайте внимательно мой пост. Я только предложил, что коннект через MS JDBC работает точно также, как АДО. Вообще-то это только ремарка была. На самом деле, я предложил запрос правильно переписать.Вот здесь вы предположили: ShSergeНо! Если использовать "родной" JDBC от майкрософта, то, скорее всего, каждый новый коннект будет браться из пула соединений именно по строке коннекта.Потом я объяснил вам что это не так, дал вам ссылки и пищу для размышлений, но вы вместо того, что бы попытаться понять, что я написал, сделали уже не предположение, а утверждение , разумеется, опять неверное: ShSergeЕщё раз повторяю, что для драйвера JDBC к MS SQL никаких телодвижений для создания пула, со стороны программиста, делать не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 16:15:52 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
svenom...А то побежит сейчас гипотетический IDVsbruck ... Ну, поскай сбегает. Вообще-то, мы с ним давно знакомы. Поверьте, он - не неофит. Если задал вопрос, значит, действительно, что-то не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 16:40:08 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergesvenom...А то побежит сейчас гипотетический IDVsbruck ... Ну, поскай сбегает. Вообще-то, мы с ним давно знакомы. Поверьте, он - не неофит. Если задал вопрос, значит, действительно, что-то не то.Разумеется, не то. Там адов ад в коде, о чем писал и он, и я, и часть других участников обсуждения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 16:58:14 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
А почему утверждение неверное? Я вот наверняка не знаю. Вот Вы и докажите, если Вы знаете. И почему опять? Я что-то не то написал? А-а-а, понял это Вы про ОРМ? Вобщем-то, очень многие, а не только я, считают орм наркотиком для ламеров. Что ломка началась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 16:59:59 |
|
||
|
Очень длинный коннекшн к удаленной базе
|
|||
|---|---|---|---|
|
#18+
ShSergeА почему утверждение неверное? Я вот наверняка не знаю. Вот Вы и докажите, если Вы знаете. И почему опять? Я что-то не то написал?Потому что работа с JDBC драйвером Microsoft ничем не отличается от работы драйвера любого другого вендора. А именно: а) DriverManager.getConnection() всегда приводит к созданию нового соединения с БД. б) Для работы с пулом соединений нужно использовать не DriverManger, а интерфейс DataSource, инстанс реализации которого надо создавать либо вручную, либо делегировать это контейнеру (как обычно и делают). ShSergeА-а-а, понял это Вы про ОРМ? Вобщем-то, очень многие, а не только я, считают орм наркотиком для ламеров. Что ломка началась? Нет, вы, увы, не поняли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2012, 17:11:46 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37625832&tid=2132774]: |
0ms |
get settings: |
21ms |
get forum list: |
29ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
72ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
109ms |
get tp. blocked users: |
3ms |
| others: | 411ms |
| total: | 683ms |

| 0 / 0 |
