0

这个问题我不知道将参数传递给存储过程的步骤

def get_store_procedure(due_id,due_date):
    print("connect to oracle server")
    try:
        conn = jaydebeapi.connect('oracle.jdbc.driver.OracleDriver'
            ,'jdbc:oracle:thin:@127.0.0.1:1523:dws',[ 
            "admin","admin"],'/hdfs/dev/scripts/pyspark/drivers/ojdbc6.jar')

    curs = conn.cursor()
            curs.execute('call  
            orcl.MYFUNC(TO_DATE(?,?),?,?,?)',arg_in1,'yyyy/mm/dd',arg_in2,arg_out1,arg_out2))
4

1 回答 1

0

您必须将参数指定为序列,而不是execute()函数的多个参数。

curs.execute('call orcl.MYFUNC(TO_DATE(?,?),?,?,?)',
             (arg_in1, 'yyyy/mm/dd', arg_in2, arg_out1, arg_out2)
            )
于 2020-06-16T21:36:09.700 回答