【发布时间】:2019-09-21 10:08:09
【问题描述】:
我在将行插入数据库时遇到问题。只是想知道是否有人知道为什么会这样?当我避免使用 fast_executemany 但插入变得非常慢时,它可以工作。
driver = 'ODBC Driver 17 for SQL Server'
conn = pyodbc.connect('DRIVER=' + driver + ';SERVER=' + server+ \
';UID=' + user+ ';PWD=' + password)
cursor = conn.cursor()
cursor.fast_executemany = True
insert_sql = """
INSERT INTO table (a, b, c)
VALUES (?, ?, ?)
"""
cursor.executemany(insert_sql, insert_params)
---------------------------------------------------------------------------
MemoryError Traceback (most recent call last)
<ipython-input-12-e7e82e4d8c2d> in <module>
2 start_time = time.time()
3
----> 4 cursor.executemany(insert_sql, insert_params)
MemoryError:
【问题讨论】:
-
碰巧你是在 Linux 机器上运行这个 Python 代码吗?如果是这样,它是什么分布/环境?
-
你用的是什么版本的pyodbc?
-
@GordThompson 我在 Windows 10 上运行它
-
@EdekiOkoh 它正在使用 4.0.25
-
该表是否有任何
TEXT或NTEXT列?如果是这样,那么this GitHub issue 可能会很有趣。
标签: sql-server python-3.x pyodbc