Я внес изменения в профиль JVM OSGi, добавив библиотеку в LIBPATH_SUFFIX
. После этого я отбросил свой JVM-сервер и переустановил его, но изменения не отражаются. Есть ли дополнительный шаг, который я должен был позаботиться после внесения изменений в файл профиля JVM?Изменения, внесенные в профиль JVM в CICS, не отражаются во время выполнения
ответ
Если вы хотите добавить DB2 JDBC TYPE2 поддержки драйверов на сервер OSGi JVM вам нужно будет сделать следующее:
- Добавьте библиотеки DB2 в CICS STEPLIB
Создать/установить CICS DB2CONN и убедитесь, что это работает
Добавьте JDBC-драйвер JDBC и лицензионные JAR-файлы в путь класса промежуточного программного обеспечения сервера JVM, используя параметр OSGI_BUNDLES. Обратите внимание, что эти JAR уже упакованы в пакеты OSGi.
- Добавьте DB2 разделяемые библиотеки в LIBPATH_SUFFIX JVM сервера
- Отключить/включить сервер JVM, чтобы перезапустить его
Для справки см
Если вам необходимо отладить фактическое значение LIBPATH JVM сервера, лучшим средством является Центр здоровья IBM, и перспектива окружающей среды покажет java.library.path в использовании в JVM см this tutorial
Спасибо Филу за предложение! Не могли бы вы предоставить еще одну ссылку для примера, поскольку данная ссылка кажется нарушенной. Я развернул баны драйвера DB2 в качестве пакета OSGI, потому что раньше я получал класс не найденной ошибки, как только я развернул пакет OSGi, содержащий банки, я начал получать ошибку в исходной библиотеке. FYI моя версия cics - 5.2, и я могу подключиться к DB2 с использованием подключения типа 4. –
Ссылка теперь обновлена, поэтому теперь это должно сработать для вас. –
Действительно, была проблема с окружающей средой, и нам пришлось вносить изменения в steplib региона, теперь ошибка не наступает. Я получаю следующую ошибку. com.ibm.db2.jcc.am.SqlSyntaxErrorException: [jcc] [50053] [12311] [3.69.56] Исключение T2zOS: [jcc] [T2zos] T2zosConnection.flowConnect: execConnect: 1425: ошибка SQL в DB2, SQLCODE = -922, SQLSTATE = 42505, токены ошибок = PLAN ACCESS; 00F30034 ERRORCODE = -922, SQLSTATE = 42505 Использование приведенного ниже java-кода для подключения к DB2 - –
Это действительно трудно отлаживать без дополнительной информации. У вас есть разделы профиля JVM, которые вы могли бы нам показать? С какой версией CICS TS вы работаете? Эта информация поможет нам. –
Есть ли релевантные сообщения в очереди CSSL TD, обычно отображаемые в MSGUSR DD? Или JESMSGLG DD? – cschneid
CICS TS находится на уровне 5.2. На самом деле мне нужно подключиться к JDBC с драйвером типа 2, поэтому я поместил db2jcc2.jar и db2jcc_license_cisuz.jar в отдельный комплект OSGi и установил его. Но когда я пытаюсь подключиться к БД с помощью DriverManager.getConnection, я получаю ошибку ********************** Ошибка при загрузке собственной библиотеки db2jcct2zos_64, java.lang.UnsatisfiedLinkError : db2jcct2zos_64 *************, поэтому я попытался добавить путь в LIBPATH_SUFFIX, где у меня были файлы .so (libdb2jcct2zos.so, ibdb2jcct2zos_64.so, libdb2jcct2zos4.so, libdb2jcct2zos4_64.so) .. но Я получаю ту же ошибку –