问题标签 [bulk-load]

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

django - Django bulk_create 忽略导致 IntegrityError 的行?

我正在使用 bulk_create 将数千行或行加载到 postgresql 数据库中。不幸的是,有些行导致 IntegrityError 并停止了 bulk_create 进程。我想知道是否有办法告诉 django 忽略这些行并尽可能多地保存批处理?

0 投票
1 回答
6987 浏览

postgresql - 更改数据的时区值

我必须导入没有时区信息的数据(但是,我知道我要导入的数据的具体时区),但我需要timestamp with time zone数据库中的格式。一旦我导入它并将时间戳数据类型设置为timestamp with time zone,Postgres 将自动假定表中的数据来自我的时区并将我的时区分配给它。不幸的是,我要导入的数据不是来自我的时间范围,所以这不起作用。

该数据库还包含具有不同时区的数据。但是,一个表中的时区始终是相同的。

现在,我可以在导入数据(使用命令)之前将数据库的时区设置为我要导入的数据SET time zone的时区,并在导入完成后将其更改回我的时区,我很确定已经存储的数据不受数据库时区变化的影响。但这似乎是一种非常肮脏的方法,以后可能会导致问题。

我想知道是否有一种更优雅的方式来指定导入的时区,而数据本身没有时区数据?

另外,我还没有找到在导入后编辑时区信息的方法。有没有办法不转换,而只是编辑整个表的时区,假设整个表具有相同的时区偏移量(即,如果在数据输入/导入时分配了错误的时区)?

编辑:
我设法在导入时指定了一个时区,整个命令是:

然后使用会话时区导入数据。我认为这对同时来自其他连接的数据库上的任何其他查询没有影响?

编辑 2:
我后来发现了如何更改表的时区:
PostgreSQL update time zone offset

我想在导入后更改表的时区然后使用 session 临时更改本地时区会更优雅。当然,假设整个表具有相同的时区。

所以现在的代码应该是这样的:

0 投票
2 回答
597 浏览

performance - ORACLE 10G 使用 FORALL 删除

我有一个 txn 表,每个月有 200 万行我正在使用存储过程将数据加载到该表中。如果在我的过程中失败并且我曾经再次加载,我需要使用以下方法删除事务。

我可以在这里使用批量收集吗,但是在 where 子句中我需要

请建议我如何使它快速

0 投票
1 回答
1894 浏览

xml - 无法创建 Active X 对象

我遇到了一个错误,我无法弄清楚代码有什么问题。当我尝试创建一个对象时会发生这种情况(objbl = CreateObject("SQLXMLBulkLoad.SQLXMLBulkload.4.0"))。

我错过了什么吗?

这是异常错误:

System.Exception 被捕获 Message="无法创建 ActiveX 组件。" Source="Microsoft.VisualBasic" StackTrace: 在 Microsoft.VisualBasic.Interaction.CreateObject(String ProgId, String ServerName) 在 XMLshredapp.XMLShredApp.InitBulkLoad() 在 C:\ShredApp\XMLshredapp\XMLShredApp.vb:line 460 InnerException:

0 投票
1 回答
1500 浏览

xml - XML 文件导入到具有多个子项的 SQL 数据库

我正在尝试将 XML 文件导入 SQL Server 数据库。请查看代码和 xml 文件。提前致谢。

我试图用谷歌搜索很多页面,但所有页面都只处理一个孩子(或如何称呼它)。

但在我真正的 xml 中,结构就像

我们需要创建一个存储过程,当我们获取 XML 文件时将调用该存储过程。

再次感谢彼得

SQL 代码:

要测试的 XML 文件:

0 投票
1 回答
758 浏览

sql - SQLXMLBulkLoad:COMExecption 被捕获,连接到数据源时出错

尝试执行 SQLXMLBulkLoad 时遇到此错误。这是对象的配置:

源和目标都在 locahost 上。

我看不到我的连接字符串有什么问题。

错误发生在这一行:

谁能帮我一把?

0 投票
0 回答
553 浏览

hbase - Hbase Importtsv java.lang.IllegalArgumentException:无法读取分区文件错误

我有一个分布式集群,当使用 importtsv 运行批量上传命令时,它给了我java.lang.IllegalArgumentException:无法读取分区文件错误,而且它有一个本地作业运行器正在运行。它可以在不指定选项的情况下从本地系统很好地导入-Dimporttsv.bulk.output任何关于此的指针都会非常有帮助

TIA

0 投票
1 回答
322 浏览

c++ - 使用空间索引库批量加载 R* 树

在使用空间库成功构建 R* 树后,将记录一一插入 250 万次,我试图通过批量加载创建 R* 树。我实现了 DBStream 类以迭代地将数据提供给 BulkLoader。本质上,它调用以下方法并为 Bulkloader 准备一个 Data(代码中的 d 变量)对象:

我初始化 DBStream 对象并通过以下方式调用批量加载:

批量加载调用我的 next() 和 hasNext() 函数,检索我的数据,对其进行排序,然后在构建阶段分割故障。有什么线索吗?是的,错误是:

0 投票
2 回答
3290 浏览

sql-server - 引用自动递增父 ID 的批量加载 XML

简而言之:我想对 SQL Server (2008) 数据库进行 XML 批量加载,并为父级生成自动增量 ID,可以在子级中使用。这似乎受到范围的限制:父节点尚未完成,因此尚未插入。有人知道解决这个问题的方法吗?

更长的描述(对不起,它真的很长,但我尽量完整):

从一个客户那里,我得到了很多具有相似结构的 XML 文档,从中可以生成一个测试数据库。它们被导出以供其他工具使用,我的客户没有权限也没有联系来影响结构或内容。(这些工具是由另一方为母公司编写的。)他也没有对 XML 或导出它们的数据库的正式描述。

事实证明,“顶级”XML 节点<Registration>确实有 ID,但它们在文档中并不是唯一的。(顶部节点是相对的,它们确实有一个根节点和一个列表节点,但在 XML 中它们是进入数据库的最高元素。)ID 可以在其他 XML 文档中使用,因为它们引用到<Case>不在导出中的另一个对象。所以我需要生成自动增量ID,以保持所有<Registration>元素的唯一性,即使跨文件也是如此。

我的<Registration>-node 有很多女儿,例如<Activity>-node。这些节点需要引用它们的父节点,因此它们应该使用生成的 auto-increment-id。但是,由于它们是未完成父节点的一部分,因此父节点仍在范围内,并且尚未插入表中,如msdntechnet上的“记录子集和密钥排序规则”中所述。但是,这些站点上的示例具有明确的唯一CustomerIdID,而不是自动生成的 Id。

尽管这个关于“密钥排序规则”的文档看起来无法做到这一点,但我不能相信对于缺少(唯一)ID 的 XML 文件没有办法解决这个问题。更奇怪的是:它确实在 child 中插入了一个 parent-id,但数字低了一个。所以我假设这是前一个范围的自动增量 ID(其中 0 是默认值,尚未插入任何内容,我确实希望为 NULL)。所以我确实看到了一种解决方法:之后增加我的子表中的父键(UPDATE Activity SET RegistrationId = RegistrationId + 1)。但是,这确实需要保持一个限制 ( WHERE TimeStamp > ...) 并且不需要其他(手动或脚本)干预。

我已经尝试了很多不同的关系船和 VB 脚本(例如,我更喜欢自动生成我的表格),但我只会发布我的最新尝试。这也将用于说明从前一个范围插入自动增量 ID。

我的主要问题是:

  • 是否有可能获得正确的自动递增父 ID?

但也欢迎其他提示,例如:

  • CREATE TABLE在 SQL 中没有显式语句的情况下,使用什么设置自动生成自动增量标识?

生成表格:

要导入的 XML 文件:

用于测试上传的 VB 脚本(我想稍后在程序中包含一个循环,以处理多个文件):

XSD:

结果表(注意减RegistrationId一):

编辑:这比我想象的还要糟糕。如果我再次添加记录,外键(子键)再次从 0 开始!所以很难甚至不可能确定更正(每张表)应该是什么:

0 投票
1 回答
2548 浏览

java - 批量 API 错误:标准 Salesforce 对象上的 Upsert

我们正在使用 Bulk Api 来更新自定义和标准 Salesforce 对象的记录。它适用于自定义对象,但是当我们尝试对标准 Salesforce 对象执行 Upsert 操作时说:帐户,指定无效外部 ID 的错误指定为:

[AsyncApiException exceptionCode='InvalidJob' exceptionMessage='提供的字段名称,名称与外部 ID、Salesforce Id 或客户的索引字段不匹配']

我们通过 java 代码提供 Name 作为外部 ID。