使用cx_Oracle中csv文件中的变量更新数据库

高拉夫(Gaurav Marothia)

卡在我遇到错误ORA-01036的时候:使用cx_Oracle&Python3.6.8在Oracle数据库中执行更新命令时,非法的变量名称/编号

我想使用CSV文件(db_results.csv)中变量的值并执行更新命令。

db_results.csv文件如下所示:

id, order_id, product, Courier, state
01, ORD987, Keyboard, DHL, TX
02, ORD976, Charger, Blue Dart, NY

我的代码:

con = cx_Oracle.connect("abc/abc@abc")
cur = con.cursor()

with open(r'D:\db_results.csv') as file:
    next(file)
    for line in file:
        x = line.replace('\n', ' ').replace('\r', '')
        columns = x.split(",")
        y = columns[1]
    SQL = "update inventory set model='301547' where order_id = '?'"
    cur.execute(SQL, y)
    con.commit()
con.close()

cx_Oracle中是否有用于UPDATE的任何特定语法?试图找到用于此目的的示例,但到目前为止未找到任何示例。

巴巴罗斯·奥赞(Barbaros Ozhan)
  • ORA-01036的加注是由于oracle占位符的类型错误,因此更喜欢使用冒号开头的整数,例如:1:2

  • 不要忘了修剪第二个占位符的值,以消除空格包围值的空白 y

  • 无需将参数嵌入DML中,而是将其转换为元组,例如 (301547, y)

    ...
    with open(r'D:\db_results.csv') as file:
        next(file)
        for line in file:
            x = line.replace('\n', ' ').replace('\r', '')
            columns = x.split(",")
            y = columns[1]
            SQL = "UPDATE inventory SET model=:1 WHERE order_id = TRIM(:2)"
            cur.execute(SQL, (301657, y))
        con.commit()
    con.close()
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python ETL-使用cx_Oracle批量或迭代将大型数据集加载到Oracle数据库中

来自分类Dev

如何使用熊猫Write_Frame将结果导出到cx_Oracle中的Oracle数据库

来自分类Dev

如何使用cx_oracle django程序包连接到oracle旧数据库?

来自分类Dev

使用python连接到Oracle数据库(cx_oracle)

来自分类Dev

使用 cx_Oracle executemany() 从 Python 列表/字典批量插入 Oracle 数据库

来自分类Dev

数据库:使用cx_oracle通过python检查数据类型

来自分类Dev

Robot Framework 数据库连接 cx_Oracle

来自分类Dev

使用Java将日期和时间的csv文件加载到oracle数据库中

来自分类Dev

使用php文件更新数据库中的内容

来自分类Dev

无法用python的cx_Oracle连接oracle远程数据库

来自分类Dev

Heroku中的Python cx_Oracle

来自分类Dev

数据库中的数据更改时更新变量

来自分类Dev

如何在不安装Oracle客户端和cx_Oracle的情况下访问Oracle数据库?

来自分类Dev

使用php代码在Oracle数据库中插入变量数据时出错

来自分类Dev

从 python .exe 文件创建和更新 SQLite 数据库(使用 cx_Freeze)

来自分类Dev

尝试通过 csv 文件更新数据库中的一行

来自分类Dev

CX_Oracle使用绑定变量/函数插入数据并返回记录ID

来自分类Dev

Python cx_Oracle更新

来自分类Dev

无法从PHP中的数据库更新变量

来自分类Dev

从java更新oracle数据库中的日期/时间

来自分类Dev

尝试使用phpadmin将csv文件中的数据导入mysql数据库

来自分类Dev

使用数据库中的数据创建CSV文件,可得出“马赛克,混乱”的结果

来自分类Dev

如何使用变量中的数据填充sql数据库?

来自分类Dev

使用Python设置cx_Oracle环境变量

来自分类Dev

使用javascript变量更新数据库

来自分类Dev

使用变量更新数据库表

来自分类Dev

使用变量更新 joomla 数据库

来自分类Dev

输入文件更新数据库中的图像

来自分类Dev

Java-更新xml文件中的正确数据库

Related 相关文章

  1. 1

    Python ETL-使用cx_Oracle批量或迭代将大型数据集加载到Oracle数据库中

  2. 2

    如何使用熊猫Write_Frame将结果导出到cx_Oracle中的Oracle数据库

  3. 3

    如何使用cx_oracle django程序包连接到oracle旧数据库?

  4. 4

    使用python连接到Oracle数据库(cx_oracle)

  5. 5

    使用 cx_Oracle executemany() 从 Python 列表/字典批量插入 Oracle 数据库

  6. 6

    数据库:使用cx_oracle通过python检查数据类型

  7. 7

    Robot Framework 数据库连接 cx_Oracle

  8. 8

    使用Java将日期和时间的csv文件加载到oracle数据库中

  9. 9

    使用php文件更新数据库中的内容

  10. 10

    无法用python的cx_Oracle连接oracle远程数据库

  11. 11

    Heroku中的Python cx_Oracle

  12. 12

    数据库中的数据更改时更新变量

  13. 13

    如何在不安装Oracle客户端和cx_Oracle的情况下访问Oracle数据库?

  14. 14

    使用php代码在Oracle数据库中插入变量数据时出错

  15. 15

    从 python .exe 文件创建和更新 SQLite 数据库(使用 cx_Freeze)

  16. 16

    尝试通过 csv 文件更新数据库中的一行

  17. 17

    CX_Oracle使用绑定变量/函数插入数据并返回记录ID

  18. 18

    Python cx_Oracle更新

  19. 19

    无法从PHP中的数据库更新变量

  20. 20

    从java更新oracle数据库中的日期/时间

  21. 21

    尝试使用phpadmin将csv文件中的数据导入mysql数据库

  22. 22

    使用数据库中的数据创建CSV文件,可得出“马赛克,混乱”的结果

  23. 23

    如何使用变量中的数据填充sql数据库?

  24. 24

    使用Python设置cx_Oracle环境变量

  25. 25

    使用javascript变量更新数据库

  26. 26

    使用变量更新数据库表

  27. 27

    使用变量更新 joomla 数据库

  28. 28

    输入文件更新数据库中的图像

  29. 29

    Java-更新xml文件中的正确数据库

热门标签

归档