2016-10-19 25 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

私のケースの構文を入力してください。私はPythonスクリプトでnwです –

+0

私はちょうどしました。そして私が言ったように、構文はPythonと同じようにJavaでは無効になります。 –

+0

ありがとう!それは私の問題を解決しました:) –