首页 > 解决方案 > ORA-01036: 非法变量名称/编号 (cx_Oracle)

问题描述

当我尝试将数据插入数据库时​​,当我使用以下代码时,我可以看到上述错误。

你能否建议还有什么可以做的。

代码:

list_to_add=['Have you searched','similar question has already been posted']

dsn_tns = cx.makedsn(cred_test['HOST'], cred_test['PORT'], service_name=cred_test['SERVICE_NAME'])

conn = cx.connect(user=cred_test['USER'], password=cred_test['PASWRD'], dsn=dsn_tns)

cursor = conn.cursor()

cursor.prepare('INSERT INTO Table_name Col_name values (:0)')

cursor.executemany(None,list_to_add)

conn.commit()

标签: pythonpython-3.xoraclecx-oracle

解决方案


你有小问题:

  1. ORA-01036由于列表元素未用方括号括起来而引发

  2. ORA-00947将在修复第一个问题后引发,因为Col_name在 Insert 语句中没有用括号括起来

    list_to_add=[['Have you searched'],['similar question has already been posted']]
    
    dsn_tns = cx.makedsn(cred_test['HOST'], cred_test['PORT'], service_name=cred_test['SERVICE_NAME'])
    
    conn = cx.connect(user=cred_test['USER'], password=cred_test['PASWRD'], dsn=dsn_tns)
    
    cursor = conn.cursor()
    
    cursor.prepare('INSERT INTO Table_name(Col_name) VALUES(:0)')
    
    cursor.executemany(None,list_to_add)
    
    conn.commit()
    

推荐阅读