栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python】—— cx

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python】—— cx

更新日志:

  • [2021-11-16]
    文章发布

说明:

  • 本文地址
    • 《【Python】—— cx_oracle批量执行时,使用字典做每行数据的ORA-01036问题》https://blog.csdn.net/maixiaochai/article/details/121357554
  • 关于 MaiXiaochai
    • CSDN:https://blog.csdn.net/maixiaochai
    • GitHub:https://github.com/MaiXiaochai

1. 核心原因
  • 作为数据的字典中,有SQL中不存在的字段(或变量)名
2.详解
  • 表结构

    CREATE TABLE "FLXUSER"."TEST_DEMO" 
       ("NAME" NVARCHAR2(100), 
    	"SCORE" NUMBER
       );
    COMMENT ON TABLE FLXUSER.TEST_DEMO IS '测试用表,2021-11-16';
    
  • Python代码

    def demo():
        sql = 'insert into test_demo (name, score) values(:name, :score)'
    
        # 字典中的 gender不存在于SQL绑定的变量中
        data1 = [
            {'name': 'zhang', 'score': 100, 'gender': 'female'},
            {'name': 'yuzhibo', 'score': 90, 'gender': 'male'},
        ]
    
        # 正常数据
        data2 = [
            {'name': 'zhang', 'score': 100},
            {'name': 'yuzhibo', 'score': 90}
        ]
    
        db = OracleUtils(**db_cfg)
        db.executemany(sql, data1)
        db.commit()
    
    
    if __name__ == '__main__':
        demo()
    
  • 错误情况: 字典中包含未绑定的key,这里用data1演示

    • 报错 :ORA-01036: illegal variable name/number
  • 正常情况: 使用data2演示

    • 执行成功
    • 有数据

The end.
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529844.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号