ORA-01036: 非法变量 name/number (cx_Oracle)

ORA-01036: illegal variable name/number (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()

您有一些小问题:

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