开发者社区> 问答> 正文

使用Python cx_Oracle运行更新查询只会使系统挂起,并且不会生成异常

尝试运行更新查询,但它只是停滞不前,没有任何输出

有人可以查看我编写的以下代码,并检查错误之处。使用Oracle SQL Developer手动尝试时,相同的查询工作正常。

query = """update PRODUCTNAMES set SHORT_TEXT_VALUE = :1 where UID in 
        (select UID from PRODUCTUID where PID in
        ('ab12','ed90','bv78') AND LOCALIZED_ATTRIBUTE_KEY = :2)"""
con = cx_Oracle.connect(username, password,
                                    host/service)
cursor = con.cursor()                                   

cursor.execute(query,['CARRY,EASY','WearableSubtype'])
con.commit()
cursor.close()
con.close() \`  \`  \` 

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 23:35:40 920 0
2 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    must be str, not NoneType

    这个问题是在批量插入时出现的,调试了几次都没用,单独把 executemany 拿出来就OK 后来尝试把 num=cursor.executemany改成不输出 num了 也就是

    rownum = cursor.executemany(singlesql,myvalue)

    1
    2
    

    改成

    cursor.executemany(batchsql,batchlist)

    2020-03-24 23:40:11
    赞同 展开评论 打赏
  • 如果您在SQL Developer中运行它,并且“没有提交”,那么该会话会将这些行“锁定”,并且不允许您通过Python脚本更新它们。

    首先在SQL Developer中提交(或更确切地说* rollback *),然后运行Python脚本。

    回答来源:stackoverflow

    2020-03-24 23:35:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载