Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.03.2013, 09:53
|
|||
|---|---|---|---|
Параметры не sql-типа в java-процедурах |
|||
|
#18+
Доброго времени суток! Есть большая процедура на java, состоящая из 50 логических блоков, каждый из которых модифицирует 1 таблицу в текущей базе (DB2) и соотв. ей таблицу на MSSQL. Поставлена задача вынести эти 50 блоков в отдельные небольшие java-процедуры, и просто вызывать их по-очереди из основной процедуры. При этом не хотелось бы 50 раз открывать/закрывать коннекты, но способа передать процедуре не sql-тип, а java-тип Connection или PreparedStatement я не знаю. Может, кто-нибудь подскажет, это вообще возможно? Или есть какой-то другой вариант? DB2 10 for z/OS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 10:28
|
|||
|---|---|---|---|
|
|||
Параметры не sql-типа в java-процедурах |
|||
|
#18+
ankalex, Какие задачи решает эта хранимая? Модифицируются одни и те же данные, т.е. это вариант репликации или нечто иное? Насколько сложная логика заложена в блоках Java-хранимой? Connection к подсистеме, в которой работает сама хранимая нужно получать с помощью URL:"jdbc:default:connection". В этом случае будет использоваться текущая нить исполнения. Но, исполнение Java-хранимой это далеко ненулевой оверхед. Поэтому решение разнести код на 50 разных хранимых - это не самое удачное решение с точки зрения производительности (ИМХО). С учетом версии 10 могу предложить переписать ту часть кода, которая работает с локальной базой на NativeSQL, а в хранимую(ые) вынести код, взаимодействующий с MSSQL. Желательно рассмотреть возможность иначе наладить взаимодействие с MSSQL. Навскидку (не зная процессов) могу предложить репликации или Federation(через промежуточный DB2 for LUW). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 10:49
|
|||
|---|---|---|---|
Параметры не sql-типа в java-процедурах |
|||
|
#18+
Процедура - репликация 50 таблиц с MSSQL на DB2, логика - простая, но последовательность операций важна (запись в DB2, удаление с MSSQL,запись в DB2, удаление с MSSQL,...). Производительность сейчас устраивает. Получается, что уйти от многократных коннект/дисконнект к MSSQL не получится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 11:05
|
|||
|---|---|---|---|
Параметры не sql-типа в java-процедурах |
|||
|
#18+
ankalexПроцедура - репликация 50 таблиц с MSSQL на DB2, логика - простая, но последовательность операций важна (запись в DB2, удаление с MSSQL,запись в DB2, удаление с MSSQL,...). Производительность сейчас устраивает. Получается, что уйти от многократных коннект/дисконнект к MSSQL не получится? А количество записей много в таблицах, если не многомиллионные, то может проще сделать LINK на DB2 с MSSQL и закидывать данными прямо оттуда в DB2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 11:18
|
|||
|---|---|---|---|
Параметры не sql-типа в java-процедурах |
|||
|
#18+
Записей много, у линков есть ограничения и недостатки (в свое время от них ушли, всех причин не помню). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 11:32
|
|||
|---|---|---|---|
Параметры не sql-типа в java-процедурах |
|||
|
#18+
ankalexЗаписей много, у линков есть ограничения и недостатки (в свое время от них ушли, всех причин не помню). Записей много - тогда все понятно, а на шину данных, на ту же WebSphere нельзя повесить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 12:40
|
|||
|---|---|---|---|
Параметры не sql-типа в java-процедурах |
|||
|
#18+
Какие-то стандартные средства админ пытался использовать, но возникали разного рода проблемы. На данный момент, если бы не большой размер текущей процедуры (что не нравится руководству) - все было бы отлично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 13:03
|
|||
|---|---|---|---|
Параметры не sql-типа в java-процедурах |
|||
|
#18+
ankalexКакие-то стандартные средства админ пытался использовать, но возникали разного рода проблемы. На данный момент, если бы не большой размер текущей процедуры (что не нравится руководству) - все было бы отлично. Да не я тоже туфту прогнал - WebSphere дорогая, пипец и разбираться в ней не просто, тем более шина - весчь своеобразная имхо. А нельзя красиво оформить эту процедуры, блоки с комментариями, с try, catch всевозможными, тобишь стандартизировать. Объяснить руководоству, что лишние коннекты это время и опять же поддерживать 50 процедур, вместо 1-ой. Иначе скажите есть смысл настраивать репликацию, а это нагрузка на админа, опять же если она упадёт - без админа её починить будет Вам напряжно!Руководству оно надо? P.S. Кстати , а в сторону федеративных баз и NICKNAME (для таблиц MSSQL) не смотрели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 13:27
|
|||
|---|---|---|---|
|
|||
Параметры не sql-типа в java-процедурах |
|||
|
#18+
ankalexПроцедура - репликация 50 таблиц с MSSQL на DB2, логика - простая, но последовательность операций важна (запись в DB2, удаление с MSSQL,запись в DB2, удаление с MSSQL,...). Производительность сейчас устраивает. Получается, что уйти от многократных коннект/дисконнект к MSSQL не получится? Тут масса вопросов. 1. Что мешает использовать собственно репликацию в том или ином виде? Если такой софт не куплен и нет средств на покупку, можно посмотреть в сторону например SymmetricDS 2. Если это репликация (по сути), зачем вообще оформлять процесс в виде хранимых процедур? В этом случае проще и надежнее (ИМХО) вынести функционал в отдельный сервис, это может быть или Standalone-программа, либо программа под управлением минимального сервера приложений (для обеспечения транзакционности например). В данном случае можно выделить весь Java-код в отдельную программу, которая будет исполняться в z/OS как пакетное задание и выполнять всю работу по синхронизации/репликации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2013, 13:29
|
|||
|---|---|---|---|
|
|||
Параметры не sql-типа в java-процедурах |
|||
|
#18+
ankalexКакие-то стандартные средства админ пытался использовать, но возникали разного рода проблемы. На данный момент, если бы не большой размер текущей процедуры (что не нравится руководству) - все было бы отлично. А большой это сколько? Если там нет логики, а только копирование данных, то откуда там большой размер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=43&tablet=1&tid=1601511]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 10ms |
| total: | 171ms |

| 0 / 0 |
