【问题标题】:ORA-01036: illegal variable name/number (cx_Oracle)ORA-01036: 非法变量名称/编号 (cx_Oracle)
【发布时间】:2020-05-12 04:29:50
【问题描述】:

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

您能否建议您还可以做什么。

代码:

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()

【问题讨论】:

标签: python python-3.x oracle cx-oracle


【解决方案1】:

你有一些小问题:

  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()
    

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多