尝试运行更新查询,但它只是停滞不前,没有任何输出
有人可以查看我编写的以下代码,并检查错误之处。使用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
must be str, not NoneType
这个问题是在批量插入时出现的,调试了几次都没用,单独把 executemany 拿出来就OK 后来尝试把 num=cursor.executemany改成不输出 num了 也就是
rownum = cursor.executemany(singlesql,myvalue)
1
2
改成
cursor.executemany(batchsql,batchlist)
如果您在SQL Developer中运行它,并且“没有提交”,那么该会话会将这些行“锁定”,并且不允许您通过Python脚本更新它们。
首先在SQL Developer中提交(或更确切地说* rollback *),然后运行Python脚本。
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。