问题标签 [batch-updates]

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 投票
5 回答
4668 浏览

c# - C# 使用存储过程批量更新数据库

我想运行我的更新存储过程来更新表中的两列(该表还有许多其他列)。

目前我已经实现如下 -

因此,如您所见,上面的代码正在为集合中的每个对象调用数据库。

我浏览了一些“从 C# 到 SQL Server 的批量更新”的链接,但是这些链接中的大多数都建议在 C# 代码中加载表,更新表行,然后调用 DataAdapter.Update()。

但是,只是想知道是否有任何其他已知方法可以不同地处理这种情况 - 我的意思是我不想将整个表加载到内存中,因为它还有许多其他列数据。

请指导。

0 投票
2 回答
15295 浏览

spring - Spring JdbcTemplate batchUpdate 处理异常

目前我们的代码使用 JdbcTemplate 的 batchUpdate 方法进行批量插入。

我的问题是,如果其中一个更新出现任何异常,如何处理它(假设只是添加日志)并继续执行下一个更新 sql 语句?

还有 JdbcTemplate 的 batchUpdate() 方法如何处理异常?

片段在这里。

0 投票
1 回答
198 浏览

wcf - 使用 Entity Framework 4.0 从 WCF 层后面编辑 windows 窗体上的 datagridview

我正在使用跨 WCF 层的自跟踪实体在 Windows 窗体应用程序上绑定 datagridview。一切正常。

我的问题是,当我编辑一个单元格时,当我移出 (cellendedit) 时,该行显示干净。有这个小图标,在您编辑时显示该行是脏的,并且应该继续显示,直到您保存数据。

基本上,当我离开牢房的那一刻,我就会失去对脏状态的更改。现在,我实际上可以通过创建更新对象列表并在循环中更新它们来手动更新要更新的更改。但是,我想知道是否有一种更简洁的方法允许在 EF 中开箱即用地进行批量更新。

请让我知道。

0 投票
1 回答
1305 浏览

oracle - Oracle 上的缓慢批量更新

在旧的 Oracle 服务器(据我所知是 8i)上使用 JDBC 时,我遇到了一个非常令人困惑和奇怪的问题。我在那里准备了一张桌子,里面有大约 10 列、数字、varchars、一个 raw(255) 和一些日期,没有限制,没有键等。在那方面,一切都可能很快。之后,我的应用程序似乎真的很慢(在大约 30-50 秒内插入 25,000 个数据......)。我的环境是几乎最新的 1.6 JDK,来自 10.2.0 Oracle 的 ojdbc14 驱动程序。所以我删掉了那个代码部分并分别测试了这些东西。关于代码的一些背景信息,这是它的基本部分

我认为这很简单。我还尝试使用本地 H2 DB 进行此操作,速度非常快,甚至 500,000 个数据也需要 0 毫秒才能将其插入相同的结构(显然不是 0 毫秒,只是它太快了,我无法测量它)。我今天将尝试使用 ojdbc6 和更新的 oracle。我的怀疑是 ojdbc14 驱动程序和 jdk 1.6.idontknow 相互之间存在一些问题。

我在处理 FINEST 级别的executeBatch时追踪了 ojdbc14 ,我看到了我认为的数千个转换,oracle.jdbc.driver.DBConversion.stringToDriverCharBytes等等。这些代码大部分时间都过去了,正如我所见,只有最后一个命令才是“真正的交易”。提交、参数化 pstmt 等并不慢,只是 executeBatch。

仅供参考,用这个旧的 jdbc 驱动程序读取速度很快,只是插入速度非常慢。

那么,大家有什么想法吗?我可以使用什么样的驱动程序来使这些更快并至少与一些基本操作兼容所有可用的数据库?

0 投票
1 回答
4204 浏览

mysql - 如何在批量更新查询(Java、MySQL)中获取自动增量值?

我正在使用 Spring-Jdbc 模板(第一个计时器)来创建 MySql 存储库。我有使用 AutoIncrement 列作为主键的表。

我想知道是否有办法通过每个成功的批量创建语句获取新生成的 ID(autoInc)?

任何指针或样本都会有很大帮助。

谢谢潘克斯

0 投票
1 回答
1983 浏览

java - 如何将行从选择查询动态插入到java中的另一个表?

我有一个返回结果集的选择查询(使用准备好的语句)。例如查询可以是:

我希望这个查询的结果插入到另一个表中,选择查询存储在数据库中,通常是一个连接查询,所以我不知道表的列,它的每一行是如何可能的结果集以在表单中插入行:

0 投票
1 回答
4464 浏览

sql - 如何找到导致 BatchUpdateException 的值?

我正在使用 Spring JDBCTemplate 在 Oracle 10g 数据库中执行几千行的批处理更新(插入)。为了测试我的错误处理,我确保我得到一个关于最大长度的异常。

我得到以下(预期的)异常:

引起:org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; SQL [INSERT INTO同事(col_id,col_code,col_description,pers_id)VALUES(?,?,?,?)]的未分类SQLException;SQL状态[72000];错误代码 [12899];ORA-12899: 列 "MYSCHEMA"."COLLEAGUES"."COL_DESCRIPTION" 的值太大(实际值:57,最大值:40);

嵌套异常是 java.sql.BatchUpdateException: ORA-12899: value too large for column "MYSCHEMA"."COLLEAGUES"."COL_DESCRIPTION"(实际:57,最大值:40)

我的问题是,导致此异常的 col_description 的值是什么?如您所见,查询不显示实际值,而仅显示 ? 的准备好的声明。

0 投票
1 回答
2036 浏览

java - ORA 000001 违反唯一约束

我对具有 dep_id 和 emp_id 主键的表有一个插入语句。我的 java 程序为新记录生成一个新的 emp_id 并插入它。例如,如果我有 dep_id = 100 和 emp_id = 25,我无法插入 dep_id = 100 和 emp_id = 26 的记录,但我可以插入 dep_id = 100 和 emp_id = 27 的记录。我通过检查如果存在某种组合(dep_id = 100 和 emp_id = 26),则选择语句。没有那种东西。我仍然从 dep_id = 100 和 emp_id = 26 处删除并提交只是为了确定,然后尝试插入,但它仍然不起作用。可能有什么问题?以下是代码:修改后的 DDL 和 Insert 语句(从 Eclipse 控制台获得)

)

请注意,Insert 语句本身有另一个 Insert 语句作为值。这个插入语句(主要的)在应用程序的许多其他地方使用。另外,我使用 100 的 dep_id 是一个测试 dep_id。除了我,没有人使用它。

0 投票
1 回答
1633 浏览

android - 基于 2 个字段通过 contentProvider 批量插入/更新

我正在创建一个 contentProvider ,并且我希望能够使用单个批处理操作向它发送多个数据库记录(contentValues)以插入或更新到单个表中。

我怎么做?

batchInsert 仅用于插入,但这是否意味着插入已经存在的东西不会做任何事情?

另外,更新操作有没有办法使用特殊约束?例如,我需要忽略主键并根据另外两个唯一的字段进行更新。

0 投票
1 回答
336 浏览

ado.net - 如何跟踪批量更新中哪一行更新失败

我正在使用try catch块使用ADO.NET2.0进行批量更新,UpdateBatchSize设置为500,我经常可以捕获异常,但我不知道哪一行更新失败,有没有办法得到实际失败的行?