createJDBCProvider的不同方式

问题描述

我需要以其他方式创建jdbc提供程序

此步骤1是我能够在Websphere服务器上创建jdbc提供程序的方式。 1)

AdminTask.createJDBCProvider(['-scope','Node='+node,'-databaseType','DB2','-providerType','DB2 Universal JDBC Driver Provider',...  

我需要另一种方式,因为我需要将值从xml重用到另一个代码 我使用的xml值的定义如下...

 <type>Node</type> <scopename>somenode</scopename>```
  <type>Servernode</type> <scopename>Node:somenode/Server:someserver</scopename>

我使用oustide函数中的作用域

scope = AdminConfig.getid('/Node:'+scope+'/')   
scope = AdminConfig.getid('/ServerCluster:'+scope+'/')

我尝试用两种不同的方式创建jdbc,但是没有一个成功... 这是第一次尝试

2)

n1 = ['name',j_name]
dtyp = ['databaseType','DB2']
protyp = ['providerType','DB2 Universal JDBC Driver Provider'] ...
jdbcAttrs = [n1,implCN,dtyp,protyp,desc,cpath]
AdminConfig.create('JDBCProvider',scope,jdbcAttrs) 

但出现错误为类型“ JDBCProvider”-“ databaseType”指定的属性无效 它只能创建类名和名称...是交互式方式

我的第二个尝试是定义我从外部函数获得的纯作用域,该作用域可用于创建活动规范,共享库等...这是合乎逻辑的,因为它们的jython代码是这样定义的...

3)

AdminTask.createJDBCProvider(['-scope','DB2 Universal JDBC Driver Provider' ...

但是它没有用,这是错误的配置数据类型无效

enter image description here

在ibm论坛上的配置ID与我的相同。

有什么方法可以避免像步骤1那样创建jdbc

解决方法

我发现以编程方式设置项目的最简单方法是同时使用字符串格式来提高可读性和可维护性。例如:

AdminTask.createJDBCProvider('[-scope Node={node},Server={server} -databaseType DB2 -providerType "DB2 Universal JDBC Driver Provider" -implementationType "XA data source" -name "DB2 Universal JDBC Driver Provider (XA)" -classpath [/work/drivers/db2jcc.jar] -nativePath "" ]'.format(node=xmlParser.get(node),server=xmlParser.get(server)))