问题标签 [controlfile]

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 回答
41 浏览

sql-loader - 清除数据然后加载数据

我正在运行下面的脚本以将数据从 .csv 文件插入到 oracle 表 A。如何更新代码以首先清除表 A 的数据,然后使用一个文件插入数据。

0 投票
1 回答
54 浏览

database - 当我使用 SQL LOADER 控制文件读取分隔文件时,它的第一个位置被跳过

我有一个使用 Cntrl 文件读取的分隔文件。正在跳过所有内容行的第一个位置值。

数据文件:

控制文件:

此处 ROWID_OBJECT 列仅获得 79 而不是 379 的值。任何建议表示赞赏。

0 投票
1 回答
2055 浏览

oracle - 如何在 Oracle 中运行控制文件

我有一个控制文件来将数据从平面文件加载到表中。下一步是什么?如何运行此文件来加载数据?我有 Oracle SQL Developer 和 SQL*PLUS

0 投票
1 回答
134 浏览

oracle - 必须使用 SQL 加载器的控制文件避免所有记录多次出现

我想避免使用 SQL Loader 将所有记录插入到表中。我们要插入的表有一个超过 3 列的主键。每当发生重复时,代码都会因主键违规而失败。

我需要在使用控制文件插入时跳过/避免在数据文件中出现多次的所有记录。有人可以帮我吗?

有没有办法通过在控制文件本身中添加一些条件来跳过这些记录?

0 投票
1 回答
775 浏览

oracle - 如何使用 SQLLDR 加载毫秒精度日期

我正在尝试使用sqlldr. 例如,我有一个日期:
"2020-01-05-16.32.02.070000"在我的 csv 导入文件中。

在我的 sqlldr 控制文件中,我尝试了: LASTMODIFIED DATE "YYYY-MM-DD-HH24.MI.SS.FF6",

但是 sqlldr 抛出错误: ORA-01821: date format not recognized

所以我可以将我的格式字符串更改为LASTMODIFIED DATE "YYYY-MM-DD-HH24.MI.SS",

当然如果无法加载,因为:

我可以从我的数据中排除亚秒级的准确性,然后它就可以很好地导入,但显然这是次优的。我如何才能sqlldr接受这些数据字符串?

PS。我检查了 SQL Developer 并看到目标表配置为具有相同的小数位数。

用装载机控制文件更新

那是不起作用的,ORA-01821: date format not recognized如果我破解.FF它,它将加载日期的缩减版本。

PS不要担心不同的表名。我正在将一大堆数据从 DB2 迁移到 Oracle,并且有很多表,但问题都是一样的

0 投票
1 回答
49 浏览

sql-loader - 使用 sql loader 限制无效的日期格式数据

我想加载日期格式为“MM/DD/YYYY”的数据,但目前在输入文件中面临以下数据的挑战。

例如,根据下面的代码,它允许 09/01/20 和 09/11/2020。但我想拒绝 09/01/20,因为 YYYY 不是 4 位数字。

我怎样才能拒绝这些数据?

代码:

0 投票
1 回答
57 浏览

oracle - Oracle SQL Loader 控制文件忽略省略号

我有一个基于文本文件中位置的 Oracle SQL Loader 控制文件。一个特定的字段会定期从源中获取省略号'...',这会导致加载表中的回车。无论我要求'...'这些用户不使用多少次,最终都会有人忘记,或者由于人员流动等原因。这是该字段的当前控制文件行:

是否有任何命令可以添加到此行以忽略省略号等特殊字符?

0 投票
0 回答
39 浏览

postgresql - 带有双引号的 PG_BULKLOAD 空值到时间戳字段

我正在尝试使用 pg_bulkload 13 将一些数据插入到 Postgres db。但是,我遇到了一些由双引号 ("") 引用到时间戳字段的空(null)值的问题。如果字段类型是字符,则没有问题。您能帮忙解决以下问题吗?

  1. 输入文件。第一条记录插入成功,但第二条记录被解析。
  1. 表结构。
  1. pg_bulkload 日志
0 投票
0 回答
54 浏览

oracle - 如何使用 VBScript 捕获 SQL 加载程序退出代码

我想将退出代码值分配给 VBScript 变量。我正在通过 VBScript 的 SQL 加载器技术加载数据。

示例 vbscript 代码:

我已在此处阅读此文档,它解释了退出代码。但我想在 VBScript 中打印该值。示例:msgbox(退出代码)

先感谢您。

0 投票
1 回答
200 浏览

sql - Oracle SQL Loader 控制文件:使用 WHEN 上传不同表中的标头

我收到一个文件,其中包含:

  • 一个标题,以字符串标题开头,后跟一些列;
  • 正文:第一行(标题)之后的所有其他行。

我知道只有标题会以字符串“HEADER”开头,所以我想我可以在我的控制文件中使用 WHEN 条件检查它,这是必要的,因为我必须将标题的内容插入表中,并将正文插入另一个表,所以我创建了以下控制文件:

但我知道正文行已正确插入,但标题行未正确插入(它说“ANNO”是一个无效数字,但不是)。

“酷”的部分是,如果我反转插入标题而不是正文的位置(再次无效的“ANNO”)。

查看日志,它似乎读取了忽略 where 的两个表的结构,就像它是单个表的内容一样,因为我有:

所以第二个从 NEXT 而不是 FIRST 开始,所以我认为所有的列都被移动了。

我尝试为第二个表添加“POSITION(1) FILLER”,但我得到了关于类型的其他错误。

我的控制文件有什么问题?