В нашем пакетном проекте мы запускаем сценарий оболочки, который, в свою очередь, вызывает веб-службу. Наше требование состоит в том, чтобы запускать запрос выбора в базе данных БД 2 и извлекать ответ 1000 A_TYPE учетных записей, то нам придется использовать эти учетные записи, чтобы получить список других учетных записей (A_TYPE, столбцы B_TYPE), используя учетные записи A_TYPE в подготовленном операторе из базы данных ORACLE.Извлечение массива значений из Oracle с помощью подготовленного оператора
Проблема заключается в том, что для каждых 1000 учетных записей A_TYPE я должен подготовить инструкцию 1000 раз и выполнить ее 1000 раз, чтобы получить учетную запись B_TYPE. Это время и не очень эффективны.
Так что если кто-то может предложить мне способ передать список или массив учетных записей A_TYPE, а затем получить список или хэш-карту учетных записей A_TYPE, B_TYPE, чтобы я мог их использовать дальше, это было бы очень полезно. Также мне нужно обновить свою БД Db2 учетными записями B_TYPE вместо учетных записей A_TYPE. Вся моя логика написана в режиме веб-службы (JAVA).
UPDATE:
Да я непосредственно доступ к БД через JNDI names.In логики обработчика вебсервис я буду делать вызов как DB's.I DONOT узнать версию DB2 используется, так как я к нему доступ с помощью JNDI имя, Oracle 10 ГИ есть запросы, как
SELECT A_TYPE account from ADB2 TABLE based on conditions (?,?) FETCH 1000 records only"` and `SELECT A_TYPE_Account,B_TYPE_Account from ORACLE_TABLE where A_TYPE_Account='?(A_TYPE)'
Нет я не придется беспокоиться о transactions.i не имеют представления о переменных хоста и DB2 динамического запроса.
Я искренне сомневаюсь, что вы _need_ к каждый раз подготавливайте заявление - обычно подготовленные заявления содержат заполнители для переменных хоста (по существу), что означает, что вам нужно только подготовить «схему».Если вы просто загружаете DB2 динамическим запросом (без предварительной подготовки), это будет делать это автоматически (вытащить переменные хоста и кешировать один оператор), хотя вам будет лучше сделать одну подготовку. Какие заявления у вас есть, и вам нужно беспокоиться о транзакциях? Вы напрямую обращаетесь к dbs или только через webservice? Какие версии/платформы для dbs (особенно DB2)? –
Да, я непосредственно получаю доступ к БД через имена JNDI. Я не знаю версию DB2, используемую с момента обращения к ней с использованием имени JNDI. –