Интеграция лицензии DB2 в автономное приложение JAR - PullRequest
0 голосов
/ 29 мая 2018

Я разработал небольшую утилиту для чтения таблиц базы данных и пытаюсь получить доступ к таблицам DB2.Я использую DB2 для z / OS, и мое приложение представляет собой автономный файл JAR, который вы должны выполнить в командной строке, используя java -jar.Кроме того, у меня есть лицензия db2jcc_license_cu.jar, которую я получил от администратора БД.Я уже пытался упаковать эту лицензию в свое приложение JAR, но я всегда получаю эту ошибку:

[jcc][t4][10509][13454][4.21.29] Connection to the data server failed. The IBM Data Server for JDBC and SQLJ license was invalid 
or was not activated for the DB2 for z/OS subsystem. If you are connecting directly to 
the data server and using DB2 Connect Unlimited Edition for System z, perform the 
activation step by running the activation program in the license activation kit.  
If you are using any other edition of DB2 Connect, obtain the license file, 
db2jcc_license_cisuz.jar, from the license activation kit, and follow the installation 
directions to include the license file in the class path. ERRORCODE=-4230, SQLSTATE=42968

URL-адрес соединения jdbc:db2://<server>:<port>/<schema_name>:progressiveStreaming=2;, который должен быть соединением типа 4.Я использую универсальный драйвер DB2.Я не знаю, достаточно ли включить jar лицензии, чтобы все заработало, или мне нужно что-то большее, например, загрузка лицензии или аналогичные операции.

Любая помощь будет оценена.

Ответы [ 3 ]

0 голосов
/ 29 мая 2018

Если вы используете Eclipse IDE, он включает в себя средство, которое создает проект в виде одного файла JAR (Export as Runnable JAR):

Как создать JAR с внешними библиотеками, включенными в Eclipse

0 голосов
/ 17 мая 2019

я потратил 4 часа, пытаясь это сделать, и, наконец, я использую jt400.rar, и это работает фантастически!

0 голосов
/ 29 мая 2018

Насколько я помню, db2jcc_license_cu.jar должен быть на пути к классу приложения, чтобы драйвер JDBC мог его забрать.

Когда вы запускаете приложение с java -jar ... you не может указать дополнительные jarfiles в командной строке.

Таким образом, у вас есть два варианта:

  1. Включить db2jcc_license_cu.jar в ваш MANIFEST.MF когда вы создаете JAR-файл вашего приложения.Затем вам нужно поместить его в то же место, что и другие файлы jar, указанные в манифесте.

  2. Запустите ваше приложение, указав все банки, используя параметр -cp:

    java -cp yourjar.jar;db2jcc4.jar;db2jcc_license_cu.jar your.main.Class
    

Обратите внимание, что в приведенном выше примере используется разделитель пути Windows.Если вы запускаете приложение в Linux, вам нужно использовать : вместо ;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...