首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SyntaxError:第29行,第32列出现词法错误。遇到:"$“(36),之后:"”

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

Stack Overflow用户
提问于 2016-10-19 18:07:30
回答 2查看 994关注 0票数 0

我的代码中出现了一个语法错误。有人能说出语法中的错误在哪里吗?我是这个语言的新手,没有太多的想法。

错误消息:

WASX7017E:运行文件“jdbcConn.jy”时收到异常;异常信息: com.ibm.bsf.BSFException:来自Jython的异常:回溯(最里面的最后一个):(无代码对象)第0行文件"",第29行classpath = "classpath“,${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ^ SyntaxError:第29行,第32列出现词法错误。遇到:"$“(36),之后:"”

我的代码:

代码语言:javascript
运行
复制
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)
EN

回答 2

Stack Overflow用户

发布于 2016-10-19 18:11:25

你的问题出在这一行:

代码语言:javascript
运行
复制
classpath = ["classpath" , ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ]

相反,做一些类似这样的事情

代码语言:javascript
运行
复制
opath = os.getenv("ORACLE_JDBC_DRIVER_PATH")
classpath = ["classpath", "{}/ojdbc6.jar".format(opath)]

“${ Python }”是外壳语法,不是ORACLE_JDBC_DRIVER_PATH。

票数 2
EN

Stack Overflow用户

发布于 2016-10-19 18:09:51

更改此行

代码语言:javascript
运行
复制
classpath = ["classpath" , ${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar ]

要这样做:

代码语言:javascript
运行
复制
classpath = ["classpath" , "${ORACLE_JDBC_DRIVER_PATH}/ojdbc6.jar" ]

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40128264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档