问题标签 [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.
python - Python Sqlite3 executemany 中的绑定数量不正确
所以我在 Python 中有一个 sqlite3 数据库,其中是一个我试图添加 1000 个字符串的表。问题是,当我使用 executemany 命令时出现错误
sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用 1,提供了 1000 个。
这是我的代码简化:
我也尝试了最后一个命令的不同形式,但没有运气。这是我在谷歌上能找到的唯一方法。
python - 使用 Execute many from pyodbc 到 SQL Server 的数据框
我正在尝试使用 Pyodbc 将数据从数据帧加载到 SQL Server,它逐行插入并且速度非常慢。
我已经尝试了 2 种在网上找到的方法(中等),但我没有发现性能有任何改进。
尝试在 SQL azure 中运行,因此 SQL Alchemy 不是一种简单的连接方法。请找到我遵循的方法,还有其他方法可以提高批量加载的性能。
方法一
方法二
谁能告诉我为什么性能没有提高 1%?它仍然需要相同的时间
python - (fast_executemany = True) 错误“[ODBC Driver 17 for SQL Server]强制转换规范 (0) (SQLExecute)'的字符值无效)”
我正在使用 pyodbc 中的 (executemany) 函数将数据填充到 mssql 数据库中。这是我的代码:
它工作正常,但如果我取消注释该行cursor.fast_executemany = True
,则会出现以下错误:
以下是我的表:
格式有问题吗?使用时我缺少什么cursor.fast_executemany = True
?
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 行,然后它失败了,没有任何反应。
你能指导我如何解决这个问题吗?
我收到以下错误:
python - 使用 sqlalchemy 加速插入 Sybase 中的临时表
在插入 sybase 临时表时,我的性能非常差 - 只有 1000 行,大约需要 10 秒。1000 行需要 46 秒,10000 行需要几分钟。我将有大约 100k 行。有什么办法可以加快这个插入速度吗?可能是 Sybase 中的临时表配置不正确 - 如果是这样,我需要向我的 DBA 询问有关配置的信息吗?
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)")
下面这个仅适用,但再次运行时会添加重复项。
node.js - Node.js + Oracledb + executeMany + batchErrors + Promise:如果出现错误则不执行所有
我将 BatchError 与 executeMany 一起使用
如果没有错误..一切正常
但如果一个或多个错误.. 它不会执行。它给出 rowsAffected = 错误行号
我的代码:
如果我执行上面的代码,就会出现这个错误(USER_CODE 是 pk):
{ "rowsAffected": 2, "batchErrors": [ { "errorNum": 1, "offset": 1 } ] }
我也期望 rowsAffected = 3,第一项未添加到 TABLE
谢谢
python - Python:在python中使用executemany()批量上传Oracle表的记录
在上面的代码 function_togetNounsAndVerbs(allSummeries) 中,此函数将返回列表。我收到以下异常:
请帮我解决一下这个。或者我还有什么其他方法可以做到这一点。最初,我曾经使用cursor.execute()一次更新单行, 但这非常耗时。为了尽量减少我使用批量上传的时间(即 cursor.executemany() )
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 设置:
python - SQLite executemany 要求比预期更多的值
我正在尝试使用 SQLite 将列表插入数据库,第一个值是带有AUTOINCREMENT
属性的 id。这是代码:
我也试过这样做:
但在这两种情况下,我都遇到了同样的错误:
这个答案对我不起作用。
谢谢。