如何使用WLST获取数据源JDBC驱动程序属性

时间:2017-10-06 15:42:36

标签: jdbc weblogic datasource wlst

使用WLST在weblogic服务器中获取数据源的JDBC驱动程序的某些属性时遇到问题。

尽管如此,我可以获得DS的许多属性:

allJDBCResources = cmo.getJDBCSystemResources()
    for jdbcResource in allJDBCResources:
            dsname = jdbcResource.getName()
            dsResource = jdbcResource.getJDBCResource()
            dsJNDIname = dsResource.getJDBCDataSourceParams().getJNDINames()[0]
            dsInitialCap = dsResource.getJDBCResource().getJDBCConnectionPoolParams().getInitialCapacity()

我仍然无法从中检索这些值(图片是为了更好地理解问题):

enter image description here

我能够获得驱动程序类名称,但不能获得该字段中的propierties。我需要通过WLST检索:

  • 用户
  • readtimeout
  • connect_timeout

我通过谷歌看到了很多网页,但仅限于#34;设置"属性不是获取该值的方法。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

好吧,我用这种方式实现了我所需要的:

     try :
                    user = ls("/JDBCSystemResources/"+ dsname +"/Resource/" + dsname + "/JDBCDriverParams/" + dsname + "/Properties/" + dsname + "/Properties/user")
                    readTimeOut = ls("/JDBCSystemResources/"+ dsname +"/Resource/" + dsname + "/JDBCDriverParams/" + dsname + "/Properties/" + dsname + "/Properties/oracle.jdbc.ReadTimeout")
                    conTimeOut = ls("/JDBCSystemResources/"+ dsname +"/Resource/" + dsname + "/JDBCDriverParams/" + dsname + "/Properties/" + dsname + "/Properties/oracle.net.CONNECT_TIMEOUT")
                    streamAsBlob = ls("/JDBCSystemResources/"+ dsname +"/Resource/" + dsname + "/JDBCDriverParams/" + dsname + "/Properties/" + dsname + "/Properties/SendStreamAsBlob")
     except WLSTException:
                    pass

之后我得到了我需要的信息,只是在一个可怕的字符串中,但我会用python解析它。