Обнаружен сценарий базы данных "AWKDBE018E Не удается получить доступ к требуемой папке драйвера JDBC" в планировщике рабочей нагрузки
Я создаю шаг сценария базы данных, который обращается к SQL Database Service в Workload Scheduler Service. Когда я запустил процесс, шаг столкнулся с ошибкой ниже.
сообщение об ошибке
AWKDBE018E Невозможно получить доступ к необходимой папке драйвера JDBC
информация сообщения
http://www-01.ibm.com/support/knowledgecenter/SSGSPN_9.2.0/com.ibm.tivoli.itws.doc_9.2/common/src_ms/awsmsawkdbe.htm?lang=en
AWKDBE018E Невозможно получить доступ к необходимой папке драйвера JDBC
объяснение
Заданию не удалось получить доступ к папке драйвера JDBC, возможно, у вас недостаточно прав. Системное действие
Операция не выполнена.
Ответ оператора
Убедитесь, что у вас достаточно разрешений.
Это сообщение, кажется, просит меня предоставить надлежащие полномочия пользователю задания. Но нет свойства указать пользователя задания агента автоматизации загрузки. Я использую агент автоматизации рабочих нагрузок, предоставляемый Bluemix автоматически.
Не могли бы вы научить меня, какие параметры необходимы?
Информация о шаге сценария базы данных
Информация о пути к классу драйвера JDBC
Я проверил путь по журналу следующего шага команды "ls -lR".
2 ответа
Похоже, что с агентом возникла проблема. Я попытался воспроизвести тот же тип задания, но он не работает с тем же сообщением об ошибке (даже с использованием разных решений для пути к драйверу jdbc). Если вы используете агент Workload Automation, созданный для вас, вы можете открыть заявку в службу поддержки, чтобы рабочая группа Workload посмотрела на этого агента.
Изменить после получения поддержки от сервисной команды:
в поле classpath jar для предопределенного процесса планировщика рабочей нагрузки необходимо указать только путь к каталогу, содержащему файлы jar, без указания имени используемого файла jar.
Итак, согласно текущей документации Workload Scheduler, вы должны использовать следующее значение: /home/wauser/utils
Таким образом, скрипт базы данных работает нормально.
(добавлен скриншот)
Похоже, что у него есть проблемы со ссылкой на расположение к пути класса JDBC для DB2. Не могли бы вы еще раз проверить расположение пути к классу для драйвера DB2?
Хотя я и стар, я хотел быстро проверить. Это проверено на динамическом агенте 9.5 FP1, входящем в состав контейнера. Значения пути - стандартные значения для контейнера.
Попробуйте 1 - полный путь - УСПЕХ
<jsdldatabase:driverPath>/opt/wa/TWS/jdbcdrivers/db2/</jsdldatabase:driverPath>
= Status Message: Success
= Exit Status : 0
Попробуйте 2 - относительный путь - FAIL
<jsdldatabase:driverPath>./jdbcdrivers/db2/</jsdldatabase:driverPath>
Job status : FAIL
===============================================================
AWKDBE018E Cannot access required JDBC Driver folder
===============================================================
Try3 - переменная в пути - FAIL
<jsdldatabase:driverPath>${UNISONHOME}/jdbcdrivers/db2/</jsdldatabase:driverPath>
===============================================================
AWKDBE018E Cannot access required JDBC Driver folder
===============================================================
Try4 - переменная в пути - FAIL
<jsdldatabase:driverPath>$UNISONHOME/jdbcdrivers/db2/</jsdldatabase:driverPath>
===============================================================
AWKDBE018E Cannot access required JDBC Driver folder
===============================================================
Короче, вам нужен абсолютный путь к этому параметру. НО, вы можете установить путь в файле конфигурации глобально для агента
Try5 - переменная в конфигурации агента -
Внутри IWSDATA Home: wadata/JavaExt/cfg/DatabaseJobExecutor.properties, напишите следующую строку
jdbcDriversPath=/opt/wa/TWS/jdbcdrivers
затем удалите элемент xml о драйвере из задания, чтобы не было строки
<jsdldatabase:driverPath>/opt/wa/TWS/jdbcdrivers/db2/</jsdldatabase:driverPath>
===============================================================
= Exit Status : 0
Обратите внимание, что в этом случае jdbcdrivers/db2 не требуется. Он будет искать подкаталоги.