【发布时间】:2016-10-15 15:27:29
【问题描述】:
在python 中,我有一个从一个数据库中选择数据的过程(Redshift 通过psycopg2),然后将该数据插入SQL Server(通过pyodbc)。我选择进行读/写而不是读/平面文件/加载,因为行数约为每天 100,000。似乎更容易简单地连接和插入。但是 - 插入过程很慢,需要几分钟。
有没有更好的方法使用 Pyodbc 将数据插入 SQL Server?
select_cursor.execute(output_query)
done = False
rowcount = 0
while not done:
rows = select_cursor.fetchmany(10000)
insert_list = []
if rows == []:
done = True
break
for row in rows:
rowcount += 1
insert_params = (
row[0],
row[1],
row[2]
)
insert_list.append(insert_params)
insert_cnxn = pyodbc.connect('''Connection Information''')
insert_cursor = insert_cnxn.cursor()
insert_cursor.executemany("""
INSERT INTO Destination (AccountNumber, OrderDate, Value)
VALUES (?, ?, ?)
""", insert_list)
insert_cursor.commit()
insert_cursor.close()
insert_cnxn.close()
select_cursor.close()
select_cnxn.close()
【问题讨论】:
标签: python sql-server pyodbc