Python 从oracle表中检索与csv文件中的ID有关的记录时出错
我希望将ID(在sampledata.csv中)作为SQL查询中的参数传递,并从Oracle表中获取ID和相应的创建时间 sampledata.csv(我在原始文件中有超过5K条记录) 数据库表数据 我尝试使用Toad使用简单的SQL语句获取数据,但记录超过10K,我想将其自动化 first.py脚本 second.py脚本 在上面的代码中,我尝试读取CSV文件中的ID,然后将ID传递到SQL语句中,但出现以下错误。有人能在这方面帮助我理解哪里出了问题以及如何纠正吗 ================================================================= cx_Oracle.DatabaseError:ORA-01484:数组只能绑定到PL/SQL 声明Python 从oracle表中检索与csv文件中的ID有关的记录时出错,python,sql,oracle,Python,Sql,Oracle,我希望将ID(在sampledata.csv中)作为SQL查询中的参数传递,并从Oracle表中获取ID和相应的创建时间 sampledata.csv(我在原始文件中有超过5K条记录) 数据库表数据 我尝试使用Toad使用简单的SQL语句获取数据,但记录超过10K,我想将其自动化 first.py脚本 second.py脚本 在上面的代码中,我尝试读取CSV文件中的ID,然后将ID传递到SQL语句中,但出现以下错误。有人能在这方面帮助我理解哪里出了问题以及如何纠正吗 ==============
id
不应为数组。请尝试int(id[0])
。id
的可能重复项不应为数组。请尝试int(id[0])
。的可能重复项
ID
909650124
905901916
908667528
907963151
908610211
907671207
909164586
905595841
908785942
908785942
ID CREATED_DATE
909650124 03/18/2019 04:37:43 PM
905901916 03/15/2019 11:20:55 PM
908667528 03/15/2019 02:37:16 PM
907963151 03/08/2019 03:19:09 PM
908610211 03/08/2019 03:06:17 PM
907671207 03/07/2019 01:06:58 AM
909164586 03/06/2019 01:42:20 AM
905595841 03/04/2019 11:24:31 PM
908785942 03/03/2019 10:09:40 PM
908785942 03/01/2019 07:51:51 AM
import os
import csv
import cx_Oracle
conn = cx_Oracle.connect(user='USER_NAME', password='USER_PASSWORD', dsn=r'DSN_STRING')
db = conn.cursor()
def main():
f = open("sampledata.csv")
reader = csv.reader(f)
for id in reader:
db.execute("SELECT id, created_date FROM userdata_table WHERE merch_order_id = :id",
{'id': id})
print(f"{id} {created_date}")
conn.close()
if __name__ == "__main__":
main()
import os
import csv
import cx_Oracle
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
engine = create_engine(r'oracle+cx_oracle://USER_NAME:USER_PASSWORD@DSN_STRING'))
db = scoped_session(sessionmaker(bind=engine))
def main():
f = open("sampledata.csv")
reader = csv.reader(f)
print(reader)
for id in reader:
db.execute("SELECT id, created_date FROM userdata_table WHERE id = :id",{'id': id})
print(f"{id} {created_date}")
if __name__ == "__main__":
main()