我的代码中出现语法错误。谁能说语法有什么问题吗?我是这门语言的新手,没有太多想法。
错误消息:
<小时/>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)
最佳答案
您的语法在任何语言中都是无效的。您有 '...Server='+serverName' ...'
- 在重新打开报价之前您缺少 +
。
当然,您不应该像那样构建字符串;您应该使用 Python 中提供的众多字符串格式化功能之一,例如:
'[-scope Node={},Server={} -databaseType...'.format(nodeName, serverName)
我怀疑您还意味着 ORACLE_JDBC_DRIVER_PATH
是一个插值变量,但只有您知道它应该来自哪里。
关于python - Jython : SyntaxError: invalid syntax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40125406/