0

我在 Workload Scheduler 服务中创建了一个访问 SQL 数据库服务的数据库脚本步骤。当我运行该过程时,该步骤遇到以下错误。

错误信息

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 驱动程序文件夹,您可能没有足够的权限。 系统动作
不执行操作。
操作员响应
确认您有足够的权限。

此消息似乎要求我授予作业用户适当的权限。但是没有属性可以指定 Workload Automation Agent 的作业用户。我使用 Bluemix 自动供应的工作负载自动化代理。

你能教我需要哪些参数吗?

数据库脚本步骤信息
在此处输入图像描述 在此处输入图像描述

JDBC 驱动程序类路径信息
我通过以下“ls -lR”命令步骤的日志检查了路径。

在此处输入图像描述 在此处输入图像描述

4

3 回答 3

0

看起来它在将位置引用到 DB2 的 JDBC 类路径时遇到问题。您能否再次检查 DB2 驱动程序的类路径的位置?

于 2015-08-25T13:16:30.013 回答
0

代理似乎有问题,我尝试复制相同的作业类型,但它没有使用相同的错误消息(即使对 jdbc 驱动程序路径使用不同的解决方案)。如果您使用的是为您创建的工作负载自动化代理,那么您可以打开支持票证让工作负载团队查看该代理。


在获得服务团队的支持后进行编辑:

在预定义的工作负载调度程序进程的 jar 类路径字段中,您必须只放置包含 jar 文件的目录的路径,而无需放置要使用的 jar 文件名。

因此,根据当前的 Workload Scheduler 文档,您必须使用以下值:/home/wauser/utils

通过这种方式,数据库脚本可以正常工作。(已添加截图)在此处输入图像描述

于 2015-08-26T09:57:51.907 回答
0

即使老了,我也想做一些快速检查。这是在 9.5 FP1 动态代理上测试的,它是容器交付的一部分。路径值是容器的标准值。

尝试 1 - 完整路径 - 成功

<jsdldatabase:driverPath>/opt/wa/TWS/jdbcdrivers/db2/</jsdldatabase:driverPath>
= Status Message:  Success
= Exit Status           : 0

尝试 2 - 相对路径 - 失败

<jsdldatabase:driverPath>./jdbcdrivers/db2/</jsdldatabase:driverPath>
Job status : FAIL
===============================================================
AWKDBE018E Cannot access required JDBC Driver folder
===============================================================

Try3 - 路径中的变量 - 失败

<jsdldatabase:driverPath>${UNISONHOME}/jdbcdrivers/db2/</jsdldatabase:driverPath>
===============================================================
AWKDBE018E Cannot access required JDBC Driver folder
===============================================================

Try4 - 路径中的变量 - 失败

<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。它将搜索子目录。

于 2020-04-02T13:39:27.980 回答