SyntaxError:第29行第32列出现词法错误。遇到:“$”(36),之后:“

2024-10-02 18:25:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码中出现语法错误。有人能说出语法中的错误吗?我不熟悉这种语言,不太懂。在

错误消息:

WASX7017E:运行文件时收到异常“jdbcConn.jy“”异常信息:com.ibm.bsf.BSFException:来自Jython的异常:Traceback(最里面的最后一个):(没有代码对象)在第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)

Tags: 代码namedrivercellproviderdescoracleprint
2条回答

你的问题是:

classpath = ["classpath" , ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ]

相反,做些像

^{pr2}$

“${ORACLE_JDBC_DRIVER_PATH}”是shell语法,而不是Python。在

换行

classpath = ["classpath" , ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ]

为此:

^{pr2}$

或者更好的是,删除这一行。无论如何,类路径稍后会再次声明为相同的值

相关问题 更多 >