2014-10-10 3 views
0

Я пытаюсь создать скрипт в Jython для переноса некоторых приложений с 7 до 8.5. После того, как я создал источник данных я застрял в течение 2 часов с этой ошибкой: TypeError: последовательность индекс должен быть целым или порезатьWSadmin TypeError: индекс последовательности должен быть целым или срезом, используя AdminConfig.modify

Проблема появляется в строке 25, и я понятия не имею, как ее решить. Если вам нужна дополнительная информация, дайте мне знать. Пожалуйста, помогите мне! Большое спасибо!

Мой код:

if (len(OracleDataSourceList) > 0): 
dbuserList=AdminTask.listAuthDataEntries() 
for dataSource in OracleDataSourceList: 
    datasourceName=dataSource[0] 
    dsJNDIName=dataSource[1] 
    compAuthAlias=dataSource[2] 
    providerName=dataSource[3] 
    dataStoreHelperClassName=dataSource[4] 
    description=dataSource[5] 
    databaseURL=dataSource[6] 
    databaseMaxConnections=dataSource[7] 
    databaseMinConnections=dataSource[8] 
    databaseconnTimeout=dataSource[9] 
    databasereapTime=dataSource[10] 
    databaseunusedTimeout=dataSource[11] 
    databaseagedTimeout=dataSource[12] 

    #Create Data Source 
    dataSourceId = AdminJDBC.createDataSourceAtScope(scope, providerName, datasourceName, dsJNDIName, dataStoreHelperClassName, databaseURL, [['componentManagedAuthenticationAlias',compAuthAlias],['containerManagedPersistence','true'],['description',description]]) 

    #Modify connection pool 
    connectionPoolList = AdminConfig.list('ConnectionPool', dataSourceId) 
    connectionPoolList = AdminUtilities.convertToList(connectionPoolList) 
    connectionPoolId = connectionPoolList[0] 
    AdminConfig.modify(connectionPoolId, [["maxConnections", databaseMaxConnections]\ 
              ["minConnections", databaseMinConnections]\ 
              ["connTimeout", databaseconnTimeout]\ 
              ["reapTime", databasereapTime]\ 
              ["unusedTimeout", databaseunusedTimeout]\ 
              ["agedTimeout", databaseagedTimeout]\ 
             ]) 
print 'Saving configuration...' 
AdminConfig.save() 
print "Configuration saved." 

Ошибка:

WASX7017E: Exception received while running file "createDataSource.py"; exception information: com.ibm.bsf.BSFException: exception from Jython: 
Traceback (innermost last): 
    File "<string>", line 25, in ? 
TypeError: sequence subscript must be integer or slice 

ответ

0

Я решил проблему.

Заменить линий 25:31 с:

AdminConfig.modify(connectionPoolId, [["maxConnections", databaseMaxConnections], ["minConnections", databaseMinConnections], ["connectionTimeout", databaseconnTimeout], ["reapTime", databasereapTime], ["unusedTimeout", databaseunusedTimeout], ["agedTimeout", databaseagedTimeout]])