Могу ли я получить доступ к таблицам на SQL Server и DB2 из мэйнфреймских программ Cobol через службы BizTalk DRDA?

Интересная вещь о assertAll заключается в том, что она всегда проверяет все утверждения, которые передаются ей , независимо от того, сколько неудач. Если все проходит, все нормально - если хотя бы один из них не получается, вы получите подробный результат всего, что пошло не так (и, если на то пошло).

Лучше всего использовать для утверждения набора свойств, которые принадлежат вместе концептуально.

Пример

Ваш конкретный пример не является оптимальным вариантом использования для assertAll, потому что проверка isPrime ] с простым и не-простым не зависит друг от друга - настолько, что я бы рекомендовал написать для него два метода тестирования.

Но предположим, что у вас есть простой класс, такой как адрес с полями city, street, number и хотели бы утверждать, что это то, что вы ожидаете от них:

Address address = unitUnderTest.methodUnderTest();
assertEquals("Redwood Shores", address.getCity());
assertEquals("Oracle Parkway", address.getStreet());
assertEquals("500", address.getNumber());

Теперь, как только первое утверждение не удастся, вы никогда не увидите результатов второго, что может быть весьма раздражающим. Существует много способов обойти это, и JUnit Jupiter assertAll является одним из них:

Address address = unitUnderTest.methodUnderTest();
assertAll("Should return address of Oracle's headquarter",
    () -> assertEquals("Redwood Shores", address.getCity()),
    () -> assertEquals("Oracle Parkway", address.getStreet()),
    () -> assertEquals("500", address.getNumber())
);

Если проверенный метод возвращает неправильный адрес, это ошибка, которую вы получаете:

org.opentest4j.MultipleFailuresError:
    Should return address of Oracle's headquarter (3 failures)
    expected:  but was: 
    expected:  but was: 
    expected: <500> but was: <16>

0
задан Humble 28 March 2019 в 03:44
поделиться

2 ответа

Я выхожу на конечности здесь, но я думаю, что ответ - НЕТ. Программы z / OS COBOL обращаются к DB2, используя потоки в локальную подсистему DB2, используя службы кросс-памяти. Думайте об этом как о сокете, но делайте это, используя низкоуровневое межпроцессное взаимодействие с нулевым копированием. Чтобы сделать то, что вам нужно, потребуются изменения приложения и Java в смеси для интеграции с BizTalk.

0
ответ дан David Crayford 28 March 2019 в 03:44
поделиться

Вы можете определить DRDA-ссылку на ссылку на базу данных OCDB, которая должна позволить вам подключаться практически к любой стандартной базе данных SQL на другом сервере. Но вы, вероятно, не получите его от системных администраторов мэйнфреймов, поскольку это нестандартно и трудно поддается управлению.

Репликация, вероятно, будет вашим лучшим выбором - есть несколько инструментов от обоих поставщиков: https://docs.microsoft.com/en-us/sql/relational-databases/replication/non-sql/ibm -db2-абоненты? view = sql-server-2017 описывает предложение Microsoft.

0
ответ дан James Anderson 28 March 2019 в 03:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: