问题标签 [sql-loader]

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

database - Oracle 问题:改进传统路径负载的问题,direct=false,提交次数和绑定大小/读取大小

我目前正在做一个学术基准测试,TPC-H,我有一些大表,我想使用直接路径(效果很好并且非常快)和传统路径加载。

为此,我使用了这个批处理脚本:

问题是,无论我为 bindsize 和/或 readsize 选项赋予什么值,它总是从 65534 行提交到 65534 行。我已经通过了 %%B 大小,这是每个表的确切行数。

在直接加载中,我只是在加载孔表后真正使用了行和提交。

我想做类似的事情,但使用传统的加载路径 - 我知道这并不快,但这就是重点。

您能否告诉我如何提供正确的参数,以便我可以: 1- 一次加载尽可能多的数据;
2-提交频率较低,最好在表加载结束时提交。

以下是表的名称和行数:

lineitem 23996604 -> 是最大的,大约有。3GB 磁盘
订单 6000000零件供应
3200000
零件 800000
客户 600000
供应商 40000
国家 25
地区 5

0 投票
1 回答
632 浏览

oracle - Oracle sqlload:将源字段拆分为几列?

我有一个源文件,我想通过我的 Oracle 10g 中的 sqlload 加载

问题是源字段之一可以大于 4000 个字符。是否可以告诉 oracle 将源字段拆分为几列?
假设一列将有 4000 个第一个字符,第二个是 4000 个

谢谢

0 投票
1 回答
2973 浏览

perl - perl中的“没有子进程”错误

我有一个 Perl 脚本,它调用 sqlldr 并将数据从平面文件加载到表中。

现在,我的问题是,即使 sqlldr 很好地加载了表,它也将退出代码返回为 -1(通过使用获得$?),当我尝试使用$!它时说No child processes

我正在使用sudo命令执行此脚本

如果我直接从我的用户 ID 执行这个 Perl 脚本,它就可以正常工作。我真的不明白为什么只有当我通过 sudo 用户执行时才会出现此错误。

请帮助我理解这个错误。

编辑:如果我给出$SIG{CHLD} = 'DEFAULT';我的代码,它工作正常。但是,如果我删除这一步,问题就会再次出现。当我浏览此错误时,我从 WWW 获得了此代码。知道它有什么作用吗?

0 投票
1 回答
3476 浏览

windows - SQL Loader:编写批处理文件(windows)用于处理多个数据文件

我想处理特定文件夹中文件(数据文件)中的所有 .CSV。我的问题是我如何将这个文件名传递给 sql loader,因为每次它都是不同的文件名。

我想将所有这些东西放在一个批处理文件中,以便我可以随时安排它。

任何人都可以帮我吗?

提前致谢....

梅胡尔

0 投票
1 回答
1745 浏览

oracle - 将 DB 时间戳添加到 SQL Loader CSV 导入

我有一个客户的 CSV 文件不包含任何日期。他们想要一个时间戳来指示每一行何时加载到他们的 Oracle 11g 数据库中。CSV 文件由供应商提供,因此我无法修改该文件。我尝试添加默认列值和“插入后”触发器,但没有运气。(性能不是问题,因为这是一个非工作时间流程)。

控制文件如下所示:

该表如下所示:

还有其他想法吗?谢谢。

0 投票
2 回答
5188 浏览

oracle - 使用 sqlldr 将数据从 txt 文件加载到 oracle 表时出错

我的 .ctl 文件是:

我正在从 Windows 命令提示符执行此操作

我收到这样的错误。

我已将ORACLE_HOME变量设置为C:\oracle\product\10.2.0\db_2数据库存储的位置

0 投票
2 回答
366 浏览

sql - 使用 Load when 子句时出现问题?

我需要拒绝外部表中的行,该表~ \以 CSV 文件中的一些特殊字符(例如等)开头(每行的第一列)。

为此,我在LOAD WHEN子句中使用了ACCESS PARAMETERS子句。我一直在 Access 参数子句中使用以下语句:

但它会抛出一个错误,指出“INVALID CHARACTER”

如果我尝试使用以下语句,

它抛出:

程序中的第 101 行是select * from emp;

我如何使用LOAD WHEN子句 - 有什么例子吗?

0 投票
2 回答
4331 浏览

java - 使用来自 java 的 sqlldr

我有一个用于数据库导入的 Java 实用程序。我希望能够在 oracle 上使用 sqlldr 来提高性能。我可以创建controlanddata文件,但这似乎不是 The Right Thing™ 要做的事情。我应该能够通过INFILE "-"在控制文件(q1 - how? echo <data...>? 以前从未使用过Java)。我看不到如何流式传输控制文件本身(q2 - 还是我遗漏了一些明显的东西?)。我可以使用命名管道,但我不知道如何在 Windows 中从 Java 实例化和使用它们(q3 - 这会工作以及如何工作?)。

<moan>为什么预言机必须如此复杂?这在mysql中是微不足道的......<moan>

0 投票
2 回答
11965 浏览

database - 要导入的列中的 SQLLDR 和 NULL 字段检测

SQLLDR 和 CTL 文件

有一个 CSV 文件要导入。

我想在我的 CTL 文件中指定仅在我的 CSV 文件的某个列中有一个空值时才插入到我的表中。EG 我只想上传没有终止日期的用户记录。

我尝试了各种选择

  • 当 TERMINATIONDATE = ''
  • 当 TERMINATIONDATE = ""
  • 当 TERMINATIONDATE = null
  • 当 TERMINATIONDATE = 'null'

它仅在我使用时有效

  • 当 TERMINATIONDATE != '' 然后我得到所有已被终止的员工。但我想要相反的...

毕竟看起来不可能吗?

我的 CTL 文件

(第 8 列只是我不需要的,所以我跳过它)

0 投票
7 回答
181984 浏览

oracle - Oracle:导入 CSV 文件

我一直在寻找一段时间,但似乎无法找到答案,所以这里去......

我有一个 CSV 文件,我想将它导入到 Oracle (9i/10i) 中的表中。

稍后我计划将此表用作其他用途的查找。

这实际上是我正在研究的一种解决方法,因为不可能使用超过 1000 个值的 IN 子句进行查询。

这是如何使用 SQLPLUS 完成的?

谢谢你的时间!:)