【发布时间】:2020-07-29 14:28:51
【问题描述】:
我正在尝试将 csv 文件加载到 oracle 数据库中并遇到此错误:
cx_Oracle.DatabaseError: ORA-01036: 非法变量名/编号
您能否帮助了解此问题的根本原因和可能的解决方法?
def main():
ConStr = 'UserName/PWD@END_POINT'
con = cx_Oracle.connect(ConStr)
cur = con.cursor()
with open('Persons.csv','r') as file:
read_csv = csv.reader(file,delimiter= '|')
sql = "insert into Persons (PERSONID,LASTNAME,FIRSTNAME,ADDRESS,CITY) values (:1,:2,:3,:4,:5)"
for lines in read_csv :
print(lines)
cur.executemany(sql,lines)
cur.close()
con.commit()
con.close();
我的 csv 文件如下所示:
PERSONID|LASTNAME|FIRSTNAME|ADDRESS|CITY
001|abc|def|ghi|jkl
002|opq|rst|uvw|xyz
【问题讨论】:
-
你确定你的csv文件中
CITY后面没有空格吗? -
是的,CITY 后面没有空格
-
检查cx_Oracle documentation example that shows how to load a CSV file。如果您分享表格描述,它将帮助我们查明您的问题。
标签: oracle python-2.7 csv sql-insert cx-oracle