2016-09-28 63 views
0

我想列出jdbcprovider列表的單元範圍,但它也列出了jdbcproviders在節點和服務器範圍,如何從列表中刪除節點和服務器範圍內的提供程序?使用wsadmin獲取單元的JDBC提供程序

AdminConfig.list( 'JDBCProvider的可',AdminConfig.getid( '/細胞:CellV70A /'))

輸出:

「」 DB2通用JDBC驅動程序提供商(細胞/ CellV70A /節點/節點名| resources.xml#JDBCProvider_1302300228086)「\ n」DB2 Universal JDBC Driver Provider(cells/CellV70A | resources.xml#JDBCProvider_1263590015775)「\ n」用於MS SQL Server的WebSphere嵌入式ConnectJDBC驅動程序(單元/ CellV70A | resources.xml#JDBCProvider_1272027151294) 「'

回答

2

如果您看一下AdminConfig.list命令的幫助:

wsadmin>print AdminConfig.help('list') 
WASX7056I: Method: list 
... 
     Method: list 

     Arguments: type, scope 

     Description: Lists all the configuration objects of the type named 
     by "type" within the scope of the configuration object named by "scope." 
... 

它說「在範圍內」。由於節點和服務器範圍的JDBCProviders在單元的範圍內,它們由您的命令返回。如果您列出使用管理控制檯,在小區範圍內的所有JDBCProviders再看看命令的幫助,你會看到類似這樣的:

注意:不是由管理控制檯,因爲顯示腳本列表命令可能會產生更多的信息控制檯通常針對範圍,模板和內置條目進行過濾。 AdminConfig.list( 'JDBCProvider的',AdminConfig.getid( '/手機:了myCell /'))

所以你也要以類似的過濾你的回報清單。你可以扔在一起非常簡單的腳本這樣做:

jdbcProviders = AdminConfig.list('JDBCProvider', AdminConfig.getid('/Cell:MyCell')).split('\r\n') 
for jdbcProvider in jdbcProviders: 
    if "/nodes/" or "/servers/" in jdbcProvider: 
    continue 
    print jdbcProvider 
+0

其實我得到這個工作小組今日 項目= AdminConfig.list(「JDBCProvider的」,「* NAMEOFCELL |資源*」) 就剩下了需要過濾 – rhellem

相關問題