2016-10-19 4 views
1

Получение синтаксической ошибки в моем коде. Кто-нибудь может сказать, что не так в синтаксисе? Я новичок в этом языке, у меня нет большой идеи.Jython: SyntaxError: недействительный синтаксис

Сообщение об ошибке:

WASX7017E: Exception received while running file "jdbcconnection.jy"; exception information: com.ibm.bsf.BSFException: exception from Jython: Traceback (innermost last): (no code object) at line 0 File "", line 13 AdminTask.createJDBCProvider('[-scope Node='+nodeName+',Server='+serverName' -databaseType Oracle -providerType "Oracle JDBC Driver" -implementationType "Connection pool data source" - name "Oracle JDBC Driver" -description "Oracle JDBC Driver" -classpath [${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar] -nativePath "" ]')^SyntaxError: invalid syntax


Мой код:

import sys 

def jdbcoracle(nodeName,serverName): 
     print 'Create JDBC provider' 
    AdminTask.createJDBCProvider('[-scope Node='+nodeName+',Server='+serverName' -databaseType Oracle -providerType "Oracle JDBC Driver" -implementationType "Connection pool data source" -name "Oracle JDBC Driver" -description "Oracle JDBC Driver" -classpath [${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar] -nativePath "" ]') 
    AdminTask.createJDBCProvider('[-scope Node='+nodeName+',Server='+serverName' -databaseType Oracle -providerType "Oracle JDBC Driver" -implementationType "XA data source" -name "Oracle JDBC Driver (XA)" -description "Oracle JDBC Driver (XA)" -classpath [${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar] -nativePath "" ]') 
     AdminConfig.save() 
    print 'JDBC provider created' 
#------------------------------------- 
# Main Application starts from here 
#------------------------------------- 
global nodeName, cellName 
nodeName = sys.argv[0] 
serverName = sys.argv[1] 
jdbcoracle(nodeName,serverName) 
+0

Является ли ваш отступ правильным или это просто неправильное форматирование? – Nurjan

ответ

2

Ваш синтаксис будет недействительным на любом языке. У вас есть '...Server='+serverName' ...' - вам не хватает + перед повторным открытием цитаты.

Конечно, вы не должны создавать такие строки; вы должны использовать один из многих особенностей строки форматирования, доступных в Python, например:

'[-scope Node={},Server={} -databaseType...'.format(nodeName, serverName) 

Я подозреваю, что вам также значит ORACLE_JDBC_DRIVER_PATH быть интерполированным переменным, но только вы знаете, где это, как предполагается, откуда.

+0

Можете ли вы набрать синтаксис для моего дела. Я nw в сценариях python –

+0

Я просто сделал. И, как я уже сказал, синтаксис будет столь же недействительным в Java, как и в Python. –

+0

Большое спасибо! он решил мою проблему :) –

 Смежные вопросы

  • Нет связанных вопросов^_^