我的代码中出现了一个语法错误。有人能说出语法中的错误在哪里吗?我是这个语言的新手,没有太多的想法。
错误消息:
WASX7017E:运行文件“jdbcConn.jy”时收到异常;异常信息: com.ibm.bsf.BSFException:来自Jython的异常:回溯(最里面的最后一个):(无代码对象)第0行文件"",第29行classpath = "classpath“,${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ^ SyntaxError:第29行,第32列出现词法错误。遇到:"$“(36),之后:"”
我的代码:
import sys
## **JDBCProvider** ##
def OracleJDBC(cellName,serverName):
name ="Oracle JDBC Driver"
print " Name of JDBC Provider which will be created ---> " + name
print " ----------------------------------------------------------------------------------------- "
# Gets the name of cell
cell = AdminControl.getCell()
print cell
cellid = AdminConfig.getid('/Cell:'+ cell +'/')
print cellid
print " ----------------------------------------------------------------------------------------- "
## Creating New JDBC Provider ##
print " Creating New JDBC Provider :"+ name
n1 = ["name" , "Oracle JDBC Driver" ]
desc = ["description" , "Oracle JDBC Driver"]
impn = ["implementationClassName" ,
"oracle.jdbc.pool.OracleConnectionPoolDataSource"]
classpath = ["classpath" , ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ]
attrs1 = [n1 , impn , desc , classpath]
n1 = ["name" , "Oracle JDBC Driver" ]
desc = ["description" , "Oracle JDBC Driver"]
impn = ["implementationClassName" , "oracle.jdbc.pool.OracleConnectionPoolDataSource"]
classpath = ["classpath" , "${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar"]
attrs1 = [n1 , impn , desc , classpath]
Serverid = AdminConfig.getid("/Cell:" + cellName + "/ServerName:" + serverName +"/")
jdbc = AdminConfig.create('JDBCProvider', Serverid, attrs1)
print " New JDBC Provider created :" + name
AdminConfig.save()
print " Saving Configuraion "
print " ----------------------------------------------------------------------------------------- "
####################################################################################################################
####################################################################################################################
#main program starts here
if __name__ == '__main__':
cellName = sys.argv[0]
serverName = sys.argv[1]
OracleJDBC(cellName,serverName)
发布于 2016-10-19 18:11:25
你的问题出在这一行:
classpath = ["classpath" , ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ]
相反,做一些类似这样的事情
opath = os.getenv("ORACLE_JDBC_DRIVER_PATH")
classpath = ["classpath", "{}/ojdbc6.jar".format(opath)]
“${ Python }”是外壳语法,不是ORACLE_JDBC_DRIVER_PATH。
发布于 2016-10-19 18:09:51
更改此行
classpath = ["classpath" , ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ]
要这样做:
classpath = ["classpath" , "${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar" ]
或者更好的是,直接删除这一行。无论如何,类路径稍后将再次声明为相同的值
https://stackoverflow.com/questions/40128264
复制相似问题