使用cx_Oracle将CSV文件内容加载到oracle并得到选择关键字错误



>我正在尝试将csv文件加载到Oracle表中,但收到此错误:

DatabaseError: ORA-00928: missing SELECT keyword

以下是我正在使用的代码:

def Create_list():
reader = csv.reader(open("Query_result_combined.csv","r"))
lines=[]
for line in reader:
lines.append(line)
print(lines[:1])
print(lines[:2])
return lines
def Insert_data():
db_user = "XXXXXXX"  # replace this with correct user name
db_password = "********"  # Set the environment variable DB_PASSWORD
db_connection_name = "***********"# repalce this with correct database name
#db_driver = "oracle.jdbc.OracleDriver","C:/Oracle/32bitclient/product/11.2.0/client_1/jdbc/lib/ojdbc6.jar"
print("Connecting Now!!")
con = cx_Oracle.connect(db_user,db_password,db_connection_name)
print("Connected to Oracle!!")
lines=Create_list()
#print lines
cur=con.cursor()
print("Inserting data")
cur.executemany("INSERT INTO BRIODB.A608232_QUERY_RESULT ('InteractionId','QueryId','Score','StartOffsetInMs','EndOffsetInMs','SpeakerRole','QueryIdentity','SpeakerId') VALUES(:1,:2,:3,:4,:5,:6,:7,:8)",lines)
con.commit ()
cur.close()
print("completed")

如果我打印行 [:1] 和行 [:2],这是我得到的输出:

[['InteractionId', 'QueryId', 'Score', 'StartOffsetInMs', 'EndOffsetInMs', 
'SpeakerRole', 'QueryIdentity', 'SpeakerId']]
[['InteractionId', 'QueryId', 'Score', 'StartOffsetInMs', 'EndOffsetInMs', 
'SpeakerRole', 'QueryIdentity', 'SpeakerId'], ['34118470', '27', '45.63345', 
'89900', '90980', 'U', 'e54fd492-8877-4534-997b-9dbe9a8fbd74', '']]
Inserting data

我无法解决问题。

如果表具有大写列名,则删除插入语句的列列表中列名周围的'。如果 insert 语句中列名的大小写与表中的列名大小写匹配,则'替换为"。后者是引用具有特殊字符的列或列名混合大小写时的方式。

最新更新