Как исправить ORA-01036: недопустимая переменная имя / номер DatabaseError - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь записать несколько строк файла csv (или pandas dataframe) в базу данных Oracle, используя python (cx_Oracle).

Я копирую строки фрейма данных / csv в список rows, который выглядит следующим образом:

``

 [....,
 ['977', '980', '40', '152.9', '2011-08-22'],
 ['978', '981', '41', '155.5', '2011-08-22'],
 ['979', '982', '42', '149.3', '2011-08-22'],
 ['980', '983', '43', '153.5', '2011-08-22'],
 ['981', '984', '44', '149.5', '2011-08-22'], 
 ....]

``

Первым элементом разных строк является первичный ключ.Таблица в базе данных имеет такую ​​же структуру.Я пытаюсь скопировать строки в таблице следующим образом:

``

cursor.prepare('insert into REGULAR values (:1, :2, :3, :4)')
cursor.executemany(None, rows)
connection.commit()

``

В результате я всегда получаю эту ошибку: DatabaseError: ORA-01036: illegal variable name/number

Может кто-нибудь помочь.Спасибо!

PS .: Я уже нашел темы с вопросами, связанными с этой ошибкой, но это не помогло, так как ситуации совершенно другие.

...