问题标签 [executemany]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
207 浏览

python - Python Sqlite3 executemany 中的绑定数量不正确

所以我在 Python 中有一个 sqlite3 数据库,其中是一个我试图添加 1000 个字符串的表。问题是,当我使用 executemany 命令时出现错误

sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用 1,提供了 1000 个。

这是我的代码简化:

我也尝试了最后一个命令的不同形式,但没有运气。这是我在谷歌上能找到的唯一方法。

0 投票
2 回答
2425 浏览

python - 使用 Execute many from pyodbc 到 SQL Server 的数据框

我正在尝试使用 Pyodbc 将数据从数据帧加载到 SQL Server,它逐行插入并且速度非常慢。

我已经尝试了 2 种在网上找到的方法(中等),但我没有发现性能有任何改进。

尝试在 SQL azure 中运行,因此 SQL Alchemy 不是一种简单的连接方法。请找到我遵循的方法,还有其他方法可以提高批量加载的性能。

方法一

方法二

谁能告诉我为什么性能没有提高 1%?它仍然需要相同的时间

0 投票
1 回答
1796 浏览

python - (fast_executemany = True) 错误“[ODBC Driver 17 for SQL Server]强制转换规范 (0) (SQLExecute)'的字符值无效)”

我正在使用 pyodbc 中的 (executemany) 函数将数据填充到 mssql 数据库中。这是我的代码:

它工作正常,但如果我取消注释该行cursor.fast_executemany = True,则会出现以下错误:

以下是我的表:

格式有问题吗?使用时我缺少什么cursor.fast_executemany = True

0 投票
0 回答
202 浏览

python - Python3 ODBC 执行许多

我正在尝试使用 python odbc 库将数据从 1 个 oracle 表复制到另一个模式中。这就是我正在做的

source = SomeString (source Oracle DataTable) target = SomeString (target Oracle DataTable)

连接到数据源以检索数据: source_data = pyodbc.connect(source) source_cursor = source_data.cursor()

连接到目标数据源 target = pyodbc(target) target_cursor = target.cursor()

我现在声明我的源数据查询 source_query = SELECT * FROM TABLE where TYPE = X

我将数据放入数据框中,然后将其转换为列表 data = pd.read_sql(source_query, source) data = data.values.tolist()

我现在正试图将我的“数据”列表中的数据插入到我的目标表中。我声明了一个插入语句,然后按如下方式运行 executemany:

sql = "INSERT INTO SCHEMA.TABLE (column1, column 2, etc...) Values (?,?, etc..)

现在,由于我建立了数据和目标连接,因此我执行以下操作 target_cursor.executemany(sql, data)

我在下面收到以下错误,奇怪的是代码在新表中正确插入了 1 行,然后它失败了,没有任何反应。

你能指导我如何解决这个问题吗?

我收到以下错误:

0 投票
1 回答
426 浏览

python - 使用 sqlalchemy 加速插入 Sybase 中的临时表

在插入 sybase 临时表时,我的性能非常差 - 只有 1000 行,大约需要 10 秒。1000 行需要 46 秒,10000 行需要几分钟。我将有大约 100k 行。有什么办法可以加快这个插入速度吗?可能是 Sybase 中的临时表配置不正确 - 如果是这样,我需要向我的 DBA 询问有关配置的信息吗?

0 投票
2 回答
41 浏览

executemany - 尝试在重复上使用时出现语法错误

pyodbc.ProgrammingError: ('42000', u"[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]关键字'ON'附近的语法不正确。(156) (SQLExecDirectW); [42000] [Microsoft] [SQL Server Native Client 11.0][SQL Server]无法准备语句。(8180)")

下面这个仅适用,但再次运行时会添加重复项。

0 投票
3 回答
246 浏览

node.js - Node.js + Oracledb + executeMany + batchErrors + Promise:如果出现错误则不执行所有

我将 BatchError 与 executeMany 一起使用

如果没有错误..一切正常

但如果一个或多个错误.. 它不会执行。它给出 rowsAffected = 错误行号

我的代码:

如果我执行上面的代码,就会出现这个错误(USER_CODE 是 pk):

{ "rowsAffected": 2, "batchErrors": [ { "errorNum": 1, "offset": 1 } ] }

我也期望 rowsAffected = 3,第一项未添加到 TABLE

谢谢

0 投票
2 回答
166 浏览

python - Python:在python中使用executemany()批量上传Oracle表的记录

在上面的代码 function_togetNounsAndVerbs(allSummeries) 中,此函数将返回列表。我收到以下异常:

请帮我解决一下这个。或者我还有什么其他方法可以做到这一点。最初,我曾经使用cursor.execute()一次更新单行, 但这非常耗时。为了尽量减少我使用批量上传的时间(即 cursor.executemany() )

0 投票
1 回答
172 浏览

sql-server - Linux上的pyodbc fast_executemany在插入时出现乱码

我有以下代码,在 Windows 上运行良好,在 Linux 上失败:

我正在插入并清空使用以下 SQL 创建的 SQL Server 表:

返回的错误是:

违反主键约束“PK__TestStrT__3FBEE7404FA9AB3B”。无法在对象“dbo.TestStrTbl”中插入重复键。重复键值为 (?)。

当我使用相同的连接读取或使用完整的字符串插入时,例如

这很好用。另一种可能性是 let cursor.fast_executemany = False,那么它也可以在 Linux 上运行。我能做些什么来解决这个问题?

pyodbc==4.0.24在 Ubuntu Linux 上运行 Python 3.7.8。谢谢你的帮助。


更新

以下是 unixODBC 设置:

0 投票
1 回答
124 浏览

python - SQLite executemany 要求比预期更多的值

我正在尝试使用 SQLite 将列表插入数据库,第一个值是带有AUTOINCREMENT属性的 id。这是代码:

我也试过这样做:

但在这两种情况下,我都遇到了同样的错误:

这个答案对我不起作用。

谢谢。